Commit Graph

6 Commits (53b22d247fb8500ea977774d727fe0d41950189c)

Author SHA1 Message Date
ThibG 345bba4812 Exempt staff members from spam check ()
Consider admins and moderators as trusted, for the purpose of the
spam checker.

Fixes 
Eugen Rochko aa509a3d8a
Fix auto-report string saying the account has been auto-silenced ()
Eugen Rochko b5f7e12817
Remove auto-silence behaviour from spam check ()
Fix 
Eugen Rochko 4f6af87906
Change spam check to apply to local accounts and add a threshold ()
Instead of detecting spam on first duplicate message, add a
threshold of 5 such messages to reduce false positives
ThibG 7e2b6da57f Add setting to disable the anti-spam ()
* Add environment variable to disable the anti-spam

* Move antispam setting to admin settings

* Fix typo

* antispam → spam_check
Eugen Rochko 6ff67be0f6
Add a spam check ()
* Add a spam check

* Use Nilsimsa to generate locality-sensitive hashes and compare using Levenshtein distance

* Add more tests

* Add exemption when the message is a reply to something that mentions the sender

* Use Nilsimsa Compare Value instead of Levenshtein distance

* Use MD5 for messages shorter than 10 characters

* Add message to automated report, do not add non-public statuses to
automated report, add trust level to accounts and make unsilencing
raise the trust level to prevent repeated spam checks on that account

* Expire spam check data after 3 months

* Add support for local statuses, reduce expiration to 1 week, always create a report

* Add content warnings to the spam check and exempt empty statuses

* Change Nilsimsa threshold to 95 and make sure removed statuses are removed from the spam check

* Add all matched statuses into automatic report