Search
Close this search box.

How to Setup a Secure Private IRC Channel

Last Updated on March 3, 2021 by Nick

Beautiful IRC logs with StartupResources.io

Overwhelmed by trying to set yourself up on IRC? Don’t worry; we’ve got your back. By following these simple steps, you’ll be up and running in less than 10 minutes. Ok, let’s dive in!

Note: This guide is geared towards the Freenode IRC network, but with a few small tweaks should work against most public IRC networks.

Step 0 ‐ Are you Eligible?

Freenode is primarily a network for people involved in open source software. Read Freenode’s guidelines to determine whether you are on topic before getting started. Although we are a private company, we work on open source code, and that is sufficient to claim eligibility.

Step 1 ‐ Register Yourself on Freenode

Open your IRC client (see our recommended clients), and setup a connection to Freenode. If there isn’t already a preset for it, use the following settings:

  • Server: chat.freenode.net
  • Port: 7000
  • SSL: enabled

Choose a preferred nickname or nick and enter your desired password. Freenode has good docs on registering a nick, but it boils down to this command:

/msg NickServ REGISTER <password> <[email protected]>

Replace <password> with the password you entered in your client and <[email protected]> with your email address. In case the nick you want is registered, you can change your nick using this command:

/nick <newnick>

If it is available, register it and update your IRC client settings.

Once you’ve registered a nick and confirmed your email address, login to IRC. The easiest way to do this is to just restart your IRC client and make sure it logs in correctly. Alternatively, you can run this command:

/msg NickServ IDENTIFY <nick> <password>

After logging in the first time, use this command to force anyone using your nick to login, preventing potential abuse:

/msg NickServ SET ENFORCE ON

Step 2 ‐ Register a Channel

Unfortunately group registration is currently closed, but don’t let that stop you from registering and using a channel. Pick a channel name based on the naming guidelines and check if it is already in use via /msg ChanServ INFO #channelname. Once you’ve found an available channel, join it and register it:

/join #channelname
/msg ChanServ REGISTER #channelname

Now you want to put some safeguards in place to make sure you don’t lose access to your channel in the future. First, tell ChanServ to guard your channel. This ensures that your channel is never completely empty (at which point, all it’s settings are lost).

/msg ChanServ SET #channelname GUARD ON

Next, lock down your channel via the following flags:

  • p (paranoid): don’t show channel membership and don’t allow people to request invites
  • r (block unidentified): only registered users can join
  • s (secret): don’t show the channel in the channel lists
  • i (invite-only): only invited users can join
/msg Chanserv SET #channelname MLOCK +prsi

Step 3 ‐ Invite Users

For each user, you want to allow in your room, add them to the invitation list (make sure they’ve registered their nick first):

/mode #channelname +I $a:<nickofperson>

Also considering giving somebody else admin privileges or “ops” in case something is needed when you’re not around:

/msg ChanServ flags #channelname <nickofperson> +voAti
  • v (voice): Enables use of the voice/devoice commands, allowing the user to send messages in a moderated channel.
  • o (op): Enables use of the op/deop commands.
  • A (access list): Enables viewing of channel access lists.
  • t (topic): Enables use of the topic and topicappend commands.
  • i (invite): Enables use of the invite and getkey commands.

Done!

Congratulations, you now have your own private chatroom! There’s a lot more functionality than what’s explained here though. See the references below for more information and also consider donating to Freenode’s parent organization, the PDPC to help keep the service running.

More from the blog...

Last Updated on July 8, 2024 by Adriaan Starting a new business is an exciting journey...

Last Updated on June 28, 2024 by Adriaan The quality of customer experience can make or...

Last Updated on May 10, 2024 by Nick Startup failures can be devastating. Founders face the...