synapse-invite-checker/README.md

27 lines
1.3 KiB
Markdown
Raw Normal View History

2024-09-14 17:17:15 +00:00
# Synapse Invite Checker Module
This is a Synapse module that checks incoming invites based on whitelist and blacklist rules. The module allows or blocks invites from certain homeservers depending on whether they appear in a dynamically fetched whitelist or blacklist JSON file.
## Features
- **Whitelist and Blacklist**: Allows invites from homeservers in the whitelist, blocks invites from homeservers in the blacklist.
- **Dynamic Fetching**: The whitelist and blacklist are fetched dynamically from a provided URL, and cached for 10 minutes.
- **Fallback on Failure**: If the JSON file cannot be fetched (e.g., network error), the module automatically allows all invites to prevent disruptions.
## Configuration
Add this module to your Synapse's `homeserver.yaml` under the `modules` section. Heres an example configuration:
```yaml
modules:
- module: synapse_invite_checker.InviteChecker
2024-09-14 17:12:42 +00:00
config:
2024-09-14 17:17:15 +00:00
# URL to fetch the JSON file containing the whitelist and blacklist
blacklist_whitelist_url: "https://example.com/invite-checker-lists.json"
# Whether to use the whitelist to allow certain homeservers (default: true)
2024-09-14 17:12:42 +00:00
use_whitelist: true
2024-09-14 17:17:15 +00:00
# Whether to use the blacklist to block certain homeservers (default: true)
2024-09-14 17:12:42 +00:00
use_blacklist: true