Access freenode Using Matrix Clients
Table of Contents
Introduction§
Article originally posted on Fedora Magazine.
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.
Preparation§
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.
First, install the Matrix client Element from Flathub on your PC. Alternatively, browse to element.io to run the Element client directly in your browser.
Next, click Create Account to register a new account on matrix.org (a homeserver hosted by the Matrix project).
Create Rooms§
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:
!nick <your_nick>
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> <your_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:
!nick <your_nick>
Next, open the room with @freenode_NickServ:matrix.org
and enter the following:
IDENTIFY <your_nick> <your_password>
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