Хотел бы узнать мнение о моей идеи борьбы со спамом в федивёрсе. Возможно я переизобретаю колесо, так что дайте знать в комментариях.
Идея: подписка сервера на спам листы доверенных серверов. То есть, по обычному activitypub протоколу, администратор "фоловит" сервера, которые он считает надёжными (к примеру, mastodon.social) и избегает не надёжные (к примеру, если администрация другого сервера банит целые инстансы из-за одного человека или даже просто по фану *кхм* mastodon.art *кхм*, то спам листам этого сервера не стоит доверять).
Когда модератор на сервере помечает аккаунт или инстанс как спам, то сообщение об этом уходит всем подписавшимся инстансам. Инстансы получив сообщение выполняют команду, которую настроил админ. Естественно, со своей стороны можно будет разбанить человека в случаи ошибки или намеренной цензуры другого сервера.
@mo В целом согласен. Пока сообщение дойдёт и спамер везде будет забанен, несколько уведомлений всё же придёт до пользователей. Но это можно использовать как дополнительный слой, чтобы разгрузить сервер. Не у всех есть деньги на хостинг с фильтрацией. А спам видеть никто не хочет. Да и лишние ресурсы сервера лучше потратить на обработку видео или картинки, а не на +100500 ссылку в дискорд.
@mo ну значит я не умею пользоваться Гуглом, раз уже он мне выдал минимальное требование по памяти 4 Гб :)
> Учитывая то, что мы тут уже федерируем сообщения, федерировать модераторские действия кажется вполне логичным развитием.
Утопия. Работать может только в теории в условиях, когда админы всех инстансов стабильно адекватные люди, но так не бывает. Завтра какой нибудь модератор на каком-то инстансе может поехать кукухой, набухаться или просто быть не в настроении или тупо из личной неприязни кого-то несправедливо забанить. Да и крупные серверы типа mastodon.online и т.п. вряд ли будут котировать решения с мелких инстансов типа mml, lor.sh и т.п. и это логично.
А решение проблемы есть и без модификации протокола. Просто сделать нормальный интерфейс чтобы спам сильно не мешал. Более подробно об этом я уже писал в нескольких постах, например здесь*, здесь* и здесь. (ссылки отмеченные звёздочкой можно просмотреть через федерацию, вставив в поиск вашего инстанса).
@top это необязательно должна быть именно такая наивная реализация, сразу приводящая в исполнение (!) модерационные решения других инстансов. Если вернуться по аналогии к сообщениям, это примерно как если бы подписка на кого-то начинала бустить все их сообщения. В некоторых сценариях может быть полезно, но для поведения по умолчанию это как-то странно.
Это как минимум может быть справочная информация, помогающая модератору принять решение быстрее, исходя из происходящего неподалёку.
Можно также попробовать в порядке эксперимента приводить автоматически в исполнение решения, принятые на нескольких доверенных инстансах *сразу* – что на порядки снизит вред от отдельных модеров-самодуров.
Но этого всего ждать нескоро. Мне кажется, самым быстрым и эффективным решением на текущем этапе будет то, что уже работает для е-почты – фильтры вроде rspamd, быстро подстраивающиеся под новые спам-сообщения и таким образом способные пропускать от спам-волн только гребень. Теоретически.
Rspamd такое себе решение. Попользовавшись несколько лет в итоге выкинул, написав свой велосипед попроще. Проблема rspamd в том что он расчитан на использование на каких-то крупных корпоративных серваках, а для мелкой частной впски потребляет неоправданно много ресурсов и требует к себе слишком много внимания. Оно ещё и капец жирное, к примеру с какой-то версии ещё и фортран зависимости притащил. А после какого-то обновления он ещё и начал в спам кидать локальные уведомления, генерируемые кроном. Ну его нафиг, выкинул. Из альтернатив SpamAsassin, но это такое старьё на перле, не особо лучше.
В итоге самописный велосипед хоть и не отсекает 100% спама, но большую часть. Большую часть мусора отсекается проверкой SPF. У входящих DKIM проверять не стал, анализ спама показал что в большинстве случаев если у спамера и SPF валидный, то валидный и DKIM. Дополнительно проверяю по DNSBL, используя пару выборочных серверов, у которых меньше всего false positive и которые не хранят в своих банах слишком долго (иначе будет много false positive), плюс использую свои чёрные списки, плюс свой honey pot.
Только fediverse это всё не подходит, а аналог DKIM тут и так есть, тут все post запросы шлются с сигнатурой. DKIM, впрочем, не совсем про спам. А вот чего хотелось бы видеть, в том числе и в почте, это улучшение интерфейса: входящие сообщения/события разбивать по группам: сообщения от друзей и подписок, сообщения из групп, на которые подписан, сообщения от ботов, ответы из тредов, в которых я участвовал, сообщения от аккаунтов, с которыми я никак не взаимодействовал ни разу (большая часть спама уйдёт сюда). Это не избавит от спама полностью, но таким образом он не зафлудит всю ленту входящих сообщений, мешать будет сильно меньше.
А все эти "федерирования банов" от спама не помогут. Баны будут распространяться медленно, а если кто-то захочет опять сильно зафлудить сеть, может просто автоматизировать разворачивание новых серверов и флудить, пока вы баните один сервер, он развернёт ещё десятки. А ещё можно спамить с "легитимных" серверов: спамер может подготовить тысячи аккаунтов, постепенно зарегав их вручную на каком нибудь mml, а в час X начать флудить. Пока админ их забанит в течение дня, сеть всё равно будет засрана.
Со спамом нужно просто смириться и сделать нормальный интерфейс чтобы спам не сильно мешал и тогда и спамить будут меньше, т.к. от него будет меньше эффекта.
Не слежу за разработкой, но вряд ли они будут отходить от твиттероподобной концепции. Но и как бы пофиг, Fediverse это не только Мастодон.