Matrix <-> XMPP puppeting bridge
Go to file
Jakub Filo 4846ce60b7 Fix missing 'fetch' import from 'node-fetch' 2023-05-02 15:47:12 +00:00
.github/workflows Create docker-publish.yml 2023-04-30 18:56:16 +02:00
src Fix missing 'fetch' import from 'node-fetch' 2023-05-02 15:47:12 +00:00
.gitignore Basic XMPP 2021-11-12 13:07:57 +00:00
Dockerfile lock the node version to 12, this failed to build in 2023 2023-04-30 16:22:17 +00:00
README.md TODO: fix nex connection 2021-11-12 14:42:34 +00:00
docker-run.sh Basic XMPP 2021-11-12 13:07:57 +00:00
package-lock.json Cleanup and update some modules 2023-04-30 16:40:44 +00:00
package.json Cleanup and update some modules 2023-04-30 16:40:44 +00:00
sample.config.yaml update default port 2020-04-15 21:02:57 +02:00
tsconfig.json get basic message sending working 2020-03-24 17:27:42 +01:00
tslint.json get basic message sending working 2020-03-24 17:27:42 +01:00

README.md

donate

[WIP] mx-puppet-xmpp

This is a xmpp puppeting bridge for matrix. It is based on mx-puppet-bridge and provide multi-user instances.

Quick start using Docker

To build docker image:

docker build -t mx-puppet-xmpp:latest .

For docker you probably want the following changes in config.yaml:

bindAddress: '0.0.0.0'
filename: '/data/database.db'
file: '/data/bridge.log'

Also check the config for other values, like your homeserver domain.

Install Instructions (from Source)

  • Clone and install:
    git clone https://github.com/Sorunome/mx-puppet-xmpp.git
    cd mx-puppet-xmpp
    npm install
    
  • Edit the configuration file and generate the registration file:
    cp sample.config.yaml config.yaml
    # fill info about your homeserver and xmpp app credentials to config.yaml manually
    npm run start -- -r # generate registration file
    or
    docker run -v </path/to/host>/data:/data -it mx-puppet-xmpp -r
    
  • Copy the registration file to your synapse config directory.
  • Add the registration file to the list under app_service_config_files: in your synapse config.
  • Restart synapse.
  • Start the bridge:
    npm run start
    
  • Start a direct chat with the bot user (@_xmpppuppet_bot:domain.tld unless you changed the config). (Give it some time after the invite, it'll join after a minute maybe.)
  • Get your Xmpp username and password as below, and tell the bot user to link your xmpp account:
    link <username> <password>
    
  • Tell the bot user to list the available rooms: (also see help)
    list
    
    Clicking rooms in the list will result in you receiving an invite to the bridged room.

Working

  • link
  • text messages (mx -> xmpp)
  • text messages (xmpp -> mx)

TODO

  • fix "Replaced by new connection"
  • replies
  • edits
  • deletes
  • images
  • files