Difference between revisions of "XMPP"

From NixNet
m (mention a/v)
m (remove notice and placeholder text)
Line 1: Line 1:
 
{{Note|'''Note:''' the old XMPP server on <code>nixnet.xyz</code> is being retired due to a variety of issues. I will leave it running until 1 June then shut it down. If you would still like an XMPP account, a new server has been set up and registration is open.|error}}
 
{{Note|'''Note:''' the old XMPP server on <code>nixnet.xyz</code> is being retired due to a variety of issues. I will leave it running until 1 June then shut it down. If you would still like an XMPP account, a new server has been set up and registration is open.|error}}
{{Note|'''Note:''' audio and video calls are a WIP. All other features should be fine.|warn}}
 
 
{{Infobox Software
 
{{Infobox Software
 
| name = XMPP
 
| name = XMPP
Line 108: Line 107:
  
 
= Audio and video calls =
 
= Audio and video calls =
A/V calls are currently broken and disabled for these domains. I'm working on getting it set up though.
+
 
  
 
= "Migration" from nixnet.xyz =
 
= "Migration" from nixnet.xyz =
 
Unfortunately, there is no proper route; the server was in such a bad state that your best bet regarding migration is to leave your old account in the client and copy contacts/rooms to the new account. Clients usually store conversations, contacts, and bookmarks (MUCs) locally. This will allow you to log into your new account and re-add contacts and bookmarks from the old.
 
Unfortunately, there is no proper route; the server was in such a bad state that your best bet regarding migration is to leave your old account in the client and copy contacts/rooms to the new account. Clients usually store conversations, contacts, and bookmarks (MUCs) locally. This will allow you to log into your new account and re-add contacts and bookmarks from the old.

Revision as of 00:01, 22 May 2021

Note: the old XMPP server on nixnet.xyz is being retired due to a variety of issues. I will leave it running until 1 June then shut it down. If you would still like an XMPP account, a new server has been set up and registration is open.
XMPP
XMPP logo (without text).svg
Repositorygithub.com/processone/ejabberd
Developer(s)ProcessOne
Written inErlang, Elixer
Instance URLxmpp.nixnet.services

XMPP stands for eXtensible Messaging and Presence Protocol. It was originally called Jabber and some people still use that, however. XMPP is an instant messaging protocol that provides near-real-time communication, presence information (online/offline status, typing indicators), and contact list management. You can communicate with individuals as well as join larger Multi-User Chats (MUCs). XMPP is incredibly extensible (after all, it's in the name) and even allows for voice and videos calls as well as end-to-end encryption via protocols such as OMEMO.

The server running on NixNet is ejabberd, one of the more modern and robust implementations available.

Registration

There are two ways to register with this service: from the web UI or from within your client. The latter is probably simplest and what I recommend. Whichever registration method you choose, you'll need to come up with a username and pick a domain from those listed below. Your Jabber ID (JID) is what people use to contact you; it's similar to a Twitter handle. Your JID will look like username@nixnet.services, username@paranoid.network, etc.

  • nixnet.services
  • paranoid.network
  • linux.monster
  • pwned.life

Once you've come up with an awesome JID, you need to get registered with it!

Client registration

As I said above, this method is probably simplest. Take a look at the recommended clients, pick one, install, and open it up. There will usually be a dialogue prompting you to either log in or create an account. You want to create an account. It should be pretty self-explanatory from there, aside from the CAPTCHA. Due to a large amount of abuse, I've had to implement a CAPTCHA to deter bots from mass-registering and sending copious amounts of spam to other users. Your client may display the CAPTCHA for you but, if it doesn't, you'll need to copy the provided URL, open it in your browser, then enter the generated numbers back in your client.

That should be it!

Web registration

For this one, head over to xmpp.nixnet.services, pick your username, enter one of the domains listed below, and generate a strong password to store in your password manager. Fill in the CAPTCHA, hit the Register button, then take a look at the recommended clients!


Clients

If you’re not sure what client to use, I recommend for Android, Kaidan for Ubuntu Touch, Siskin or Monal IM for iOS and macOS or Beagle for just , (I haven’t tested them but I have heard good things), Gajim Windows, and Dino for Linux.

I do not have any Apple devices and cannot test these but I have heard good things.


Personally, I use Conversations on Android, Dino on Linux, and Gajim on Windows.

Encryption

TODO

Group chat

In XMPP, group chats are called Multi User Chats or MUCs. To create a MUC on any of the domains above, you'll first need an account on the server. It shouldn't matter which domain you're using, you just need an account on one of them. When creating the MUC, you'll be asked for an address. This usually takes the form of name@muc.example.com or name@conference.example.com. My domains all use muc. so that would be …

  • muc.nixnet.services
  • muc.paranoid.network
  • muc.linux.monster
  • muc.pwned.life

After the room has been created, you can send people a join link in the form of xmpp:name@muc.example.com?join. For example, clicking this link will prompt you to join the NixNet Community MUC: xmpp:nixnet@muc.nixnet.services?join

Audio and video calls

"Migration" from nixnet.xyz

Unfortunately, there is no proper route; the server was in such a bad state that your best bet regarding migration is to leave your old account in the client and copy contacts/rooms to the new account. Clients usually store conversations, contacts, and bookmarks (MUCs) locally. This will allow you to log into your new account and re-add contacts and bookmarks from the old.