General purpose puppeting bridges using libpurple
This bridge is in very active development currently and intended mainly for experimentation and evaluation purposes.
node-purple to compile correctly, you will need (for Debian):
You can install this on Ubuntu/Debian using
sudo apt install build-essential libuv1.
Instructions for other distributions will come soon.
Installing & Configuring
npm install # Install dependencies npm run build # Build files cp config.sample.yaml config.yaml # ... Edit the config to taste
Generate a registration file
npm run genreg -- -u http://localhost:9555 # Set listener url here.
(Note, we reccomend using the
start.sh script and modifying the port where needed)
npm run start -- -p 9555
Binding purple accounts to a Matrix User
The bridge won't do much unless it has accounts to bind. Due to the infancy of the bridge, we still use
for the location of all the accounts. Our advice is to create the accounts you want to use on your local machine with Pidgin, and
then copy the
accounts.xml file to the bridge (where you should be copying the file to
Once you have started the bridge, you can instruct it to bind by starting a conversation with the bridge user and
accounts add-existing $PROTOCOL $USERNAME where the protocol and username are given in the
You should also run
accounts enable $PROTOCOL $USERNAME to enable the account for the bridge, and then it should connect automatically.
My bridge crashed with a segfault
node-purple rewrite is still not quite bugfree and we are working hard to iron out the kinks in it. We ask that you report
if certain purple plugins cause more crashes, or if anything in particular lead up to it.