mastodon/app/lib
Eugen Rochko 6ff67be0f6
Add a spam check (#11217)
* 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 (#11217) 2019-07-13 16:45:50 +02:00
connection_pool Add request pool to improve delivery performance (#10353) 2019-07-02 00:34:38 +02:00
ostatus Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` (#11247) 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 (#10565) 2019-04-21 04:53:24 +02:00
settings Remove intermediary arrays when creating hash maps from results (#9291) 2018-11-16 15:02:18 +01:00
activity_tracker.rb Create Redisable#redis (#9633) 2019-02-02 19:11:38 +01:00
application_extension.rb
delivery_failure_tracker.rb After 7 days of repeated delivery failures, give up on inbox (#5131) 2017-09-29 03:16:20 +02:00
entity_cache.rb Remove intermediary arrays when creating hash maps from results (#9291) 2018-11-16 15:02:18 +01:00
exceptions.rb Detect and prevent image bombs, max. processable dimension 4096^2 (#7229) 2018-04-23 09:16:38 +02:00
extractor.rb Using double splat operator (#5859) 2017-12-06 11:41:57 +01:00
fast_geometry_parser.rb Fix avatar and header issues by using custom geometry detector (#6515) 2018-02-21 03:40:12 +01:00
feed_manager.rb Apply filters to poll options (#11174) 2019-06-25 14:45:14 +02:00
formatter.rb Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` (#11247) 2019-07-07 16:16:51 +02:00
hash_object.rb
inline_renderer.rb Add conversations API (#8832) 2018-10-07 23:44:58 +02:00
language_detector.rb Change language detector threshold from 140 characters to 4 words (#10376) 2019-03-26 01:23:59 +01:00
potential_friendship_tracker.rb Create Redisable#redis (#9633) 2019-02-02 19:11:38 +01:00
proof_provider.rb Add Keybase integration (#10297) 2019-03-18 21:00:55 +01:00
request.rb Add HTTP signatures to all outgoing ActivityPub GET requests (#11284) 2019-07-11 14:49:55 +02:00
request_pool.rb Add request pool to improve delivery performance (#10353) 2019-07-02 00:34:38 +02:00
rss_builder.rb Add RSS feeds for end-users (#7259) 2018-04-25 02:10:02 +02:00
sanitize_config.rb Fix sanitizer making block level elements unreadable (#10836) 2019-06-16 21:46:36 +02:00
sidekiq_error_handler.rb Fix statsd UDP sockets not being cleaned up in Sidekiq (#11230) 2019-07-02 01:01:17 +02:00
spam_check.rb Add a spam check (#11217) 2019-07-13 16:45:50 +02:00
status_filter.rb Fix n+1 queries in StatusThreadingConcern (#7321) 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` (#11247) 2019-07-07 16:16:51 +02:00
tag_manager.rb Refactor domain block checks (#11268) 2019-07-09 03:27:35 +02:00
themes.rb Add support for multiple themes (#4959) 2017-09-19 16:36:23 +02:00
user_settings_decorator.rb Add option to disable blurhash previews (#11188) 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 (#2351) 2017-04-23 14:19:54 +02:00