this post was submitted on 07 Aug 2024
27 points (86.5% liked)

Selfhosted

39241 readers
280 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

The telegram app has a very nice interface, but I want to use a self hosted xmpp chat server.

Is there maybe a fork of telegram that makes it work with a self hosted xmpp server? I would imagine that this is possible.

If not, is there anything that at least gets close to how nice telegram UI is?

all 26 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 1 month ago

You want a bridge. Like Jabagram or Emulsion. But there's a limited set of features that will work. For example, reactions or group admin on telegram can't be easily replicated over xmpp. And, in any case, we are talking more about having messages and media on both rooms, on either side, replicated. That way, users on telegram (e.g. your friend) can talk to users on xmpp (e.g. you). Reliability for bridges is not good, there are glitches and messages that doesn't make it to the other side, whichever that is. I'd say you prefer to self-host xmpp with cherry-picked extensions, like snikket.org

[–] [email protected] 4 points 1 month ago

Just use Conversations. It's fine.

[–] [email protected] 0 points 1 month ago (1 children)
[–] [email protected] 2 points 1 month ago (1 children)
[–] [email protected] 0 points 1 month ago* (last edited 1 month ago) (1 children)
  • a fork of telegram ✅
  • Works with some other chat server ✅

You can now use telegram with any matrix compatible client you like

[–] [email protected] 5 points 1 month ago

mautrix/telegram is a bridge between Matrix and Telegram. It mostly lets users of Matrix contact their friends who use Telegram. It is not a fork of Telegram and has nothing to do with the Telegram interface. (Note: OP wanted to use the Telegram client with a non-Telegram server. If you know of a Matrix client which looks and feels like the Telegram client, thats what theyre after.)

[–] [email protected] 1 points 1 month ago* (last edited 1 month ago)

If you don't strictly speaking need XMPP, you might want to checkout Jami which is a peer-to-peer based chat app with a fairly polished UI. It still definitely feels like beta software at times though, so more of a "be aware of it and check in on it" than "actively use this for all of your chats" sort of thing.

[–] [email protected] 5 points 1 month ago* (last edited 1 month ago) (1 children)

OP, I understand what you look for, but that's not easy task. From my limited knowledge of apps development, achieving what you requested would likely be:

  1. Identify and remove all relevent code to the backend. Easier if it's modular, very hard if they're litrered everywhere.
  2. Chose a XMPP client library that have relavent extension support that can translate Telegram features that XMPP understands.
  3. Write an adaptor (if modular) to match the methods signature and translates calls to the client library. Or reimplement all the code you removed (if littered everywhere) with the client library.

This is akin to swaping to a new engine for a car, with incompatible mounts. Diffcult to execute, and (I believe) low interest. You can try if you got the skills. I don't and even I have, I will just use SimpleX which fits my needs.

[–] [email protected] 2 points 1 month ago* (last edited 1 month ago)

In theory you could use Telegram X and reimplement the tdlib API to create such a client. It wouldn't be the main Telegram Android app, but Telegram X is in someways even nicer.

[–] [email protected] -1 points 1 month ago

Back up a second. Reread your question.

[–] [email protected] 12 points 1 month ago* (last edited 1 month ago) (1 children)

I wondered about this before but apparently the Telegram client is terrible spaghetti code under the hood, making these kind of ideas not feasible.

You might like Monocles Chat though, which is an Android XMPP client with a somewhat nicer looking interface.

There is also the work in progress Moxxy client, which is a from ground up new XMPP client written in Flutter. It seems to take some interface inspiration from Telegram, but to be honest, it isn't anywhere near to be fully usable and development has been slow in recent months.

[–] [email protected] 5 points 1 month ago* (last edited 1 month ago)

Monocles looks really nice! I'll try it out, it may be exactly what I need. Thanks :)

[–] [email protected] 5 points 1 month ago* (last edited 1 month ago) (1 children)

~~Telegram isn't open source, so I don't think you're going to find forks of it.~~

I stand corrected. Telegram's client is open source (GPL) and what OP is asking for is reasonable.

[–] [email protected] 12 points 1 month ago (1 children)

Telegram client is open source, and there are many forks of it with enhanced features (forkgram, nekogram, etc.)