Commit graph

1249 commits

Author SHA1 Message Date
rinpatch
f930e83fa2 Merge branch 'fix/remove_auto_nsfw' into 'develop'
Remove sensitive setting #nsfw

See merge request pleroma/pleroma!3223
2021-03-19 08:48:22 +00:00
sadposter
292ddf730c Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop 2021-03-03 13:51:07 +00:00
Ivan Tashkinov
882dd46843 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework 2021-03-02 08:26:30 +03:00
Haelwenn (lanodan) Monnier
3bc7d12271
Remove sensitive-property setting #nsfw, create HashtagPolicy 2021-02-27 21:26:17 +01:00
Ivan Tashkinov
8f88a90ca3 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	lib/pleroma/application.ex
#	lib/pleroma/config.ex
2021-02-23 13:58:35 +03:00
Ivan Tashkinov
77f3da0358 [#3213] Misc. tweaks: proper upsert in Hashtag, better feature toggle management. 2021-02-23 13:52:28 +03:00
Ivan Tashkinov
a98c4423f3 Apply i1t's suggestion(s) to 1 file(s) 2021-02-22 20:41:57 +00:00
sadposter
5f33699169 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop 2021-02-20 15:27:56 +00:00
db7d6f337f Avoid unnecessary 500ms sleeps from CommonAPI.follow when the target user is remote 2021-02-19 18:37:37 -06:00
Ivan Tashkinov
b981edad8a [#3213] HashtagsTableMigrator: fault rate allowance to enable the feature (defaults to 1%), counting of affected objects, misc. tweaks. 2021-02-18 20:40:10 +03:00
rinpatch
6d66fadea7 Remove :auth, :enforce_oauth_admin_scope_usage
`admin` scope has been required by default for more than a year now
and all apps that use the API seems to request a proper scope by now.
2021-02-17 20:47:38 +03:00
Ivan Tashkinov
349b8b0f4f [#3213] rescue around potentially-raising Repo.insert_all/_ calls. Misc. improvements (docs etc.). 2021-02-13 22:01:11 +03:00
Ivan Tashkinov
5992382cf8 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	CHANGELOG.md
#	lib/mix/tasks/pleroma/database.ex
#	lib/pleroma/web/templates/feed/feed/_activity.rss.eex
2021-02-11 19:31:57 +03:00
Ivan Tashkinov
a996ab46a5 [#3213] Reorganized hashtags cleanup. Transaction-wrapped Hashtag.get_or_create_by_names/1. Misc. improvements. 2021-02-11 19:30:21 +03:00
rinpatch
a52cedba62 Merge branch 'chore/descriptions-improvements' into 'develop'
More descriptions improvements

See merge request pleroma/pleroma!3307
2021-02-08 19:21:01 +00:00
ce7c275fb3 Improve various descriptions and labels 2021-02-08 11:45:50 -06:00
2bffa8e020 Make the suggestion match the default value 2021-02-08 11:25:32 -06:00
4dbb08a19f Improved Mailer descriptions 2021-02-08 10:08:33 -06:00
Ivan Tashkinov
d1c6dd97aa [#3213] Partially addressed code review points.
migration rollback task changes, hashtags-related config handling tweaks, `hashtags.data` deletion (unused).
2021-02-07 22:24:12 +03:00
f736501e97 Alpha-sort adapters
Add various labels, descriptions and suggestions for all adapter settings and try to use
the same terminology by the service provider.
2021-02-06 13:18:48 -06:00
0fcf16dcb8 Move Enabled to top as it's the master control of all email. Description not really needed. 2021-02-06 12:34:32 -06:00
bd828e5c9c More description improvements 2021-02-06 12:28:49 -06:00
227dd84f11 Update SMTP error description and default value 2021-02-06 12:06:47 -06:00
9e3e8e2e30 Update Swoosh docs URL, lint 2021-02-06 12:04:28 -06:00
cfc474c5f7 There is no reason to expose these Local adapter settings either. 2021-02-06 12:01:11 -06:00
6ffe15cc9f Remove No MX lookups setting
This setting defaults to false so the relay host will be used in an MX query so
multiple SMTP servers can be used. gen_smtp code states that all records returned from the
MX query are attempted in order and only a permanent SMTP error will stop the client from
attempting other servers in the list. Connection failures, TLS issues, etc will cause it to
try the next host.

If there is no MX record associated with the relay host, it automatically tries connecting to it
directly.

There is really no reason to expose this to end users. The default value is fine for everyone.
2021-02-06 11:55:25 -06:00
85710b026f Improve SMTP adapter setting descriptions 2021-02-06 11:55:01 -06:00
9f98885388 No reason to suggest users try the useless "Local" mail adapter 2021-02-06 11:28:55 -06:00
887db076b5 Load an emoji.txt specific to the test env 2021-02-03 16:40:59 -06:00
008499f65a Merge branch 'develop' into 'fix/2412-filters'
# Conflicts:
#   CHANGELOG.md
2021-02-03 14:23:23 +00:00
Ivan Tashkinov
1b49b8efe5 Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	CHANGELOG.md
2021-01-31 20:38:58 +03:00
Ivan Tashkinov
6fd4163ab6 [#3213] ActivityPub: implemented subqueries-based hashtags filtering, removed aggregation-based hashtags filtering. 2021-01-31 20:37:33 +03:00
Ivan Tashkinov
9948ff3356 [#3213] Added HashtagsCleanupWorker periodic job. 2021-01-31 18:24:19 +03:00
2048b93929 Add missing :ex_aws, :s3, :region setting 2021-01-29 11:31:15 -06:00
d7af0294e6 Merge branch 'service-worker-allowed-header' into 'develop'
Ability to set custom HTTP headers per each frontend

See merge request pleroma/pleroma!3247
2021-01-26 18:14:01 +00:00
Alexander Strizhakov
875fbaae35
support for expires_in/expires_at in filters 2021-01-26 08:27:45 +03:00
sadposter
3aa25b008d Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop 2021-01-23 22:38:07 +00:00
e709dec2eb Add Invalidation Script url_format setting 2021-01-21 14:52:02 -06:00
003402df40 Add ability to invalidate cache entries for Apache 2021-01-21 14:20:13 -06:00
eugenijm
7fcaa188a0 Allow to define custom HTTP headers per each frontend 2021-01-21 21:55:23 +03:00
eugenijm
133644dfa2 Ability to set the Service-Worker-Allowed header 2021-01-21 21:55:11 +03:00
Ivan Tashkinov
c041e9c630 [#3213] HashtagsTableMigrator: failures handling fix, retry function.
Changed default hashtags filtering strategy to non-aggregate approach.
2021-01-21 20:23:08 +03:00
Ivan Tashkinov
2634a16b4c Merge remote-tracking branch 'remotes/origin/develop' into feature/object-hashtags-rework
# Conflicts:
#	CHANGELOG.md
2021-01-21 20:20:35 +03:00
Alexander Strizhakov
5ade430e46
changed naming in changelog 2021-01-21 10:13:02 +03:00
Alexander Strizhakov
6d48144a9d
use proper naming
for MediaProxyWarmingPolicy in ConcurrentLimiter
2021-01-21 09:50:18 +03:00
Alexander Strizhakov
b4ff63d020
configurable limits for ConcurrentLimiter
Pleroma.Web.RichMedia.Helpers & Pleroma.Web.MediaProxy
2021-01-21 09:47:21 +03:00
2926713fe5 Merge branch 'deprecate-public_endpoint' into 'develop'
Deprecate Uploaders.S3, :public_endpoint

See merge request pleroma/pleroma!3251
2021-01-20 22:48:48 +00:00
086100e3b7 Consistent comment style for :ex_aws 2021-01-20 16:39:39 -06:00
Ivan Tashkinov
48b399cedb [#3213] Refactoring of HashtagsTableMigrator. Hashtag timeline performance optimization (auto switch to non-aggregate join strategy when efficient). 2021-01-16 20:22:14 +03:00
f9e0c05ca4 Only run one attachment cleanup job per node
The previous limit of 5 was probably causing massing performance issues due to concurrent full table scans.
2021-01-15 14:50:32 -06:00
5627f3642f Not needed in test.exs 2021-01-13 11:54:45 -06:00
f0ab60189e truncated_namespace should default to nil 2021-01-13 11:54:00 -06:00
lain
c7cd9bd591 Password: Add password module
Replaces Pbkdf2.
2021-01-13 15:09:01 +01:00
8b28dce82a Deprecate Pleroma.Uploaders.S3, :public_endpoint 2021-01-12 16:31:35 -06:00
lain
ac1298fce8 Merge branch 'cleanup/unused-proxy-opts' into 'develop'
Cleanup Pleroma.Upload proxy opts

See merge request pleroma/pleroma!3236
2021-01-07 16:25:39 +00:00
Alex Gleason
1438fd9583
Merge remote-tracking branch 'upstream/develop' into block-behavior 2021-01-06 15:22:35 -06:00
Roger Braun
48cd336a72 allow external emoji 2021-01-06 10:13:01 -06:00
5e128a6be3 Merge branch 'fix/mediaproxy-config-descriptions' into 'develop'
Fix proxy and mediaproxy description.exs

See merge request pleroma/pleroma!3219
2021-01-05 21:16:33 +00:00
d69c78ceb9 Remove configurability of upload proxy opts, simplify 2021-01-05 15:06:00 -06:00
8864ac65c6 Add dinosaur gif from https://gifs.cc
"Our animations are free to be used to enhance your website."
2021-01-05 13:25:14 -06:00
lain
8e5904daa5 SideEffects.DeleteTest: asyncify.
Replace Mock with Mox, mock out Logger.
2021-01-04 18:40:59 +01:00
sadposter
6cd0586ef9 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop 2020-12-29 13:16:14 +00:00
lain
e4f1d8f48c Merge branch 'cachex-test' into 'develop'
Test framework overhaul (speed, reliability)

See merge request pleroma/pleroma!3209
2020-12-26 10:26:35 +00:00
ce78b64db8 Formatting 2020-12-23 17:41:10 -06:00
5a084d6f8d Update descriptions for MediaProxy, remove settings that should not be exposed in AdminFE 2020-12-23 17:38:33 -06:00
lain
5db1e6c8d3 Pipeline test: Switch from Mock to Mox.
Speeds up the test and makes it possible to run async.
2020-12-21 16:35:12 +01:00
lain
ecd39a8fe5 Test config: Raise pool size for postgres.
Given all the async tests, this can become a bottleneck.
2020-12-21 12:31:12 +01:00
rinpatch
a05e1d4e48 config/description.exs: Remove outdated information about Oban
The version of Oban we depend on no longer uses ShareLocks, so this
note no longer applies.
2020-12-19 11:27:42 +03:00
lain
95a9bdfc37 Tests: Use NullCache for async tests.
Caching can't work in async tests, so for them it is mocked to a
null cache that is always empty. Synchronous tests are stubbed
with the real Cachex, which is emptied after every test.
2020-12-18 19:53:19 +01:00
lain
9a744d49c8 Jason: Remove by now superfluous jason_types file 2020-12-18 17:44:19 +01:00
Ivan Tashkinov
62bf4a1292 [#2353] Virtually never-expiring OAuth tokens (new and already issued ones). 2020-12-17 20:49:00 +03:00
Alexander Strizhakov
cebe3c7def Fix for dropping posts/notifs in WS when mix task is executed
- start oban in mix tasks with empty queues, plugins and crontab
- fix for update_users_following_followers_counts
- fix for removed logo.png
- typo in resend confirmation emails mix task docs
- fix for uploads mix task (start Majic.Pool)
- fix for creating user mix task (start :fast_html app)
2020-12-14 11:02:32 -06:00
Ivan Tashkinov
7fff9c1bee Tweaks to OAuth entities expiration: changed default to 30 days, removed hardcoded values usage, fixed OAuthView (expires_in). 2020-12-09 21:14:39 +03:00
Alexander Strizhakov
94480c6607
removing fed sockets settings 2020-11-26 17:39:38 +03:00
Alexander Strizhakov
5eef4988bf
fix for elixir 1.11
load runtime configs in releases with config provider
2020-11-25 14:10:24 +03:00
lain
11e0d5f9ac Password Resets: Don't accept tokens above a certain age.
By default, one day
2020-11-19 12:27:06 +01:00
rinpatch
2c55f7d7cb Remove FedSockets
Current FedSocket implementation has a bunch of problems. It doesn't
have proper error handling (in case of an error the server just doesn't
respond until the connection is closed, while the client doesn't match
any error messages and just assumes there has been an error after 15s)
and the code is full of bad descisions (see: fetch registry which uses
uuids for no reason and waits for a response by recursively querying a
 ets table until the value changes, or double JSON encoding).

Sometime ago I almost completed rewriting fedsockets from scrach to
adress these issues. However, while doing so, I realized that fedsockets
 are just too overkill for what they were trying to accomplish, which is
 reduce the overhead of federation by not signing every message.
This could be done without reimplementing failure states and endpoint
 logic we already have with HTTP by, for example, using TLS cert auth,
or switching to a more performant signature algorithm. I opened
https://git.pleroma.social/pleroma/pleroma/-/issues/2262 for further
discussion on alternatives to fedsockets.

From discussions I had with other Pleroma developers it seems like they
 would approve the descision to remove them as well,
therefore I am submitting this patch.
2020-11-17 17:28:30 +03:00
sadposter
7947236575 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop 2020-11-15 19:40:23 +00:00
Alexander Strizhakov
efc27f6464
fix for adminFE
- revert UserAllowPolicy description
- MRF descriptions order
2020-11-11 10:10:57 +03:00
Alexander Strizhakov
485697d96c
config descriptions for custom MRF policies 2020-11-10 19:20:14 +03:00
lain
294628d981 Merge branch 'feature/expire-mutes' into 'develop'
Expiring mutes for users and activities

Closes #1817

See merge request pleroma/pleroma!2971
2020-11-05 12:44:16 +00:00
lain
d8d4e96230 Merge branch 'default-mrf' into 'develop'
Add TagPolicy as default MRF

See merge request pleroma/pleroma!2834
2020-11-04 15:54:12 +00:00
lain
dd2b3a8da9 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/expire-mutes 2020-11-04 16:51:42 +01:00
lain
bae48c98e3 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into alexgleason/pleroma-block-behavior 2020-11-04 16:18:11 +01:00
sadposter
ddf36b096e Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop 2020-11-01 12:22:28 +00:00
Egor Kislitsyn
d2113428c0
Merge remote-tracking branch 'origin/develop' into feature/account-export 2020-10-30 19:34:02 +04:00
Mark Felder
89c356d19f Improve Keyword descriptions for AdminFE 2020-10-29 14:22:07 -05:00
Egor Kislitsyn
4a2d7a7a5d
Merge remote-tracking branch 'origin/develop' into feature/account-export 2020-10-28 15:33:36 +04:00
03a318af9a Merge branch 'develop' into 'feature/autofollowing'
# Conflicts:
#   CHANGELOG.md
2020-10-27 22:13:50 +00:00
Mark Felder
291189357b Merge branch 'develop' into feature/account-export 2020-10-27 12:54:33 -05:00
Mark Felder
9e54ef086b Merge branch 'develop' into feature/account-export 2020-10-27 12:51:31 -05:00
5aff479951 Merge branch '1668-prometheus-access-restrictions' into 'develop'
[#1668] App metrics endpoint (Prometheus) access restrictions

Closes #1668

See merge request pleroma/pleroma!3093
2020-10-27 17:47:56 +00:00
e062329a17 Merge branch 'develop' into 'feature/autofollowing'
# Conflicts:
#   CHANGELOG.md
2020-10-27 17:42:24 +00:00
lain
04b7505c75 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into alexgleason/pleroma-block-behavior 2020-10-26 17:50:34 +01:00
d6907e6e0c Merge branch 'chore/elixir-1.11' into 'develop'
Elixir 1.11 compatibility / Phoenix 1.5+

See merge request pleroma/pleroma!3059
2020-10-22 20:33:52 +00:00
Egor Kislitsyn
e87901c424
Merge remote-tracking branch 'origin/develop' into feature/account-export 2020-10-20 17:27:29 +04:00
Ivan Tashkinov
50d4280880 [#1668] Formatting fix. 2020-10-20 16:18:24 +03:00
Egor Kislitsyn
ad605e3e16
Rename Pleroma.Backup to Pleroma.User.Backup 2020-10-20 17:16:58 +04:00
Ivan Tashkinov
3a28aa8814 [#1668] Added :prometheus group config to config/description.exs. 2020-10-20 15:13:20 +03:00
Ivan Tashkinov
524fb0e4c2 [#1668] Restricted access to app metrics endpoint by default. Added ability to configure IP whitelist for this endpoint.
Added tests and documentation.
2020-10-18 21:22:21 +03:00
Ivan Tashkinov
9ea31b373f Merge remote-tracking branch 'remotes/origin/develop' into chore/elixir-1.11 2020-10-17 17:53:47 +03:00
efd6572ffb Remove suggestions 2020-10-16 17:43:44 +00:00
405f27b4f8 The suggestions are problematic as they need to be real local account names 2020-10-16 17:41:44 +00:00
1b8fd7e65a Adds feature to permit e.g., local admins and community moderators to automatically follow all newly registered accounts 2020-10-16 17:36:02 +00:00
Mark Felder
1fb9452131 Merge branch 'develop' into feature/account-export 2020-10-14 15:27:15 -05:00
Alex Gleason
b3d6cf9022
Merge remote-tracking branch 'upstream/develop' into block-behavior 2020-10-13 19:22:32 -05:00
Mark Felder
b738f70953 Merge branch 'develop' into feature/gen-magic 2020-10-13 10:08:38 -05:00
Mark Felder
64553ebae2 Merge branch 'develop' into chore/elixir-1.11 2020-10-13 09:54:53 -05:00
Alexander Strizhakov
3be8ab5103
RemoteIp module name 2020-10-13 16:43:50 +03:00
Alex Gleason
2fc7ce3e1e
Blocks: add blockers_visible config 2020-10-10 01:58:57 -05:00
Mark Felder
04b514c567 Merge branch 'develop' into feature/gen-magic 2020-10-09 11:26:10 -05:00
Haelwenn
74be4de3f6 Merge branch 'fix/2209-remoteip' into 'develop'
#2209 RemoteIP CIDR helper, config and doc improvements

See merge request pleroma/pleroma!3057
2020-10-08 17:29:00 +00:00
Mark Felder
87fc5a40f4 instrumenters has no effect in Endpoint anymore 2020-10-07 11:52:23 -05:00
Mark Felder
fddea9e3ce :pubsub is deprecated and replaced wit :pubsub_server 2020-10-07 10:34:24 -05:00
Egor Kislitsyn
e52dd62e14
Add configurable temporary directory 2020-10-07 18:34:30 +04:00
Egor Kislitsyn
3ad7492f9d
Add config for Pleroma.Backup 2020-10-07 18:34:29 +04:00
Egor Kislitsyn
a0ad9bd734
Add BackupWorker 2020-10-07 18:34:28 +04:00
Mark Felder
b90eda3d8b Improve description yet again 2020-10-06 17:36:29 -05:00
Mark Felder
e08eb4aba0 Don't leak internal variables in the docs. They're useless to users. 2020-10-06 17:29:56 -05:00
Mark Felder
b8c05f4876 Improve descriptions for reserved and proxies 2020-10-06 17:21:27 -05:00
Mark Felder
d43d05005a Move hardcoded default configuration into config.exs 2020-10-06 17:02:46 -05:00
Mark Felder
7aff2b47c5 Fix docs for default headers used by RemoteIp. We only use X-Forwarded-For by default. 2020-10-06 15:47:11 -05:00
rinpatch
0a69dbc97c Merge branch 'feature/update-description-for-frontends-setting' into 'develop'
Remove extra nesting and add labels in `:frontends` setting

See merge request pleroma/pleroma!3043
2020-10-06 18:05:03 +00:00
sadposter
a9938611f7 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop 2020-10-02 15:09:47 +01:00
Alexander Strizhakov
cbdaabad34
web push http_client fix 2020-10-01 13:32:11 +03:00
Angelina Filippova
d96b8923f6 Fix typo 2020-09-30 00:50:53 +03:00
Angelina Filippova
fe19750644 Fix comma typo 2020-09-30 00:49:08 +03:00
Angelina Filippova
1b2f7139c8 Apply 1 suggestion(s) to 1 file(s) 2020-09-29 20:33:04 +00:00
Angelina Filippova
0e57f13365 Apply 1 suggestion(s) to 1 file(s) 2020-09-29 20:32:55 +00:00
Angelina Filippova
7ac4d1e7ee Remove extra nesting and add labels in :frontends setting 2020-09-28 18:13:45 +03:00
Roman Chvanikov
8f5589cf66 Merge develop 2020-09-23 13:56:50 +03:00
Mark Felder
7b2bf381e9 Chase the Autolinker rename from !2677 2020-09-21 16:02:57 -05:00
Roman Chvanikov
4987ee6256 Merge branch 'develop' into feature/expire-mutes 2020-09-20 19:27:27 +03:00
6c052bd5b6 Merge branch 'media-preview-proxy-nostream' into 'develop'
Media preview proxy

See merge request pleroma/pleroma!3001
2020-09-18 18:38:20 +00:00
lain
7e02f4ed3b Merge branch 'feature/2118-web-push-encryption-http' into 'develop'
Make WebPushEncryption use Pleroma.HTTP as an HTTP adapter

Closes #2118

See merge request pleroma/pleroma!3008
2020-09-18 12:25:10 +00:00
Steven Fuchs
f2ef9735c5 Federate data through persistent websocket connections 2020-09-18 11:58:22 +00:00
Sergey Suprunenko
226fa3e486
Make WebPushEncryption use Pleroma.HTTP as an HTTP adapter 2020-09-17 22:10:55 +02:00
Ivan Tashkinov
7cdbd91d83 [#2497] Configurability of :min_content_length (preview proxy). Refactoring, documentation, tests. 2020-09-17 17:13:40 +03:00
Roman Chvanikov
44e8b6037a Merge branch 'develop' into feature/expire-mutes 2020-09-17 14:54:00 +03:00
Ivan Tashkinov
2f155fb89f Merge remote-tracking branch 'remotes/origin/develop' into media-preview-proxy-nostream 2020-09-15 20:29:39 +03:00
sadposter
95a1e5bf5a Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop 2020-09-15 17:21:18 +01:00
rinpatch
0b5e72ecf0 Remove :managed_config option.
In practice, it was already removed half a year ago, but the description
 and cheatsheet entries were still there.

The migration intentionally does not use ConfigDB.get_by_params, since
this will break migration code as soon as we add a new field is added
 to ConfigDB.

Closes #2086
2020-09-14 18:04:16 +03:00
Roman Chvanikov
c5830ac037 Merge develop 2020-09-13 12:24:57 +03:00
Ivan Tashkinov
0bda85857e Merge remote-tracking branch 'remotes/origin/develop' into media-preview-proxy
# Conflicts:
#	lib/pleroma/instances/instance.ex
2020-09-11 17:19:58 +03:00
Mark Felder
55562ca936 Merge branch 'develop' into feature/gen-magic 2020-09-10 16:05:22 -05:00
Alexander Strizhakov
2c2094d4b2 configurable lifetime for ephemeral activities 2020-09-10 21:51:59 +03:00
Alexander Strizhakov
629a8de9cb deprecation warning
changed namespace for activity expiration configuration
2020-09-10 21:50:41 +03:00
Alexander Strizhakov
9bf1065a06 schedule activity expiration in Oban 2020-09-10 21:50:40 +03:00
Alexander Strizhakov
7dd986a563
expire mfa tokens through Oban 2020-09-10 16:01:19 +03:00
Alexander Strizhakov
3ce658b930
schedule expired oauth tokens deletion with Oban 2020-09-10 16:01:19 +03:00