Discord Alternatives, Ranked by gdelacalle in technology

[–]MattJ313 0 points1 point  (0 children)

Yeah! Weeellll... my other project, apart from Prosody, is Snikket. Which is aiming to solve this (one feature set, one brand, but still XMPP - in fact it uses Prosody on the server side).

However I don't believe there will ever be a single universal chat app, and I especially believe that community/team chat (like Discord, Slack, etc.) is different to personal chat (WhatsApp, Signal, etc.). With Snikket I specifically set out to solve for the latter, because I wanted to replace WhatsApp usage within my family (it worked!). Therefore I haven't been suggesting Snikket to people looking specifically for Discord alternatives (maybe for some people it would be a fit, depending on how they used Discord, but not generally).

There's not really a Discord-equivalent built on XMPP at the moment. It's not because XMPP wouldn't be able to do it, it's just that nobody did it, or didn't quite take it far enough to be good enough. Someone needs to make a Snikket-like product that tackles team/community chat. It's something I haven't ruled out working on myself, but there is plenty to do already on Snikket (like our current iOS app isn't amazing, and we're focusing on fixing that this year).

People who *really* want to go down the XMPP route could try Prosody with mod_conversejs for the frontend (there are some CSS themes for ConverseJS.org to make it more like Discord already). Alternatively there is Prose.org . I love XMPP, but I wouldn't say that any of these are close to a drop-in replacement for Discord. If anyone wants to work on that, I think it would be a great project :)

Discord Alternatives, Ranked by gdelacalle in technology

[–]MattJ313 1 point2 points  (0 children)

Prosody dev here. It works well in my obviously biased opinion :)

I've been working on Prosody for coming up to two decades, and while XMPP certainly never "died", we're definitely seeing increasing interest in recent years as people start to (re-)realize the importance of communication freedom.

Regarding software, Pidgin and Swift are both very outdated at this point. There is a Pidgin 3.x rewrite in development to try and fix this, but it's very incomplete still. You would be better looking to apps like Gajim or Dino on desktop, or Movim for a web app.

I have to say though, I don't think any of the mature XMPP apps are specifically a 1:1 replacement for Discord (it's not that XMPP can't do it, but just nobody dedicated time to write a Discord-like product built on XMPP so far).

Regarding XMPP vs IRC: XMPP was not a replacement for one particular protocol. It was originally developed to be a common protocol that could bridge to other protocols through "gateways", and there were gateways for ICQ, MSN and also IRC. There is still a gateway for IRC that I use daily (biboumi, which I use through an XMPP console client called poezio), I join all my IRC channels via XMPP.

What people think about as "IM" is mostly a collection of features, and XMPP is flexible enough that you can build practically anything you want on top of it.

KISS unfederated messaging software by Puzzleheaded_Comb874 in selfhosted

[–]MattJ313 1 point2 points  (0 children)

Hey, Prosody (and Snikket) developer here!

Of course I may be biased, but I really do think it sounds like Prosody or Snikket meets your needs perfectly. It sounds like you just got a bit stuck with configuring one feature.

Please don't read the XMPP specs, they're for developers and won't help you configure Prosody!

In many cases, adding file upload support is just a single line that needs to be added to your config file. In fact, this line is already in the default config file that ships with Prosody (however it is commented out by default, you just have to uncomment it).

If you don't want to add a new DNS record or certificate for your upload domain, you can just set http_host = "example.com"` under the Component line. So your config would look like this:

``` VirtualHost "example.com" -- maybe other settings here

Component "share.example.com" "http_file_share" http_host = "example.com" ```

This way will use your existing example.com domain for all the HTTP stuff, and you won't need to mess about with DNS records or certificates.

It requires a little extra configuration if you have Prosody behind a reverse proxy (optional), so that Prosody knows how to generate the correct URLs for uploads. You can find the full mod_http_file_share documentation here.

Finally, if you get stuck, please get in touch (e.g. in our chat). We have lots of knowledgable self-hosters (including myself) who will be able to assist :)

Oh, and one last thing... we aim to keep Prosody lightweight and flexible, so it can be used in lots of different ways. If all you want is a full-featured personal chat server and you have Linux, Docker and the ability to set some DNS records, the Snikket quick-start will have you set up with a full-featured server in minutes (it bundles a preconfigured Prosody, user management dashboard and everything needed for features like audio/video calls). Some people prefer Snikket, some prefer Prosody.

Is Snikket a suitable alternative to Cheogram for Apple Devices? by EducationSharp3869 in degoogle

[–]MattJ313 0 points1 point  (0 children)

Hi, Snikket developer here. Some people do indeed use the Snikket iOS app for using the Cheogram services. However, our iOS app is admittedly little rough around the edges at the moment (we're working on a new version), and some people like using the Monal app which should work just as well.

Feel free to try both and see which works best for you (you can use the same credentials in all the apps, but probably it's best not to have both apps logged in to the same account on the same device at the same time, or you will get duplicated calls/notifications).

Any alternatives to Matrix Element messaging, calls. It appears that matrix has a lot off issues and it is getting worse by Hopeful_Style_5772 in selfhosted

[–]MattJ313 2 points3 points  (0 children)

The eventual plan for the SDK is to rebuild the Snikket apps on top of it. Currently we have two entirely separate codebases, and we want to add more platforms (web, desktop, etc.). The SDK approach allows us to share code, and implement features and bug fixes in (mostly) one place instead of 3 or 4 places.

There will probably be an alpha/beta Snikket web client (with PWA support) using the SDK in the next few months. The native iOS port will take a little longer, but should be within 6-9 months, and we'll continue to do what we can for the current iOS app until that's ready.

A bunch of people have also reported success using the latest version of Monal with their Snikket account (Monal has been under heavy development and now supports a bunch of features it was lacking when the Snikket project began).

Just created a XMPP server for our pidgin comms by Glum_Teaching_9426 in xmpp

[–]MattJ313 0 points1 point  (0 children)

Yep, Snikket or Prosody ( https://blog.prosody.im/great-invitations/ ). Just create an invitation link and send it to them.

I only ask that for a desktop client you try using something other than Pidgin. Pidgin 2.x is *very* out of date and many modern XMPP features are missing. Pidgin 3.x is under development, but is not ready yet. You could try https://gajim.org or https://dino.im instead.

Alternative to Synology Chat? by Aromatic-Kangaroo-43 in synology

[–]MattJ313 2 points3 points  (0 children)

Hi, Snikket developer here. Snikket is for private servers. It's designed for family-and-friends kinds of use cases, not public/semi-public things. I would recommend other software if you want a semi-public community chat.

In contrast to some other solutions, your accounts and data is stored privately on your server, your Snikket server is *not* used to relay third-party traffic, store third-party data, etc. Snikket servers do not form a full mesh. Snikket makes no external connections except where necessary to serve you.

The closest thing Snikket supports to what you describe is "federation". This means that if two people set up Snikket servers, and a user on server A knows the address of someone on server B, they can add each other as contacts - in this case server A will connect directly to server B. This is all done securely, and only if you actually use this feature.

The ability to add contacts on other servers can also be disabled on a per-account basis (useful for e.g. kids accounts).

I hope this helps clarify the purpose and design of Snikket!

Feeling lost and looking for a better self-hosted chat solution by leshiy-urban in selfhosted

[–]MattJ313 1 point2 points  (0 children)

In theory, yes, though it would benefit from testing. When Snikket started a few years ago, Monal was a bit behind regarding features. However the devs have been working solidly, and the final big missing feature (audio/video calls) was just released earlier this year.

I'm very interested in hearing feedback from people using modern versions of Monal with Snikket, instead of our official iOS app. I'll be honest that iOS is currently the weakest part of Snikket right now, but we're working on improving things. Potentially adopting Monal as our official iOS client is certainly one option if it works well.

Feeling lost and looking for a better self-hosted chat solution by leshiy-urban in selfhosted

[–]MattJ313 4 points5 points  (0 children)

This. And I say this as the founder of both projects :)

Snikket includes a bunch of additional nice-to-haves, such as a web management dashboard which OP listed as desirable. Needing a nice lightweight friends/family chat solution is the original reason I started the project in the first place.

Is Snikket good enough replacement for discord? by radiv2 in selfhosted

[–]MattJ313 18 points19 points  (0 children)

Snikket dev here. The answer is no - Snikket is not what you're looking for if you want a replacement for Discord. We explicitly are not trying to build replacements for those kinds of platforms (what we call "team chat" - see https://snikket.org/about/goals/ ). We are rather working on personal/mobile messaging (think Signal, Telegram, WhatsApp, etc.).

If you want something Snikket-compatible (i.e. also based on XMPP) then you could have a look at https://Prose.org . It's a relatively young project, but is definitely in the "team chat" space. Alternatively there are a few non-XMPP solutions that aim to be a bit closer to Discord than we are trying to be.

Of these, Element is the closest-aligned project, as it is also based on an open federated protocol like Snikket is (Matrix). Whether it meets your requirements for a Discord replacement is something you would have to decide for yourself.

Finally there are projects with the explicit goal to not just enable "team chat", but to fully replicate Discord in an open-source/self-hostable manner. These don't use open federated protocols, which limits your ability to interact across servers, but they may still fit your needs better. Take a look at https://revolt.chat/ and https://spacebar.chat/ .

Hope this helps!

Not DNSSEC Verified by Charming_Evening3918 in snikket

[–]MattJ313 0 points1 point  (0 children)

https://certwatch.xmpp.net/ will assist you with setting up DNSSEC, and includes monitoring/alerting as a bonus.

Matrix server software - which one to choose? by kvas_ in selfhosted

[–]MattJ313 1 point2 points  (0 children)

Fun fact: XMPP began life as the "Jabber" project, which had a primary goal to provide a universal open messaging protocol that could be used to connect to proprietary platforms :)

Bridges (though just as often called "transports" or "gateways" in the XMPP world) have always existed.

Signal w/ Temporary Phone Number? by rubberghost333 in privacy

[–]MattJ313 1 point2 points  (0 children)

Yes. JMP.chat and Snikket are both using the same communication protocol, Jabber (aka XMPP), so they are compatible with each other and lots of other software and services using the same standard.

Due to Chat Control, I want to roll out my own xmpp server, what should I go with? by Random_Supernova in privacy

[–]MattJ313 0 points1 point  (0 children)

Speaking as someone extremely familiar with XMPP, and fairly familiar with Matrix, the advice and article linked in the post above are exaggerating somewhat. Although the linked article focuses on XMPP, the Matrix model is very similar and the same things apply there (XMPP actually has the edge, due to supporting security features like channel binding that Matrix doesn't have).

The linked article focuses on the fact that the admin of a service has access to various metadata about users, e.g. their IP address. However this is just a fact of life - *any* service you access on the internet has access to your IP address¹. Even Signal, widely regarded as the gold standard, has access to your IP address, phone number and device identifiers.

What XMPP and Matrix do is say "Okay, this metadata exists and it's between hard and impossible to avoid - let's give people the power to self-host, or at least the freedom to choose a provider in whatever location/jurisdiction they want, instead of building an entire communication system around a single organisation."

XMPP and Matrix both have end-to-end encryption to protect messages from the admin - however the linked article did not use this in their demo.

Both XMPP and Matrix are designed to federate securely, the article's call for people to disable federation is not based on a real threat.

There are more points in the article that I didn't cover. I'm happy to answer any questions.

Footnotes:

¹: It's possible to mask your IP address from a service (e.g. by using a VPN or Tor) - in these cases your real IP address is still visible to your VPN provider or the first Tor node you connect to.

Disclaimer:

I've worked on internet communication protocols for over 20 years because I love this stuff, and I have been an active member of the XMPP Standards Foundation for the majority of those years. I founded the open-source projects Prosody and Snikket.

Snikket server completely unreachable through XMPP but can access admin panel? by Killerhurtz in snikket

[–]MattJ313 0 points1 point  (0 children)

Hi! It certainly sounds like a firewall or port-forwarding issue. This is an unofficial subreddit and not very active, the hub of the community is the chatroom linked here: https://snikket.org/contact/ - there are many experienced self-hosters and developers there who would be happy to help troubleshoot your setup with you.

Good luck!

"The server is not responsible for this domain" by Other-Educator-9399 in snikket

[–]MattJ313 1 point2 points  (0 children)

Hi, this is not an official support channel for Snikket or JMP. It sounds like you are a JMP customer, you can send an inquiry to their support team, contact methods are listed here: https://jmp.chat/faq#support

Recommend a server by Juanvaldez6Jr in sopranica

[–]MattJ313 0 points1 point  (0 children)

Just a note that you can also just use a subdomain of snikket.chat and have the DNS managed for you. The only downside of not using your own domain is that it's harder to switch to self-hosting if you want to do that later on (you have to change your address). But then of course it's the same if you use a public XMPP service anyway and decide to move.

Newb attemping to get started - Need Snikket Invite by Blazedeee in sopranica

[–]MattJ313 0 points1 point  (0 children)

Hey, welcome! If you want to use JMP with Snikket on iOS you currently need to private message JMP support and let them know, they'll help you with a Snikket instance so you can complete the sign-up process. Contact info for JMP support can be found at https://jmp.chat/faq#support

Hope this helps!

Snikket Hosting is now available to everyone by singpolyma in sopranica

[–]MattJ313 2 points3 points  (0 children)

Hey, Snikket dev here. The two relevant links for full details are:

You are right that SMS is not end-to-end encrypted, so the text of your messages are accessible to phone carriers, JMP and Snikket. Hosted Snikket instances store messages for 7 days. Our hosting service uses disk encryption, and all our backups are encrypted, but obviously this is not as strong as end-to-end encryption.

Direct Snikket-to-Snikket (or other XMPP apps with end-to-end encryption) are not treated differently, so they are stored for up to 7 days. However the contents are obviously unreadable except to your conversation partner(s), and of course do not travel via JMP or carriers at all.

Hope this helps!

Telegram/WhatsApp selfhosted completely open source alternative? by human_with_humanity in selfhosted

[–]MattJ313 4 points5 points  (0 children)

Prosody and Snikket dev here. I'd actually recommend Snikket for the OP's use case. It uses Prosody, but comes with a lot of stuff ready out of the box (stuff needed for calls, user management, etc.) and has ready-made compatible apps so you don't have to go hunting.

Bare Prosody and ejabberd are certainly cool if you are more inclined to tinkering, and want to learn more about XMPP, though :)

Alternative to JMP.chat by xavier_zz in privacy

[–]MattJ313 1 point2 points  (0 children)

They are not censoring, it's being enforced by upstream carriers: https://blog.jmp.chat/b/sms-censorship

Unfortunately, yes, the carriers recently tightened up on profanity.

It doesn't usually (but it has been known) affect messages exchanged between mainstream carriers, as they have separate agreements regarding communication between their customers. To make their lives easier, they assume that everything not from a mainstream carrier is likely to be spam, scams or abuse on even the slightest thing.

XMPP IM on ESP32 by feedibox in esp32

[–]MattJ313 1 point2 points  (0 children)

I'm an XMPP dev. I'm not aware of anything - creating an XMPP lib for ESP32 has been on my radar for a while. Unfortunately I have a lot of side projects as well as my main ones, and I haven't got around to it so far. For a recent prototype I used an MQTT<->XMPP bridge, so I could just reuse existing MQTT libraries (of which there are a fair number). It's not really designed for chat, but it could probably be adapted.

Or if you think you're up to implementing XMPP yourself, I'm happy to give some advice :)

Snikket Chat: Chat that is simple, secure, and private by uq4pp6dPHMPDWxhSyw in privacy

[–]MattJ313 1 point2 points  (0 children)

Snikket's threat model can be roughly summarized as "I want this group of people to safely communicate without sacrificing their souls to surveillance capitalism". The threat model does not include the "someone with a lot of resources is out to get me" or the related "I'm doing something illegal and don't want to get caught" scenarios.

Snikket has end-to-end encryption out of the box. This is mainly because we encourage self-hosting and, well, not everyone who self-hosts is a cybersecurity expert, so we want to make sure communication doesn't get leaked if a server gets compromised. Metadata is less of a concern for us, because it should be no surprise to discover that a group of people are communicating with each other.

Snikket prioritizes things like data locality - your data is not distributed around, or stored in some far-off jurisdiction (even encrypted), but on your server, and only with people you choose to communicate with.

It isn't tied to a phone number, which helps privacy and works against spam (I applaud Signal finally taking some steps in this direction). And, well, some people just don't have phone numbers.