Script para remover postagens de contas de spam no Mastodon - Excluir postagens de contas de spam no Mastodon
Olá, sou um inútil.
O spam no Mastodon é terrível, então estou disponibilizando um script de remoção.
Este script não se destina a remover usuários de spam. Ele serve para apagar postagens e notificações já recebidas.
Não há garantia de uso, portanto, use por sua própria conta e risco.
https://github.com/haturatu/mastodon-spam-remove/blob/master/spam_remove.rb
Meu ambiente
Devuan + Mastodon 4.2.7 + Ruby 3.2.0
Como usar
※Para sua segurança, mude para o usuário Mastodon, trabalhe com sudo -u mastodon, ou, por fim, certifique-se de sempre operar com as permissões de proprietário definidas para o usuário Mastodon usando chown mastodon:mastodn spam_remove.rb.
Além disso, não se esqueça de fazer backup do seu DB e do Mastodon.
Baixe o script com wget ou copie & cole.
Altere o caminho para onde o environment está localizado no diretório do Mastodon que você está usando.
require_relative '/your/mastodon/live/config/environment’
A detecção é feita apenas com base no seguinte:
Atualmente, a detecção é baseada no número de menções @.
def spam_detected?(message)
message.scan(/@/).size >= 5
end
Salve e conceda permissões de execução.
chmod +x spam_remove.rb
Execute.
./spam_remove.rb
Se houver muitas postagens, pode levar um tempo considerável, então tome cuidado.
Se funcionar corretamente, agende-o para ser executado periodicamente com crontab -e.
No caso do crontab do usuário root:
0 */4 * * * sudo -u mastodon /your/which/ruby/path/shims/ruby /your/file/path/spam_block.rb
No caso do usuário Mastodon:
0 */4 * * * /your/which/ruby/path/shims/ruby /your/file/path/spam_block.rb
No exemplo acima, o script será executado a cada 4 horas.
Postagens com 5 ou mais marcas @ serão excluídas, mesmo que sejam postagens normais do passado com 5 @. Por favor, ajuste os critérios de detecção para lidar com isso.
Tradução por IA
Para sua segurança, certifique-se de mudar para o usuário Mastodon ou usar sudo -u mastodon para realizar a operação. Por fim, certifique-se de sempre realizar a operação com as permissões de propriedade definidas para o usuário Mastodon, executando chown mastodon:mastodon spam_remove.rb. Além disso, lembre-se de fazer backup do seu DB e do Mastodon antes de prosseguir.
Obtenha o script usando wget ou copie e cole-o.
Altere o caminho para o environment localizado no diretório do Mastodon que você está usando.
require_relative '/your/mastodon/live/config/environment'
A detecção é baseada unicamente no número de menções em uma mensagem.
def spam_detected?(message) message.scan(/@/).size >= 5 end
Salve e conceda permissões de execução.
chmod +x spam_remove.rb
Execute o script.
./spam_remove.rb
Tenha cautela, pois pode levar um tempo considerável se houver muitas postagens.
Se operar corretamente, agende-o para ser executado periodicamente com crontab -e. (crontab do root)
0 */4 * * * sudo -u mastodon /your/which/ruby/path/shims/ruby /your/file/path/spam_block.rb
Para o crontab do usuário mastodon
0 */4 * * * /your/which/ruby/path/shims/ruby /your/file/path/spam_block.rb
No exemplo acima, o script será executado a cada 4 horas.
Postagens com cinco ou mais marcas @ serão excluídas, mesmo que sejam postagens regulares com cinco marcas @ no passado. Ajuste os critérios de detecção conforme necessário.