Home | Docs | Source | Issues | Patches | Chat
Turn any XMPP client into that fancy multi-protocol chat app that every cool kid want.
Slidge is a general purpose XMPP (puppeteer) gateway framework in python. It's a work in progress, but it should make writing gateways to other chat networks (plugins) as frictionless as possible.
It comes with a few plugins included, implementing basic direct messaging and more "advanced" instant messaging features:
PresencesΒΉ | TypingΒ² | MarksΒ³ | Uploadβ΄ | Editβ΅ | ReactβΆ | Retractβ· | ReplyβΈ | GroupsβΉ | |
---|---|---|---|---|---|---|---|---|---|
Signal | N/A | β | β | β | N/A | β | β | β | ~ |
Telegram | β | β | β | β | β | β | β | β | ~ |
Discord | β | β | N/A | β | β | ~ | β | β | β |
Steam | β | β | N/A | β | N/A | ~ | N/A | N/A | β |
Mattermost | β | β | ~ | β | β | β | β | β | β |
β | β | β | β | β | β | β | β | β | |
Skype | β | β | β | β | β | β | β | β | β |
β | β | β | β | N/A | β | β | β | β |
This table may not be entirely accurate, but in theory, stuff marked β works. N/A means that the legacy network does not have an equivalent of this XMPP feature (because XMPP is better, what did you think?).
WARNING: you may break the terms of use of a legacy network and end up getting your account locked by using slidge. Refer to the keeping a low profile documentation page for more info.
Slidge is beta-grade software for 1:1 chats. Group chat support is experimental.
Try slidge and give us some feedback, through the MUC, the issue tracker or in the public inbox. Don't be shy!
Containers for arm64 and amd64 are available on docker hub.
Debian packages for bullseye (amd64 only for now, help welcome to support other architectures) are built on each push to master as artifacts of this build job.
A repo is maintained by IGImonster. To use it do this (as root):
# trust the repo's key
wget -O- http://deb.slidge.im/repo/slidge.gpg.key \
|gpg --dearmor \
|tee /usr/share/keyrings/slidge.gpg > /dev/null
# add the repo, replace 'release' with 'nightly' if you're feeling adventurous
echo "deb [signed-by=/usr/share/keyrings/slidge.gpg] http://deb.slidge.im/repo/debian release main" \
> /etc/apt/sources.list.d/slidge.list
# install
apt update && apt install slidge -y
Refer to the docs for information about how to use the provided systemd service files.
Tagged releases are uploaded to pypi and should
be installable on any distro with pipx
.
pipx install slidge[signal] # you can replace signal with any network listed in the table above
slidge --legacy-module=slidge.plugins.signal
If you're looking for the bleeding edge, download an artifact here.
Slidge (and most if not all XMPP gateway that I know of) will break end-to-end encryption, or more precisely one of the 'ends' become the gateway itself. If privacy is a major concern for you, my advice would be to: