No description
Find a file
2024-09-14 19:17:15 +02:00
synapse_invite_checker initial 2024-09-14 19:12:42 +02:00
.gitignore initial 2024-09-14 19:12:42 +02:00
pyproject.toml initial 2024-09-14 19:12:42 +02:00
README.md update readme 2024-09-14 19:17:15 +02: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:

modules:
  - module: synapse_invite_checker.InviteChecker
    config:
      # 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)
      use_whitelist: true

      # Whether to use the blacklist to block certain homeservers (default: true)
      use_blacklist: true