Add setting to disable the anti-spam (#11296)

* Add environment variable to disable the anti-spam

* Move antispam setting to admin settings

* Fix typo

* antispam → spam_check
This commit is contained in:
ThibG 2019-07-17 21:09:15 +02:00 committed by Eugen Rochko
parent 50caff4dc0
commit 9015b19e09
7 changed files with 18 additions and 1 deletions

View file

@ -30,6 +30,7 @@ module Admin
@trending_hashtags = TrendingTags.get(7)
@profile_directory = Setting.profile_directory
@timeline_preview = Setting.timeline_preview
@spam_check_enabled = Setting.spam_check_enabled
end
private

View file

@ -14,7 +14,7 @@ class SpamCheck
end
def skip?
already_flagged? || trusted? || no_unsolicited_mentions? || solicited_reply?
disabled? || already_flagged? || trusted? || no_unsolicited_mentions? || solicited_reply?
end
def spam?
@ -80,6 +80,10 @@ class SpamCheck
private
def disabled?
!Setting.spam_check_enabled
end
def remove_mentions(text)
return text.gsub(Account::MENTION_RE, '') if @status.local?

View file

@ -28,6 +28,7 @@ class Form::AdminSettings
thumbnail
hero
mascot
spam_check_enabled
).freeze
BOOLEAN_KEYS = %i(
@ -39,6 +40,7 @@ class Form::AdminSettings
show_known_fediverse_at_about_page
preview_sensitive_media
profile_directory
spam_check_enabled
).freeze
UPLOAD_KEYS = %i(

View file

@ -51,6 +51,8 @@
= feature_hint(link_to(t('admin.dashboard.feature_timeline_preview'), edit_admin_settings_path), @timeline_preview)
%li
= feature_hint(link_to(t('admin.dashboard.feature_relay'), admin_relays_path), @relay_enabled)
%li
= feature_hint(link_to(t('admin.dashboard.feature_spam_check'), edit_admin_settings_path), @spam_check_enabled)
.dashboard__widgets__versions
%div

View file

@ -66,6 +66,9 @@
.fields-group
= f.input :profile_directory, as: :boolean, wrapper: :with_label, label: t('admin.settings.profile_directory.title'), hint: t('admin.settings.profile_directory.desc_html')
.fields-group
= f.input :spam_check_enabled, as: :boolean, wrapper: :with_label, label: t('admin.settings.spam_check_enabled.title'), hint: t('admin.settings.spam_check_enabled.desc_html')
%hr.spacer/
.fields-group

View file

@ -250,6 +250,7 @@ en:
feature_profile_directory: Profile directory
feature_registrations: Registrations
feature_relay: Federation relay
feature_spam_check: Anti-spam
feature_timeline_preview: Timeline preview
features: Features
hidden_service: Federation with hidden services
@ -449,6 +450,9 @@ en:
desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags
title: Custom terms of service
site_title: Server name
spam_check_enabled:
desc_html: Mastodon can auto-silence and auto-report accounts based on measures such as detecting accounts who send repeated unsolicited messages. There may be false positives.
title: Anti-spam
thumbnail:
desc_html: Used for previews via OpenGraph and API. 1200x630px recommended
title: Server thumbnail

View file

@ -61,6 +61,7 @@ defaults: &defaults
activity_api_enabled: true
peers_api_enabled: true
show_known_fediverse_at_about_page: true
spam_check_enabled: true
development:
<<: *defaults