Script para eliminar publicaciones de cuentas de spam en Mastodon

3 min

language: ja bn en es hi pt ru zh-cn zh-tw

Hola, soy un incompetente.

El spam en Mastodon es terrible, así que dejo un script para eliminarlo.

Esto no es para eliminar usuarios de spam. Es para borrar publicaciones y notificaciones ya recibidas.
Tenga en cuenta que no se ofrece ninguna garantía sobre su uso, así que úselo bajo su propia responsabilidad.

https://github.com/haturatu/mastodon-spam-remove/blob/master/spam_remove.rb

Mi entorno

Devuan + Mastodon 4.2.7 + Ruby 3.2.0

Cómo usarlo

※Por seguridad, cambie al usuario de Mastodon, trabaje con sudo -u mastodon, o asegúrese de que los permisos de propietario sean siempre del usuario de Mastodon con chown mastodon:mastodon spam_remove.rb al final.
Además, no olvide hacer una copia de seguridad de su base de datos y de Mastodon.

Descargue el script con wget o cópielo y péguelo.

Cambie la ruta al archivo environment que se encuentra en el directorio de Mastodon que está utilizando.

require_relative '/your/mastodon/live/config/environment

La detección se realiza únicamente de la siguiente manera:
Actualmente, se detecta por el número de menciones con '@' en el mensaje.

def spam_detected?(message)
message.scan(/@/).size >= 5
end

Guarde y otorgue permisos de ejecución.

chmod +x spam_remove.rb

Ejecute.

./spam_remove.rb

Tenga cuidado, ya que si hay muchas publicaciones, puede llevar bastante tiempo.

Si funciona correctamente, prográmelo para que se ejecute periódicamente con crontab -e.
Para el crontab del usuario root:

0 */4 * * * sudo -u mastodon /your/which/ruby/path/shims/ruby /your/file/path/spam_block.rb

Para el usuario de Mastodon:

0 */4 * * * /your/which/ruby/path/shims/ruby /your/file/path/spam_block.rb

En lo anterior, el script se ejecutará cada 4 horas.

Las publicaciones con 5 o más marcas '@' serán eliminadas, incluso si son publicaciones normales del pasado con 5 '@'. Por favor, ajuste las condiciones de detección para manejar esto.

Related Posts