Skip to main content

XMPP bridging framework

Project description

Slidge 🛷

Home | Source | Issues | Patches | Chat

Turn any XMPP client into that fancy multiprotocol chat app that every cool kid want.

Documentation status builds.sr.ht status Debian package pypi

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 at least basic direct messaging and often 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 ~
Facebook
Skype
WhatsApp 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.

Status

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!

Installation

containers

Containers for arm64 and amd64 are available on docker hub.

debian

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.

pip

Tagged releases are uploaded to pypi.

pip install slidge[signal]  # you can replace signal with any network listed in the table above
python -m slidge --legacy-module=slidge.plugins.signal

If you're looking for the bleeding edge, download an artifact here.

About privacy

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:

  • use XMPP + OMEMO
  • self-host your gateways
  • have your gateways hosted by someone you know AFK and trust

Related projects

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slidge-0.1.0rc1.tar.gz (153.6 kB view details)

Uploaded Source

Built Distribution

slidge-0.1.0rc1-py3-none-any.whl (194.5 kB view details)

Uploaded Python 3

File details

Details for the file slidge-0.1.0rc1.tar.gz.

File metadata

  • Download URL: slidge-0.1.0rc1.tar.gz
  • Upload date:
  • Size: 153.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.11.1 Linux/6.1.3-0-lts

File hashes

Hashes for slidge-0.1.0rc1.tar.gz
Algorithm Hash digest
SHA256 24282adf341fdedd42e27bb7cecdbd0073b9a81c4ae239c5b2d7812311de9b18
MD5 9a1cc8cea2fb6f268d1c131067acac37
BLAKE2b-256 8c8a2c9578dc6eea4310b39ec27e7b52e5c7794084dede834542db0b10bd13fd

See more details on using hashes here.

File details

Details for the file slidge-0.1.0rc1-py3-none-any.whl.

File metadata

  • Download URL: slidge-0.1.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 194.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.11.1 Linux/6.1.3-0-lts

File hashes

Hashes for slidge-0.1.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 1c2ef99c81f11200f41d70664b53be943d0abd4f596411987f9032625b344137
MD5 96f25561fa064fdf6da33432e1697bf6
BLAKE2b-256 e68b0c004be9d1acdfd3fdde39452d37ef2b43efd8972fe3676710f421cacc95

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page