Matrix bridge for pnut.io
Find a file
Morgan McMillian 88b02977c6
Some checks failed
git.dreamfall.space/pnut-matrix/pipeline/head There was a failure building this commit
add to jenkins
2024-12-25 07:25:19 -08:00
src/pnut_matrix add cli for various odd tasks 2024-12-25 06:29:41 -08:00
.dockerignore fixup docker build 2022-12-10 07:21:37 -08:00
.gitignore add cli for various odd tasks 2024-12-25 06:29:41 -08:00
appservice.yaml-sample README: added installation and configuration 2022-06-25 12:00:10 -07:00
CHANGELOG.md 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
Dockerfile updated docker build 2024-12-25 07:21:29 -08:00
Jenkinsfile add to jenkins 2024-12-25 07:25:19 -08:00
LICENSE Initial commit 2017-03-04 15:17:07 +00:00
pyproject.toml bump min python version because of dependencies 2024-12-25 07:18:23 -08:00
README.md Code uplift to replace old libraries and support asyncio 2024-12-15 15:04:17 -08:00
run.sh updated docker build 2024-12-25 07:21:29 -08:00
wait-for-synapse.sh allow protocol to be specified in argument 2022-12-11 07:13:28 -08:00

The Matrix <--> Pnut bridge

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

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

Usage

The public bridge is not yet online pending uplift of this code base. Stay tuned!

Installation

Warning! This code is extremely unstable and not yet ready for use on your matrix server.

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 https://git.dreamfall.space/spacenerdmo/pnut-matrix.git
cd pnut-matrix
python3 -m venv env
source env/bin/activate
pip3 install -r requirements.txt

Configuration

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.

Tweaks

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

Please submit bugs, feature requests, and patches to morgan@mcmillian.dev.

Join my public chat room on pnut.io for development discussion.

License

GPLv3, see LICENSE.