Synapse Invite Checker

Synapse Invite Checker is a synapse module to restrict invites on a homeserver according to the rules required by Gematik in a TIM federation.
Table of Contents
Installation
pip install synapse-invite-checker
Configuration
Here are the available configuration options:
modules:
- module: "synapse_invite_checker.InviteChecker"
config:
title: "TIM Contact API by Famedly",
description: "Custom description for the endpoint",
contact: "random@example.com",
federation_list_url: "https://localhost:8080",
federation_localization_url: "https://localhost:8080/localization",
federation_list_client_cert: "tests/certs/client.pem",
gematik_ca_baseurl: "https://download-ref.tsl.ti-dienste.de/",
tim-type: "epa" or "pro",
allowed_room_versions:
- "9"
- "10"
room_scan_run_interval: see 'Duration Parsing' below,
insured_only_room_scan:
enabled: true or false
grace_period: see 'Duration Parsing' below,
inactive_room_scan:
enabled: true or false
grace_period: see 'Duration Parsing' below
Duration Parsing
Settings labeled as 'duration_parsing' allow for a string representation of the value
that is converted to milliseconds. Suffixes with 's', 'm', 'h', 'd', 'w', or 'y' may be used. For example:
1h
would translate to 3600000
milliseconds
Testing
The tests uses twisted's testing framework trial, with the development
enviroment managed by hatch. Running the tests and generating a coverage report
can be done like this:
hatch run cov
License
synapse-invite-checker
is distributed under the terms of the
AGPL-3.0 license.