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 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:

¹ ² ³ 🗎 🗑
Signal - -
Telegram
Discord - ~
Steam - - ~ - -
Mattermost ~ -
Facebook
Skype ~

(this table may not be entirely accurate, but in theory, stuff marked ✓ works)

NB: - 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 alpha-grade software. Right now, only direct messages are implemented, no group chat stuff at all. Direct messaging does (more or less) work though. Any contribution whatsoever (testing, patches, suggestions, beer, …) is more than welcome. Don't be shy!

Testing locally should be fairly easy, so please go ahead and give me some feedback, through the MUC, the issue tracker or in my public inbox.

Installation

docker-compose

Docker-compose spins up a local XMPP server preconfigured for you., with a test@localhost / password account

docker-compose up

For the other options, you need a configured XMPP server.

poetry

poetry install --extras signal  # you can replace signal with any network listed in the table above
poetry run python -m slidge --legacy-module=slidge.plugins.signal

pip

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

XMPP client

movim

If you used docker-compose, you should be able to use the movim client from your browser at http://localhost:8888

Unfortunately, the movim UI thinks that test@localhost is not a valid JID and does not let you click on the "Connect" button. As a workaround, use your browser dev tools to inspect and modify the <input id="username" in order to remove the pattern="^[^... attribute.

Then go to the Configuration/Account tab. You should be able to register to the slidge gateways from here.

Gajim

Install and launch gajim and add your XMPP account. Go to "Accounts"→"Discover services". You should see the slidge gateways as server components.

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.0b0.tar.gz (101.9 kB view details)

Uploaded Source

Built Distribution

slidge-0.1.0b0-py3-none-any.whl (130.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: slidge-0.1.0b0.tar.gz
  • Upload date:
  • Size: 101.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.15 CPython/3.10.6 Linux/5.15.64-0-lts

File hashes

Hashes for slidge-0.1.0b0.tar.gz
Algorithm Hash digest
SHA256 cbc4b4e184f6cb5b3790e1d4c8ac14106d9e3ad661ae25a1768689682043aaaf
MD5 934e0756068876f903bf89523f24c35b
BLAKE2b-256 91129134b94411109a09f65a51a3de26c3ba8b53fd35b6d66ec8f05590320bd3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: slidge-0.1.0b0-py3-none-any.whl
  • Upload date:
  • Size: 130.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.15 CPython/3.10.6 Linux/5.15.64-0-lts

File hashes

Hashes for slidge-0.1.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb7531f66b7e14405aebf7b3d1d975afa0d4654d329a155eabf78d4cdcc1200e
MD5 c5cb8227f416a960c14e4a1ce0238b10
BLAKE2b-256 10c3b1670ff95d959fb29eaf31d81795a8285a8a308467fdbae60ecdfc1e0a12

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