mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-09-25 15:00:55 +02:00
Display relay info in spam message logs
This commit is contained in:
@@ -4,6 +4,7 @@ import android.util.Log
|
|||||||
import android.util.LruCache
|
import android.util.LruCache
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import com.vitorpamplona.amethyst.service.model.Event
|
import com.vitorpamplona.amethyst.service.model.Event
|
||||||
|
import com.vitorpamplona.amethyst.service.relays.Relay
|
||||||
import com.vitorpamplona.amethyst.ui.components.BundledUpdate
|
import com.vitorpamplona.amethyst.ui.components.BundledUpdate
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
|
||||||
@@ -14,7 +15,7 @@ class AntiSpamFilter {
|
|||||||
val spamMessages = LruCache<Int, Spammer>(1000)
|
val spamMessages = LruCache<Int, Spammer>(1000)
|
||||||
|
|
||||||
@Synchronized
|
@Synchronized
|
||||||
fun isSpam(event: Event): Boolean {
|
fun isSpam(event: Event, relay: Relay?): Boolean {
|
||||||
val idHex = event.id
|
val idHex = event.id
|
||||||
|
|
||||||
// if short message, ok
|
// if short message, ok
|
||||||
@@ -27,7 +28,7 @@ class AntiSpamFilter {
|
|||||||
val hash = (event.content + event.tags.flatten().joinToString(",")).hashCode()
|
val hash = (event.content + event.tags.flatten().joinToString(",")).hashCode()
|
||||||
|
|
||||||
if ((recentMessages[hash] != null && recentMessages[hash] != idHex) || spamMessages[hash] != null) {
|
if ((recentMessages[hash] != null && recentMessages[hash] != idHex) || spamMessages[hash] != null) {
|
||||||
Log.w("Potential SPAM Message", "${event.id} ${recentMessages[hash]} ${spamMessages[hash] != null} ${event.content.replace("\n", " | ")}")
|
Log.w("Potential SPAM Message", "${event.id} ${recentMessages[hash]} ${spamMessages[hash] != null} ${relay?.url} ${event.content.replace("\n", " | ")}")
|
||||||
|
|
||||||
// Log down offenders
|
// Log down offenders
|
||||||
if (spamMessages.get(hash) == null) {
|
if (spamMessages.get(hash) == null) {
|
||||||
|
@@ -187,7 +187,7 @@ object LocalCache {
|
|||||||
// Already processed this event.
|
// Already processed this event.
|
||||||
if (note.event != null) return
|
if (note.event != null) return
|
||||||
|
|
||||||
if (antiSpam.isSpam(event)) {
|
if (antiSpam.isSpam(event, relay)) {
|
||||||
relay?.let {
|
relay?.let {
|
||||||
it.spamCounter++
|
it.spamCounter++
|
||||||
}
|
}
|
||||||
@@ -223,7 +223,7 @@ object LocalCache {
|
|||||||
// Already processed this event.
|
// Already processed this event.
|
||||||
if (note.event?.id() == event.id()) return
|
if (note.event?.id() == event.id()) return
|
||||||
|
|
||||||
if (antiSpam.isSpam(event)) {
|
if (antiSpam.isSpam(event, relay)) {
|
||||||
relay?.let {
|
relay?.let {
|
||||||
it.spamCounter++
|
it.spamCounter++
|
||||||
}
|
}
|
||||||
@@ -543,7 +543,7 @@ object LocalCache {
|
|||||||
// Already processed this event.
|
// Already processed this event.
|
||||||
if (note.event != null) return
|
if (note.event != null) return
|
||||||
|
|
||||||
if (antiSpam.isSpam(event)) {
|
if (antiSpam.isSpam(event, relay)) {
|
||||||
relay?.let {
|
relay?.let {
|
||||||
it.spamCounter++
|
it.spamCounter++
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user