Skip to main content

A Synapse module that forwards spam checking to an HTTP server

Project description

synapse-http-antispam

A Synapse spam checker module that forwards requests to an HTTP server.

Installation

pip install synapse-http-antispam

or

pip install synapse-http-antispam@git+https://github.com/maunium/synapse-http-antispam.git

Configuration

Add the following to your homeserver.yaml:

modules:
  - module: synapse_http_antispam.HTTPAntispam
    config:
      base_url: http://localhost:8080
      authorization: random string
      enabled_callbacks:
        - user_may_invite

If enabled_callbacks is not specified, all callbacks will be enabled.

See https://element-hq.github.io/synapse/v1.126/modules/spam_checker_callbacks.html for the list of available callbacks. All callbacks except check_media_file_for_spam, check_registration_for_spam and should_drop_federated_event are available.

The module will make HTTP requests to <base_url>/<callback_name> with all function parameters as JSON fields. The authorization field will be sent as a Authorization: Bearer <value> header if specified.

Any 2xx response will be return NOT_SPAM to Synapse and the response body will be ignored.

Any other response is treated as a rejection. The response body must be JSON and will be returned to the client as is. If the errcode field is not present, it will default to M_FORBIDDEN.

If the server returns a non-JSON response or if the request fails, the module will fail closed and reject the callback with an M_UNKNOWN error.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synapse_http_antispam-0.2.0.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synapse_http_antispam-0.2.0-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file synapse_http_antispam-0.2.0.tar.gz.

File metadata

  • Download URL: synapse_http_antispam-0.2.0.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for synapse_http_antispam-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8c864feecb37fc059cc19a311ff21f506c90930006a42727fdb989b5859b5713
MD5 ac4314419d495b8e02c82dd8acc6ac4e
BLAKE2b-256 8dab94aeea1805f08041d0449a75702f19f4a6300c19468685057f54da733953

See more details on using hashes here.

File details

Details for the file synapse_http_antispam-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for synapse_http_antispam-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b7bea05e9d1ab5b91481bfa9348e18fee2d2584f5f7f0c79dc0f46c46d90937
MD5 4b15d2356668b447325df9522d22dbfe
BLAKE2b-256 213479c295e878fbd2c74762e30d2197919382c1bb9569ce486a93afbedaeda0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page