[HN Gopher] Slidge - XMPP bridges
___________________________________________________________________
Slidge - XMPP bridges
Author : zaik
Score : 78 points
Date : 2022-09-04 14:57 UTC (2 days ago)
(HTM) web link (nicoco.fr)
(TXT) w3m dump (nicoco.fr)
| AndyMcConachie wrote:
| As someone who runs a prosody server and also has to maintain
| accounts on other platforms I really like this. I'm going to keep
| an eye on this project and maybe at some point in the future once
| other people have worked out the kinks I'll take a dive into it.
|
| This looks really ambitious and I hope it succeeds. My main
| concern is that it's swimming upstream against intrenched
| monopolies guarded by wealthy assholes. And experience has taught
| me that's not a recipe that leads to interoperability.
| nicoco wrote:
| For signal, telegram and mattermost, I am not too worried since
| their protocols are documented. Matrix support is planned and
| should not be too much of a problem either.
|
| About the full-proprietary platforms like messenger and discord
| that are actively against alternative client implementations,
| it's probably going to be hard to keep this working by myself.
| I chose to rely on 3rd party libs for this very reason. But
| even if these slidge plugins break, I'm still happy to use my
| XMPP clients for the more or less opened networks.
| edhelas wrote:
| Hi, Movim developer here https://movim.eu/
|
| I'm really happy to finally see some modern bridging features
| integrated with XMPP and compatible with the latest standard
| (reactions, quotes, status...) !
| nicoco wrote:
| And I'm really happy there is one client I can use these
| features with.
| SamWhited wrote:
| This is great! I've been using Conversations as my main chat
| client bridged to IRC and my phone number (using jmp.chat for
| phone and disroot.org or jmp's IRC bridges) for a while, but I
| can imagine phone and IRC aren't generally the ones most people
| want. Having more bridges will be really nice!
| nicoco wrote:
| Thanks for the kind words. So, you use Conversations for SMSes
| too? The SIM card in your phone is just a mobile internet
| thing, you don't actually use it to make calls? I'm curious
| about your usage. :)
| zie wrote:
| jmp.chat is awesome, that's def. what I use for this. I am
| deaf, so I don't ever make voice calls, but I use the SMS/MMS
| features of JMP.chat and am happy.
| EFruit wrote:
| wrt. Discord and their stance on "self-bots", what is the
| demarcation point between their (web) app and my computer?
|
| Is using a screen reader a self-bot? Is a non-screen reader
| Firefox add-on that uses the API a self-bot? What if I write an
| add-on that keeps track of Discord-specific state via it? What if
| that add-on exposes an API to read my DMs? What if it exposes an
| API to send them?
| nicoco wrote:
| "self-bot" is a weird name for alternative clients in the first
| place. Preventing spam is obviously their justification for
| being so strict about it.
|
| I believe screen readers are OK, but a Firefox add-on using API
| calls would be considered against their ToS.
| nicoco wrote:
| Oh, that's my little project. I planned on doing a show HN in a
| few days or so, but someone was faster than me. I'm happy to
| answer any question.
|
| Slidge even has a hackernews plugin, to be notified of replies to
| your comments and to re-reply from you XMPP client. ;)
| jaimehrubiks wrote:
| wow, that's super cool!
| Semaphor wrote:
| Very cool, I'll have to try this out with my prosody server. I'd
| use it for Facebook (after a long break, FB will be back in my
| XMPP network :D), Signal, and maybe Telegram. Does anyone know if
| any of those have issues with alternative clients?
| nicoco wrote:
| Facebook does not like alternative clients, but this workaround
| [1] worked for me. Signal is OK, and Telegram actually
| encourages writing alternative clients [2]. I'm happy to assist
| setting it up, come say hi on our MUC.
|
| [1]
| https://slidge.readthedocs.io/en/latest/user/low_profile.htm...
|
| [2] https://tdlib.github.io/td/
|
| [3] xmpp:slidge@conference.nicoco.fr?join
| Semaphor wrote:
| I saw that page, but actually missed the note as it got
| filtered by my brain's adblocker ;)
|
| And thanks, it won't be till next week as I'm at a festival
| this weekend, but I already joined (this might be my first
| XMPP MUC since around 2008) :)
| igorkraw wrote:
| What is the relationship of this to Matrix, which also has
| bridges?
| nicoco wrote:
| It's unrelated, except for the fact that I used the reverse
| engineering of the facebook messenger protocol by the mautrix
| team [1]. XMPP has had bridges more or less from the start. [3]
|
| I may add a "matrix plugin" [2] if I feel like it someday, but
| probably after I implement group chat support. Then you'll be
| able to use XMPP<->Matrix<->some-other-thing for extra over-
| engineering points. ;)
|
| I prefer XMPP because it's lighter on resources, server-wise at
| least, and it's managed through a democratic process, which has
| it upsides and downsides. As someone I like said "democracy is
| boring, dictatorship works faster".
|
| [1] https://github.com/mautrix/facebook
|
| [2] https://todo.sr.ht/~nicoco/slidge/27
|
| [3] https://xmpp.org/extensions/xep-0100.html
| Arathorn wrote:
| fwiw, Matrix is also a democratic process:
| https://spec.matrix.org/proposals/#process. (As much as i'd
| love to be a dictator :P)
| nicoco wrote:
| I did not know that, I gotta edit a bunch of replies now,
| thanks for correcting me.
|
| To be fair, one of the reason I use XMPP and not matrix is
| that I didn't hear about matrix until after I managed to
| set up my own server and get some of my entourage to use it
| too, about 5 years ago or so. Interoperability is the
| important part anyway, and I'll work on slidge-matrix when
| I fix/improve some stuff in the existing core/plugins.
| Arathorn wrote:
| tbh Matrix was pretty green 5 years ago, so you probably
| didn't miss much. Thanks for considering a slidge-matrix
| bridge. On the Matrix side, we already have
| https://github.com/matrix-org/matrix-bifrost as our main
| Matrix<->XMPP bridge, but it could definitely be better,
| and the more interop between open protocols the better
| \o/ :)
| remram wrote:
| That's great! Who votes?
| upofadown wrote:
| List of systems this currently works with:
|
| * Signal
|
| * Telegram
|
| * Discord
|
| * Steam
|
| * Mattermost
|
| * Facebook
|
| * Skype
| ephbit wrote:
| Threema?
| nicoco wrote:
| Probably someday? https://todo.sr.ht/~nicoco/slidge/1
| e12e wrote:
| Did you look at/consider zulip? Using it at work now, and
| miss a simple/irc-like cli client (there's an official
| client that runs in the terminal - but it's more of a TUI
| than a weechat-work-a-like. However their python Api is
| nice enough that one can almost just use that. But maybe
| only for writing - not full participation in
| conversations... :)
| nicoco wrote:
| Nope, didn't know about it. At first glance, it looks
| like the pypi package is for sending messages only. Since
| it's all open source, I guess it should not be too much
| work to get a slidge-zulip plugin working.
|
| Feel free to open a ticket about it in slidge's todo.
|
| https://todo.sr.ht/~nicoco/slidge
|
| https://slidge.readthedocs.io/en/latest/dev/tutorial.html
| tabbott wrote:
| Correction: The Zulip Python bindings can be used for any
| API endpoint. See https://zulip.com/api/rest. We'll fix
| https://pypi.org/project/zulip/, which apparently doesn't
| link there.
|
| https://github.com/zulip/python-zulip-
| api/tree/main/zulip/in... has a few bridges similar to
| what you're building that may be helpful references; the
| Zephyr one is the most sophisticated and the Matrix one
| is about to be rewritten
| (https://github.com/zulip/python-zulip-api/pull/765), so
| those may be useful resources.
| nicoco wrote:
| Thanks for the information! I added this to my tracker
| then. Not sure I'll work on it soon, but at least the
| relevant links you gave me are stored somewhere easy to
| find now.
|
| https://todo.sr.ht/~nicoco/slidge/46
| sylware wrote:
| If I recall properly, a new EU directive requires interop for
| discord/whatsapp/etc. But it does not solve the account creation
| issue.
| nicoco wrote:
| Someone mentioned this directive on slidge's MUC* yesterday,
| but I haven't looked into it too much yet. I guess slidge's
| plugins should be easier to maintain once this is directive is
| in application. I should focus on improving slidge's core more
| then.
|
| * xmpp:slidge@conference.nicoco.fr?join
| sylware wrote:
| This is a very shy attempt at, finally, regulate big tech:
| interop with protocols which are stable in time and simple
| enough to do a good enough job. Big tech dreads something
| that would disable software/network protocols planned
| obsolescence (it is much less true for hardware), don't
| forget, those ppl are scammers: if they cannot "embrace and
| extend" anymore...
|
| In their directive, they forgot noscript/basic (x)html
| interop, and for the messaging protocols, the account
| creation which is actually a big issue.
| jamesrr39 wrote:
| I didn't know about this, and was curious about it, so went to
| look it up. It's part of the Digital Markets Act:
|
| > ... EU lawmakers agreed that the largest messaging services
| (such as Whatsapp, Facebook Messenger or iMessage) will have to
| open up and interoperate with smaller messaging platforms, if
| they so request.
|
| Small nitpick, while it would definitely apply to Whatsapp (it
| is mentioned by name in the press release), I am not sure if
| this applies to Discord? IIRC it is not a "gatekeeper".
|
| Gatekeeper definition from press release:
|
| > market capitalisation of at least 75 billion euro or an
| annual turnover of 7.5 billion. To be designated as
| "gatekeepers", these companies must also provide certain
| services such as browsers, messengers or social media, which
| have at least 45 million monthly end users in the EU.and 10 000
| annual business users.
|
| Full press release:
| https://www.europarl.europa.eu/news/en/press-room/20220315IP...
| dewey wrote:
| I used to have a similar setup to use IRC for everything using
| https://www.bitlbee.org. Fun times!
| nicoco wrote:
| This seems to still be actively developed and has a quite a lot
| of people still using it. I think there is some value from XMPP
| over IRC, but hey, whatever worked for you is cool. What do you
| use now?
|
| https://xkcd.com/1782/
| dewey wrote:
| I was very happy to see multiple releases in 2022 too! I have
| to admit that I don't use anything cool like that any more as
| I'm rarely on IRC and all the instant messengers kinda went
| away or got too closed down to be used with services like
| that.
| Wowfunhappy wrote:
| This is cool! I've looked into setting up Matterbridge before,
| but as far as I can tell it can't do what I actually want--chat
| on Slack/Discord/Whatsapp from my existing XMPP client, without
| anyone on those services _knowing_ I'm using an XMPP client.
|
| I would need group messaging to work, however. Looking forward to
| that potentially becoming possible some day!
| MattJ100 wrote:
| How do you think they would know you are using an XMPP client?
| Wowfunhappy wrote:
| What I mean is, when I type in my XMPP client, I want someone
| in e.g. Discord to see: [Wowfunhappy]
| "hello world"
|
| And not: [TransportBot] "Wowfunhappy: hello
| world"
| MattJ100 wrote:
| The TransportBot approach is how things like Matterbridge
| work. Slidge uses a different approach where your XMPP
| address is translated to your identifier on the third-party
| platform.
| Wowfunhappy wrote:
| Exactly! That's why I've never set up Matterbridge, and I
| think Slidge sounds great!
| nicoco wrote:
| Author here, thanks for your comment, "cool" is what I aim at.
|
| >without anyone on those services knowing I'm using an XMPP
| client
|
| Slidge acts in a way that (should) make it impossible for your
| contacts to know you are not using the official app. However,
| since some services are OK with alternative clients, Slidge
| does not necessarily tries to hide its "identity". For services
| that are less tolerant about it, I wrote a quick documentation
| page with advice about how to avoid triggering their "security"
| alerts (mostly because they'll see connecting from a data
| center, unless you host at home):
| https://slidge.readthedocs.io/en/latest/user/low_profile.htm...
|
| Group messaging is definitely the next big feature I want in
| Slidge. There were part of Slidge's first iteration, but I
| decided to postpone them since it was too ambitious for a
| start. I really want direct messages to work well, and the code
| to be maintainable enough before I (re)implement groups. You
| can help by setting up slidge on your server and bug reporting.
| ;)
| sneak wrote:
| By being accessible on these unsafe, unencrypted services, you
| increase their value and increase their attractiveness to your
| friends and family and associates.
|
| If you believe that private communications are important, you
| should delete your account on unencrypted services (iMessage,
| Discord, Telegram, Instagram, Facebook, etc) so that you are not
| reachable at all via these methods.
|
| Otherwise you personally serve as the honey in the surveillance
| trap.
| nicoco wrote:
| Slidge can be used to bridge XMPP and signal, and I'm actually
| more motivated to keep it working with relatively open services
| like signal than with services from Big Ad.
|
| I personally think XMPP is superior to signal, being
| decentralised and with an open governance. For instance, I've
| not yet seen some cryptocurrency crap being pushed at me on the
| XMPP side, which I very much enjoy. I wish everybody moved to
| XMPP, but apparently it's not going to happen anytime soon, so
| in the meantime, I'll try to contribute to making XMPP the best
| instant messaging network. When everyone moves to XMPP, then
| slidge will have no reason to exist anymore, and my evil plan
| will have succeeded.
| jrm4 wrote:
| This is deeply terrible and naive advice and should be mostly
| ignored, even (especially) if you agree with the underlying
| idea. This sort of absolutism doesn't help the problem at all.
|
| Better to consider second order effects. People have lives to
| live, and connecting with people is the most important thing.
| You'll actually help more if you DO stay connected and, over
| time, let them know and offer to help with using a diverse
| range of communications technology over time.
|
| I've been faced with this choice, more or less, and (in my
| case) NOT choosing to be a stickler about it (and joining up
| with people on Discord) has opened up my and their worlds quite
| a bit.
|
| This is a special case. Which is to say, it's weird that the
| technology you're trying to get rid of or improve at present
| still might be the best tool to get it done, but hey.
| Wowfunhappy wrote:
| I have a life to live. My friends and family and coworkers use
| Slack and Discord and iMessage, so I need to be available there
| for them.
| spicybright wrote:
| Agreed. I actually think the opposite of GP too. If you want
| people to transition from proprietary services, you need to
| ease them into it over time. If you make something truly more
| valuable without the downside of "jumping ship", people will
| come.
|
| Just using XMPP alone is a slight upgrade from those services
| either way TBH
| sneak wrote:
| My friends and family and coworkers installed Signal to talk
| to me.
|
| Someone who won't install a trivial and safe free app to
| maintain connection with you is perhaps not as valuable a
| connection as one might think.
|
| I also have a life to live, and it is important to me that
| living that life does not make the world more dangerous for
| myself, my loved ones, and others in society. Surveillance
| systems do that, so I don't use them.
| firstcommentyo wrote:
| I agree but I'm confused how you can use Signal in the same
| sentence then.
|
| Reminds me at duckduckgo: makes claims and builds big
| branding about security but nobody (including me) ever
| questioned them. (Regarding article not at hand but of
| course also on HN.)
|
| The first question I would ask: how does Signal finances
| itself when the service is practically "free"...
|
| For the rest I totally agree: I could also convince some
| for XMPP/Jabber while at the same time it lets me question
| my relationship to those I couldn't move. I mean it's not
| that these days you couldn't install a second app if you
| already have 50 useless i.e. "coupon" apps installed
| anyway.
| sneak wrote:
| Signal is a nonprofit that depends on donations.
| nicoco wrote:
| > I mean it's not that these days you couldn't install a
| second app if you already have 50 useless i.e. "coupon"
| apps installed anyway.
|
| Don't get me started on this. It saddens me to see so
| much resistance from a lot of my friends that don't even
| want to try a tiny, privacy-friendly, open-source, non-
| battery consuming app when they have like 50 attention-
| stealing spyware apps installed on their phone. Marketing
| works scandalously well.
| nicoco wrote:
| >Someone who won't install a trivial and safe free app to
| maintain connection with you is perhaps not as valuable a
| connection as one might think.
|
| That's a pretty radical stance and I respect it.
|
| However, I consider that keeping in touch with people that
| don't get why they shouldn't use Meta or Google is actually
| more productive than bubbling myself in a hacktivist
| bubble. I actually have more chance to get them interested
| in mass surveillance concerns by keeping in touch than by
| ghosting them.
| sneak wrote:
| I'm not an activist. I simply wish to not make the world
| worse via my own direct actions.
|
| Using surveillance platforms makes the world worse, so I
| don't.
| nicoco wrote:
| Arguably, calling other human beings "non valuable
| connections" does not make the world a better place
| either.
| pabs3 wrote:
| Reminds me of the JMP gateway between SMS and XMPP and the
| biboumi gateway between IRC and XMPP.
|
| https://jmp.chat/ https://biboumi.louiz.org/
|
| Edit: also cheogram https://cheogram.com/
| nicoco wrote:
| It's actually closer to spectrum2 in how it behaves. I hope
| slidge will get as rock-solid as biboumi is!
|
| https://spectrum.im/
___________________________________________________________________
(page generated 2022-09-06 23:01 UTC)