MatrixZulipBridge
A Matrix puppeting appservice bridge for Zulip
Join the Matrix room #MatrixZulipBridge:shema.lv if you have any questions or just want to chat.
Features
- Streams
- Zulip topics - Matrix threads
- Direct messages
- Formatted text* (not all of Zulip's formatting)
- Matrix puppets
- Zulip puppets
- Message Media* (only translating URIs)
- Presence
- Reactions
- Redactions* (only from Matrix in DMs)
- Replies
- Typing indicators
Installation
Prerequisites
- Python >=3.10
- Matrix homeserver with ability to add appservices
PyPI
pip install matrixzulipbridge
Docker
docker run ghcr.io/gearkite/matrixzulipbridge:{tag} ...
See packages for possible tags
From source
- Clone or download this git repository
git clone https://github.com/GearKite/MatrixZulipBridge.git - Install Poetry
- Install dependencies
poetry install - Enter the virtual environment
poetry shell
Running
Example
- Generate a registration file
python3 -m matrixzulipbridge --config config.yaml --generate - Install the appservice on your homeserver
- Run the bridge
python3 -m matrixzulipbridge --config config.yaml https://homeserver.example.com
Usage
usage: python3 -m matrixzulipbridge [-h] [-v] (-c CONFIG | --version) [-l LISTEN_ADDRESS] [-p LISTEN_PORT] [-u UID] [-g GID] [--generate] [--generate-compat] [--reset] [--unsafe-mode] [-o OWNER] [homeserver]
A puppeting Matrix - Zulip appservice bridge (v0.1.1.dev2+g3ed8ed7)
positional arguments:
homeserver URL of Matrix homeserver (default: http://localhost:8008)
options:
-h, --help show this help message and exit
-v, --verbose log debug messages
-c CONFIG, --config CONFIG
registration YAML file path, must be writable if generating (default: None)
--version show bridge version
-l LISTEN_ADDRESS, --listen-address LISTEN_ADDRESS
bridge listen address (default: as specified in url in config, 127.0.0.1 otherwise) (default: None)
-p LISTEN_PORT, --listen-port LISTEN_PORT
bridge listen port (default: as specified in url in config, 28464 otherwise) (default: None)
-u UID, --uid UID user id to run as (default: None)
-g GID, --gid GID group id to run as (default: None)
--generate generate registration YAML for Matrix homeserver (Synapse)
--generate-compat generate registration YAML for Matrix homeserver (Dendrite and Conduit)
--reset reset ALL bridge configuration from homeserver and exit
--unsafe-mode allow appservice to leave rooms on error (default: False)
-o OWNER, --owner OWNER
set owner MXID (eg: @user:homeserver) or first talking local user will claim the bridge (default: None)
After registering and launching the bridge, start a chat. You can find the localpart in your registration.yaml
This bridge is mainly configurable through Matrix, send help to get a list of commands
Bridging a stream
In your control room chat with the bridge send:
addorganization {name}open {name}
In the organization room send:
site example.comemail my-bot@example.comapikey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxconnectsubscribe {zulip stream name}
Credits
This bridge is heavily based on Heisenbridge. Thank you, Heisenbridge contributors!
Metadata
Release files for matrixzulipbridge 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| matrixzulipbridge-0.4.1.tar.gz | 56.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| matrixzulipbridge-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 129.2 kB
Release files / matrixzulipbridge-0.4.1.tar.gz
| Download URL | matrixzulipbridge-0.4.1.tar.gz |
|---|---|
| Size | 56.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dff2af6b3a6a92f35d6edbd50561405629372fe3b8e1828e10c9d6cfe459b673
|
|
BLAKE2b-256 checksum How to use checksums |
6cd1d2a71b04c491950a0ea0caaaeaa2dba8370d1be9a418c8db9abddb7f22db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.9.18
|
Release files / matrixzulipbridge-0.4.1-py3-none-any.whl
| Download URL | matrixzulipbridge-0.4.1-py3-none-any.whl |
|---|---|
| Size | 72.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
378d3c71639b5f6ba79bc5abe55bd15390ce5726a7007715c5a8a02c522008c0
|
|
BLAKE2b-256 checksum How to use checksums |
fd81098ea2519e2fe6a5bd4b48e65c0e1026435c1c4e65e83d0f9d4a0c583ea0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.9.18
|