Matrix bridge for
Go to file
2023-07-04 09:55:43 -07:00
.dockerignore fixup docker build 2022-12-10 07:21:37 -08:00
.gitignore ignore personal vscode settings 2018-12-16 06:51:09 -08:00
.gitlab-ci.yml fixup docker build 2022-12-10 07:21:37 -08:00 replace access_token url parameter with authorization header 2023-07-04 09:33:24 -07:00
appservice.yaml-sample README: added installation and configuration 2022-06-25 12:00:10 -07:00 Avoid inviting self when sending a PM from a different pnut client 2022-12-16 12:07:16 -08:00
config.yaml-sample add config and filters to logging 2022-07-01 10:57:16 -07:00 pick up config file from environment variable 2020-03-24 20:47:10 -07:00
Dockerfile update base docker image 2023-07-04 09:55:43 -07:00
LICENSE Initial commit 2017-03-04 15:17:07 +00:00 initial private channel support 2021-03-20 13:26:33 +00:00 fix syntax error in user lookups issue #37 2019-01-08 22:03:17 -08:00 fix username parameter for /register endpoint 2023-07-04 09:31:18 -07:00 removed mailing list link from README 2023-02-10 08:00:54 -08:00
requirements.txt Updated for the new public bridge 2022-05-26 18:47:51 -07:00 allow protocol to be specified in argument 2022-12-11 07:13:28 -08:00

The Matrix <--> Pnut bridge

This is a channel bridge for Matrix using the Application Services (AS) API.

This bridge will pass channel messages through to Matrix, and Matrix messages through to channels.


The public bridge is once again online!

See Using-the-public-bridge for details.


Currently pnut-matrix has been only tested with and confirmed to work with synapse. Please refer to the synapse installation instructions for details on how to setup your homeserver.

To install the latest version of pnut-matrix from source:

git clone
cd pnut-matrix
python3 -m venv env
source env/bin/activate
pip3 install -r requirements.txt


Copy config.yaml-sample to config.yaml and edit for your setup. Likewise copy appservice.yaml-sample to appservice.yaml and edit to match the tokens, prefix, and port listed in config.yaml. This is the configuration that synapse will need to reference so that it can connect the bridge. Make sure you modify your syanpse configuration accordingly.


There exists a bug in synapse which prevents the bridge user from accepting DM invites from users on other homeservers. To work around the issue you can create a profile for the bot user.1

curl --data '{"type": "m.login.application_service", "username": "your_sender_localpart"}' 'http://yourhomeserver/_matrix/client/r0/register?access_token=your_as_token'

Contributing and support

You can open issues for bugs or feature requests and you can submit merge requests to this project on GitLab. You can also submit issues and patches directly to

Join my public chat room for development discussion.