Matrix (also written [matrix]) is an open source project and a communication protocol. The protocol standard is open and it is free to use or implement. Matrix is being recognized as a modern successor to the older Internet Relay Chat (IRC) protocol. Mozilla, KDE, FOSDEM and GNOME are among several large projects that have started using chat clients and servers that operate over the Matrix protocol. Members of the Fedora project have discussed whether or not the community should switch to using the Matrix protocol.
The Matrix project has implemented an IRC bridge to enable communication between IRC networks (for example, freenode) and Matrix homeservers. This article is a guide on how to register, identify and join freenode channels from a Matrix client via the Matrix IRC bridge.
Check out Beginner’s guide to IRC for more information about IRC.
You need to set everything up before you register a nick. A nick is a username.
Install a client
Before you use the IRC bridge, you need to install a Matrix client. This guide will use Element. Other Matrix clients are available.
Next, click Create Account to register a new account on matrix.org (a homeserver hosted by the Matrix project).
For the IRC bridge, you need to create rooms with the required users.
First, click the ➕ (plus) button next to People on the left side in Element and type @appservice-irc:matrix.org in the field to create a new room with the user.
Second, create another new room with @freenode_NickServ:matrix.org.
Register a nick at freenode
If you have already registered a nick at freenode, skip the remainder of this section.
Registering a nickname is optional, but strongly recommended. Many freenode channels require a registered nickname to join.
First, open the room with appservice-irc and enter the following:
Substitute <your_nick> with the username you want to use. If the nick is already taken, NickServ will send you the following message:
This nickname is registered. Please choose a different nickname, or identify via /msg NickServ identify <password>.
If you receive the above message, use another nick.
Second, open the room with NickServ and enter the following:
REGISTER <your_password> <email@example.com>
You will receive a verification email from freenode. The email will contain a verification command similar to the following:
/msg NickServ VERIFY REGISTER <your_nick> <verification_code>
Ignore /msg NickServ at the start of the command. Enter the remainder of the command in the room with NickServ. Be quick! You will have 24 hours to verify before the code expires.
Identify your nick at freenode
If you just registered a new nick using the procedure in the previous section, then you should already be identified. If you are already identified, skip the remainder of this section.
First, open the room with @appservice-irc:matrix.org and enter the following:
Next, open the room with @freenode_NickServ:matrix.org and enter the following:
IDENTIFY <your_nick> <your_password>
Join a freenode channel
To join a freenode channel, press the ➕ (plus) button next to Rooms on the left side in Element and type #freenode_#<your_channel>:matrix.org. Substitute <your_channel> with the freenode channel you want to join. For example, to join the #fedora channel, use #freenode_#fedora:matrix.org. For a list of Fedora Project IRC channels, see Communicating_and_getting_help — IRC_for_interactive_community_support.
Addendum – June 1st, 2021
Due to the recent announcement, many projects have switched to Libera Chat, including Fedora.
To join Libera Chat channels, make the following substitutions when using this guide:
- @appservice-irc:matrix.org → @appservice:libera.chat
- @freenode_NickServ:matrix.org → @NickServ:libera.chat
- appservice-irc → appservice
- freenode_#<your_channel>:matrix.org → #<your_channel>:libera.chat
- freenode_#fedora:matrix.org → #fedora:libera.chat