diff --git a/for-sogops.md b/for-sogops.md index 330a3d4..6523613 100644 --- a/for-sogops.md +++ b/for-sogops.md @@ -2,11 +2,19 @@ **TL;DR**: [Appoint mods](#moderating-abuse); [keep in touch](#communication-channels); [tag your room right](#community-tags) (`#nsfw` and `#test`); [and above all, follow the rules](README.md#policy). -## Moderating abuse - -**Abuse is a very real problem on Session. Make sure to appoint sufficient moderators to your Communities**. - -Communities listed on our site must take care to [follow our policy](README.md#policy), which includes the [Session Terms of Service](https://getsession.org/terms-of-service). +- [Communication channels](#communication-channels) +- [Moderating abuse](#moderating-abuse) + - [Disabling attachments](#disabling-attachments) + - [Limiting Direct Messages](#limiting-direct-messages) + - [Filtering abusive language](#filtering-abusive-language) + - [Additional moderator tools](#additional-moderator-tools) +- [Customization](#customization) + - [First steps](#first-steps) + - [Community tags](#community-tags) + - [Language tags](#language-tags) + - [Server-wide icons](#server-wide-icons) +- [Diagnosing listing issues](#diagnosing-listing-issues) +- [De-listing requests](#de-listing-requests) ## Communication channels @@ -15,7 +23,58 @@ If you operate a Session Group Server, it is recommended that: - you [have a presence in the Session Open Group Operators Community](https://sessioncommunities.online/#sogops+118d) and - you [keep in touch with the maintainers of SessionCommunities.Online](README.md#contact-us). -**Cooperation with SOGS Operators is crucial to prevent abuse**. (As well as to enrich Session as a whole). +## Moderating abuse + +Communities listed on our site must take care to [follow our policy](README.md#policy), which includes the [Session Terms of Service](https://getsession.org/terms-of-service). + +**Abuse is a very real problem on Session. Make sure to appoint sufficient moderators to your Communities**. + +The following mitigations may also help prevent abuse in your Community. + +### Disabling attachments + +The following command will allow only staff to send attachments in a given Community: + +```sh +sogs --rooms "MY_ROOM_ID" --remove-perms u +``` + +Replace `MY_ROOM_ID` with `*` (asterisk) to apply this change to all Communities on your server. + +**Side effects**: + +- Link previews and replies to media messages can no longer be sent by regular users. +- Access to the command line is necessary to grant the upload permission to individual users: `python3 -msogs --rooms MY_ROOM_ID --add-perms u --users USER_SESSION_ID`. + +### Limiting Direct Messages + +The following command-line script will prevent your Community server from propagating message requests when both participants are "untrusted"; that is, when neither participant is a moderator, nor has explicit permissions to upload attachments: + +> + +To grant the attachment upload permission to a regular user, see [Disabling Attachments](#disabling-attachments) or [Additional Moderator Tools](#additional-moderator-tools). + +### Filtering abusive language + +You can use the built-in profanity list feature of your SOGS to block messages containing certain words. To edit this profanity list, see the `/var/lib/session-open-group-server/profanity-block-list.txt` file. You may also modify the behavior of the profanity blocker, such as adding a custom reply; see your `sogs.ini` configuration file. + +Existing lists created by the community may serve as a basis for your profanity list: + +- Profanity list by slrslr: + +**Side effects**: + +- ⚠️ Long profanity lists may slow down restarts of your SOGS, consume all available virtual memory and/or lead to crashes. ([Issue](https://github.com/oxen-io/session-pysogs/issues/159)) + +### Additional moderator tools + +- Compile and use the AppImage for `gravel`'s [fork of Session Desktop](https://codeberg.org/gravel/session-desktop/src/branch/dev-gravel/CONTRIBUTING.md#developer-setup). + + - `Allow sending attachments` and `Remove attachment exception` options allow moderators to grant or revoke upload permissions for regular users. + + - `Ban User from Server` and `Unban User from Server` options allow **global** moderators to ban a user from all Communities on a given server. + + - **Warning**: To receive updates, you will need to compile new versions of the fork. The fork is maintained for personal use and may fall behind on security fixes. ## Customization