mastodon/app/services
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 Refactor fetching of remote resources (#11251) 2019-07-10 18:59:28 +02:00
concerns Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
account_search_service.rb Improve blocked view of profiles (#10491) 2019-04-07 04:59:13 +02:00
after_block_domain_from_account_service.rb Refactor all ActivityPub deliveries to be serialized and signed through one concern (#10966) 2019-06-04 23:11:18 +02:00
after_block_service.rb Add conversations API (#8832) 2018-10-07 23:44:58 +02:00
app_sign_up_service.rb Admission-based registrations mode (#10250) 2019-03-14 05:28:30 +01:00
authorize_follow_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
backup_service.rb Fix BackupService crashing when an attachment is missing (#11241) 2019-07-08 02:24:25 +02:00
base_service.rb Remove unused AtomBuilderHelper (#1364) 2017-04-11 19:31:22 +02:00
batched_remove_status_service.rb Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` (#11247) 2019-07-07 16:16:51 +02:00
block_domain_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
block_service.rb Fix BlockService trying to reject incorrect follow request (#11288) 2019-07-11 14:50:27 +02:00
bootstrap_timeline_service.rb Add autofollow option to invites (#7805) 2018-06-15 18:00:23 +02:00
fan_out_on_write_service.rb Accept the same payload in multiple inboxes and deliver (#9150) 2018-10-30 15:03:55 +01:00
favourite_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
fetch_link_card_service.rb Refactor fetching of remote resources (#11251) 2019-07-10 18:59:28 +02:00
fetch_oembed_service.rb Fix undefined method error in sidekiq (#9807) 2019-01-14 17:28:41 +01:00
fetch_remote_account_service.rb Refactor fetching of remote resources (#11251) 2019-07-10 18:59:28 +02:00
fetch_remote_status_service.rb Refactor fetching of remote resources (#11251) 2019-07-10 18:59:28 +02:00
fetch_resource_service.rb Add HTTP signatures to all outgoing ActivityPub GET requests (#11284) 2019-07-11 14:49:55 +02:00
follow_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
hashtag_query_service.rb Simplify hashtag query service, perf increase for 'any' tags (#9298) 2018-11-19 12:49:50 +01:00
import_service.rb Export and import show_reblogs together with following list (#10495) 2019-04-08 07:28:27 +02:00
mute_service.rb Add conversations API (#8832) 2018-10-07 23:44:58 +02:00
notify_service.rb Fix poll update handler calling method was that was not available (#10246) 2019-03-12 22:58:59 +01:00
post_status_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
precompute_feed_service.rb Fix code style of regeneration-related code (#9843) 2019-01-18 01:02:51 +01:00
process_hashtags_service.rb Refactor controllers for statuses, accounts, and more (#11249) 2019-07-08 12:03:45 +02:00
process_mentions_service.rb Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` (#11247) 2019-07-07 16:16:51 +02:00
reblog_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
reject_follow_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
remove_status_service.rb Add a spam check (#11217) 2019-07-13 16:45:50 +02:00
report_service.rb Refactor all ActivityPub deliveries to be serialized and signed through one concern (#10966) 2019-06-04 23:11:18 +02:00
resolve_account_service.rb Fix handling of webfinger redirects in ResolveAccountService (#11279) 2019-07-10 17:10:12 +02:00
resolve_url_service.rb Refactor fetching of remote resources (#11251) 2019-07-10 18:59:28 +02:00
search_service.rb Improve blocked view of profiles (#10491) 2019-04-07 04:59:13 +02:00
suspend_account_service.rb Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` (#11247) 2019-07-07 16:16:51 +02:00
unblock_domain_service.rb Change domain blocks to automatically support subdomains (#11138) 2019-06-22 00:13:10 +02:00
unblock_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
unfavourite_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
unfollow_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
unmute_service.rb Fix #231 - Muting 2017-03-02 18:49:32 +01:00
update_account_service.rb Error message for avatar image that's too large. #9204 (#9518) 2018-12-14 05:07:21 +01:00
verify_link_service.rb Rescue SSL error in verify link service (#9914) 2019-01-24 15:38:18 +01:00
vote_service.rb Refactor all ActivityPub deliveries to be serialized and signed through one concern (#10966) 2019-06-04 23:11:18 +02:00