mastodon/app/lib
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
2019-07-13 16:45:50 +02:00
..
activitypub Add a spam check () 2019-07-13 16:45:50 +02:00
connection_pool Add request pool to improve delivery performance () 2019-07-02 00:34:38 +02:00
ostatus Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` () 2019-07-07 16:16:51 +02:00
proof_provider Default to the web domain (eg. mastodon.lubar.me) instead of the local domain (eg. lubar.me) for keybase proofs () 2019-04-21 04:53:24 +02:00
settings Remove intermediary arrays when creating hash maps from results () 2018-11-16 15:02:18 +01:00
activity_tracker.rb Create Redisable#redis () 2019-02-02 19:11:38 +01:00
application_extension.rb Conditional validations no longer accept strings for if/unless () 2017-05-19 03:11:23 +02:00
delivery_failure_tracker.rb After 7 days of repeated delivery failures, give up on inbox () 2017-09-29 03:16:20 +02:00
entity_cache.rb Remove intermediary arrays when creating hash maps from results () 2018-11-16 15:02:18 +01:00
exceptions.rb Detect and prevent image bombs, max. processable dimension 4096^2 () 2018-04-23 09:16:38 +02:00
extractor.rb Using double splat operator () 2017-12-06 11:41:57 +01:00
fast_geometry_parser.rb Fix avatar and header issues by using custom geometry detector () 2018-02-21 03:40:12 +01:00
feed_manager.rb Apply filters to poll options () 2019-06-25 14:45:14 +02:00
formatter.rb Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` () 2019-07-07 16:16:51 +02:00
hash_object.rb Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings 2017-01-12 20:46:24 +01:00
inline_renderer.rb Add conversations API () 2018-10-07 23:44:58 +02:00
language_detector.rb Change language detector threshold from 140 characters to 4 words () 2019-03-26 01:23:59 +01:00
potential_friendship_tracker.rb Create Redisable#redis () 2019-02-02 19:11:38 +01:00
proof_provider.rb Add Keybase integration () 2019-03-18 21:00:55 +01:00
request.rb Add HTTP signatures to all outgoing ActivityPub GET requests () 2019-07-11 14:49:55 +02:00
request_pool.rb Add request pool to improve delivery performance () 2019-07-02 00:34:38 +02:00
rss_builder.rb Add RSS feeds for end-users () 2018-04-25 02:10:02 +02:00
sanitize_config.rb Fix sanitizer making block level elements unreadable () 2019-06-16 21:46:36 +02:00
sidekiq_error_handler.rb Fix statsd UDP sockets not being cleaned up in Sidekiq () 2019-07-02 01:01:17 +02:00
spam_check.rb Add a spam check () 2019-07-13 16:45:50 +02:00
status_filter.rb Fix n+1 queries in StatusThreadingConcern () 2018-05-03 10:41:58 +02:00
status_finder.rb Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` () 2019-07-07 16:16:51 +02:00
tag_manager.rb Refactor domain block checks () 2019-07-09 03:27:35 +02:00
themes.rb Add support for multiple themes () 2017-09-19 16:36:23 +02:00
user_settings_decorator.rb Add option to disable blurhash previews () 2019-06-26 19:33:04 +02:00
webfinger_resource.rb Allow webfinger controller to reply to user@WEB_DOMAIN in addition to user@LOCAL_DOMAIN () 2017-04-23 14:19:54 +02:00