mastodon/app/models
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
..
admin Fix option to send e-mail notification about account action always being true (#11242) 2019-07-06 13:54:32 +02:00
concerns Remove Atom feeds and old URLs in the form of GET /:username/updates/:id (#11247) 2019-07-07 16:16:51 +02:00
form Refactor all ActivityPub deliveries to be serialized and signed through one concern (#10966) 2019-06-04 23:11:18 +02:00
web Do no retry web push workers if the server returns a 4xx response (#9434) 2018-12-17 03:14:13 +01:00
account.rb Add a spam check (#11217) 2019-07-13 16:45:50 +02:00
account_conversation.rb Fix crash when conversations have no valid participants (#10078) 2019-02-19 20:00:41 +01:00
account_domain_block.rb Add option to overwrite imported data (#9962) 2019-02-03 03:59:51 +01:00
account_filter.rb Add moderation API (#9387) 2019-06-20 02:52:34 +02:00
account_identity_proof.rb Fix Keybase verification using wrong domain for remote accounts (#10547) 2019-04-10 20:28:43 +02:00
account_moderation_note.rb
account_pin.rb
account_stat.rb Add profile directory (#9427) 2018-12-06 17:36:11 +01:00
account_tag_stat.rb Add profile directory (#9427) 2018-12-06 17:36:11 +01:00
account_warning.rb Add moderation warnings (#9519) 2018-12-22 20:02:09 +01:00
account_warning_preset.rb Add moderation warnings (#9519) 2018-12-22 20:02:09 +01:00
admin.rb
application_record.rb
backup.rb
block.rb
context.rb
conversation.rb
conversation_mute.rb
custom_emoji.rb Add categories for custom emojis (#11196) 2019-06-28 15:54:10 +02:00
custom_emoji_category.rb Add categories for custom emojis (#11196) 2019-06-28 15:54:10 +02:00
custom_emoji_filter.rb Make custom emoji domains case insensitive #9351 (#9474) 2018-12-11 05:30:57 +01:00
custom_filter.rb Fix expiration date of filters being set to “Never” when editing them (#11204) 2019-06-30 16:11:21 +02:00
domain_block.rb Change domain blocks to automatically support subdomains (#11138) 2019-06-22 00:13:10 +02:00
email_domain_block.rb Create DomainNormalizable#normalize_domain (#9631) 2018-12-26 06:38:42 +01:00
export.rb Export and import show_reblogs together with following list (#10495) 2019-04-08 07:28:27 +02:00
favourite.rb
featured_tag.rb Fix featured tag form not failing on failed tag validations (#10167) 2019-03-05 03:46:24 +01:00
feed.rb Create Redisable#redis (#9633) 2019-02-02 19:11:38 +01:00
follow.rb Extract counters from accounts table to account_stats table (#9295) 2018-11-19 00:43:52 +01:00
follow_request.rb Fix MergeWorker being queued for remote users (#10355) 2019-03-24 12:36:26 +01:00
home_feed.rb
identity.rb Change identities id column to a bigint (#9371) 2018-11-27 13:56:25 +01:00
import.rb Add option to overwrite imported data (#9962) 2019-02-03 03:59:51 +01:00
instance.rb Remove expensive counters from federation page in admin UI (#11139) 2019-06-22 00:39:09 +02:00
instance_filter.rb Add domain search/filter to the "Federation" (/admin/instances) page (#10071) 2019-02-18 14:59:19 +01:00
invite.rb
invite_filter.rb
list.rb
list_account.rb
list_feed.rb
media_attachment.rb Fix audio-only OGG and WebM files not being processed as such (#11151) 2019-06-22 16:54:06 +02:00
mention.rb Improve support for aspects/circles (#8950) 2018-10-17 17:13:04 +02:00
mute.rb
notification.rb Add account_id param to GET /api/v1/notifications (#10796) 2019-05-21 13:28:49 +02:00
poll.rb Add support for custom emojis in poll options (#10322) 2019-03-20 17:29:12 +01:00
poll_vote.rb Add optimistic lock to avoid race conditions when handling votes (#10196) 2019-03-06 19:53:57 +01:00
preview_card.rb Add WebP support (#9879) 2019-02-02 12:25:04 +01:00
relay.rb Fix relay enabling/disabling not resetting inbox availability status (#10048) 2019-02-15 16:08:59 +01:00
remote_follow.rb
report.rb Add moderation API (#9387) 2019-06-20 02:52:34 +02:00
report_filter.rb Add moderation API (#9387) 2019-06-20 02:52:34 +02:00
report_note.rb Fix scope latest of ReportNote (#9630) 2018-12-26 06:38:59 +01:00
scheduled_status.rb Fix deleting a scheduled status immediately deleting media attachments (#9728) 2019-01-06 16:38:40 +01:00
search.rb
session_activation.rb
setting.rb Remove intermediary arrays when creating hash maps from results (#9291) 2018-11-16 15:02:18 +01:00
site_upload.rb Improvements to image upload validation and creation (#10431) 2019-04-01 07:30:46 +02:00
status.rb Fix Status.remote scope matching *all* statuses (#11265) 2019-07-08 18:17:22 +02:00
status_pin.rb
status_stat.rb Reset status cache when status_stat or media_attachment updates (#9119) 2018-10-28 06:42:34 +01:00
subscription.rb
tag.rb Fix tagged param not being normalized before querying tags (#10249) 2019-03-13 13:02:13 +01:00
tombstone.rb Record deleted(by mod) status to prevent re-appear (#10732) 2019-05-09 22:03:02 +02:00
trending_tags.rb Create Redisable#redis (#9633) 2019-02-02 19:11:38 +01:00
user.rb Add option to disable blurhash previews (#11188) 2019-06-26 19:33:04 +02:00
user_invite_request.rb Add "why do you want to join" field to invite requests (#10524) 2019-04-09 23:06:30 +09:00
web.rb