8 ms·
Slidge – XMPP bridges
- Daegalus 4y agoHonestly, this has convinced me to give XMPP a proper go again. I tried Matrix and bridges, and it was just too heavy for 1 user. maybe XMPP will be light enough, especially with these integrations.
- EFruit 4y agowrt. 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 4y ago"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.
- Wowfunhappy 4y agoThis 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 4y agoHow do you think they would know you are using an XMPP client?
- Wowfunhappy 4y agoWhat 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"
- Daegalus 4y agofrom my understanding, Slidge does it the style where it effectively logs in as you and sends everything from your account. which is usually frowned upon by Discord but it's how it works, similar to how it works for many matrix bridges.
- MattJ100 4y agoThe 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 4y agoExactly! That's why I've never set up Matterbridge, and I think Slidge sounds great!
- nicoco 4y agoAuthor 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.html 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. ;)
- sylware 4y agoIf I recall properly, a new EU directive requires interop for discord/whatsapp/etc. But it does not solve the account creation issue.
- nicoco 4y agoSomeone 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 4y agoThis 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 4y agoI 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/20220315IPR25504/deal-on-digital-markets-act-ensuring-fair-competition-and-more-choice-for-users https://www.europarl.europa.eu/news/en/press-room/20220315IP...
- nicoco 4y agoOh, 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 4y agowow, that's super cool!
- upofadown 4y agoList of systems this currently works with: * Signal * Telegram * Discord * Steam * Mattermost * Facebook * Skype
- ephbit 4y agoThreema?
- nicoco 4y agoProbably someday? https://todo.sr.ht/~nicoco/slidge/1 https://todo.sr.ht/~nicoco/slidge/1
- e12e 4y agoDid 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 4y agoNope, 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://todo.sr.ht/~nicoco/slidge https://slidge.readthedocs.io/en/latest/dev/tutorial.html https://slidge.readthedocs.io/en/latest/dev/tutorial.html
- tabbott 4y agoCorrection: The Zulip Python bindings can be used for any API endpoint. See https://zulip.com/api/rest https://zulip.com/api/rest. We'll fix https://pypi.org/project/zulip/ https://pypi.org/project/zulip/, which apparently doesn't link there. https://github.com/zulip/python-zulip-api/tree/main/zulip/integrations 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 https://github.com/zulip/python-zulip-api/pull/765), so those may be useful resources.
- edhelas 4y agoHi, Movim developer here https://movim.eu/ 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 4y agoAnd I'm really happy there is one client I can use these features with.
- igorkraw 4y agoWhat is the relationship of this to Matrix, which also has bridges?
- nicoco 4y agoIt'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 https://github.com/mautrix/facebook [2] https://todo.sr.ht/~nicoco/slidge/27 https://todo.sr.ht/~nicoco/slidge/27 [3] https://xmpp.org/extensions/xep-0100.html https://xmpp.org/extensions/xep-0100.html
- Arathorn 4y agofwiw, Matrix is also a democratic process: https://spec.matrix.org/proposals/#process https://spec.matrix.org/proposals/#process. (As much as i'd love to be a dictator :P)
- nicoco 4y agoI 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 4y agotbh 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 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/ :)
- Semaphor 4y agoVery 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 4y agoFacebook 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.html https://slidge.readthedocs.io/en/latest/user/low_profile.htm... [2] https://tdlib.github.io/td/ https://tdlib.github.io/td/ [3] xmpp:slidge@conference.nicoco.fr?join
- Semaphor 4y agoI 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) :)
- sneak 4y agoBy 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.
- jrm4 4y agoThis 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 4y agoI 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 4y agoAgreed. 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 4y agoMy 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.
- pabs3 4y agoReminds me of the JMP gateway between SMS and XMPP and the biboumi gateway between IRC and XMPP. https://jmp.chat/ https://jmp.chat/ https://biboumi.louiz.org/ https://biboumi.louiz.org/ Edit: also cheogram https://cheogram.com/ https://cheogram.com/
- nicoco 4y agoIt's actually closer to spectrum2 in how it behaves. I hope slidge will get as rock-solid as biboumi is! https://spectrum.im/ https://spectrum.im/
- AndyMcConachie 4y agoAs 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 4y agoFor 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.
- dewey 4y agoI used to have a similar setup to use IRC for everything using https://www.bitlbee.org https://www.bitlbee.org. Fun times!
- nicoco 4y agoThis 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/ https://xkcd.com/1782/
- dewey 4y agoI 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.
- SamWhited 4y agoThis 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 4y agoThanks 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 4y agojmp.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.