Using Channel Modes to Hide Your Channel

You can use channel modes to make dozens of customizations to your channel. Last week, I talked about using channel modes to set a channel key, which works like a password for your channel. Today I’m going to talk about another way to keep your channel a private place: the channel modes +s and +p.

Secret vs. Private

There are two modes you can use to hide your channel: +s, for a secret channel; and +p, for a private channel.

Originally (that is, in earlier days of IRC), there was a difference between these two modes. On GeekShed, the two commands do the same thing. If you set your channel to +p or to +s, your channel will not show up:

  • in the channel listing that someone gets after using the /LIST command
  • on the website’s list of channels
  • in a /WHOIS list for a user who is in the channel (unless the person using the command is also in the secret channel)

Since the two commands do the same thing, you can only set one or the other.

Setting the Secret or Private Mode

To set the secret mode, use this command:

/mode #channel +s

In that command, replace "channel" with your #channel. For instance, for my super-secret channel, I used this command:

/mode #baconmylove +s  

To set the private mode, use this command:

/mode #channel +p

For instance, I used this command:

/mode #baconmylove +p  

Restrictions on the +s and +p Modes

If you set your channel to +s and then decide to set +p, the server will respond by removing the +s setting. You’d see something like this:

* tengrrl sets mode: +s
* tengrrl sets mode: +p-s

In the second line, the server set +p (adding the private setting), and -s (removing the secret setting). This is normal. Since the commands do the same thing, you only need one or the other (never both). As long as you have the channel set to +s or to +p, it will be hidden.

Removing the Secret or Private Mode

If you no longer want your channel to be hidden, you can remove the secret or private mode easily:

To remove the secret mode, use this command:

/mode #channel -s

To remove the private mode, use this command:

/mode #channel -p

Once you remove the setting, your channel will be visible to everyone on the network.

Two Tips on Using the Secret or Private Mode

  1. Remember that even though your channel is hidden, the people you ask to join you in the channel can tell others about it. Only invite people to join your channel if you trust them to maintain your privacy. If you cannot trust someone not to tell others about the space, don’t ask them to join your channel.

  2. Any moderator (half-ops, ops, and admins) on your channel can change the channel mode. Don’t add someone as a moderator in the channel if you cannot trust that person to leave the channel with the settings you want.

—posted by Tengrrl/Bunny


Can I Make A Private/Secret/Restricted Channel?

At least twice a month, someone will come into #help asking about private channels or how they can secure their channel to prevent anyone except those they want in it. Since there are probably those that would like to know, but don’t ask, here is the quick and dirty guide to private/secret channels.

Every channel is able to be either private (+p), or secret (+s). The two modes are similar, but it is possible for people to find out about a channel that is marked private (+p). Therefore, if you want a channel nobody will be able to find out about unless they’re told, it is recommended that you mark it as secret, +s. Unless you are in the channel or an IRCop, the server will pretend that the channel doesn’t exist.

There is also channel mode +i, which will let people in only when they have been invited. If the channel is registered with chanserv, those on the access list can /msg chanserv invite #channel, and chanserv (or the botserv bot, if the channel has one) will invite the person into the channel. Standing invites can also be set using channel mode +I, which takes a nick!ident@host mask as a parameter. If the person is not on the access list, and does not have +I set for themselves, they are able to “knock” on the channel by doing /knock #channel optional_message.

You can also set a “key” on the channel using channel mode +k, which takes the key to use as a parameter. If I wanted to set a key on my channel, I would do /mode #serenity +k Kaylee. In order to get in the channel, someone would need to specify the key when they try to join – /join #serenity Kaylee. Alternatively, they can also be invited into the channel and will not need the key.

If the channel is registered, those modes can be mlock’ed, so that they will be reapplied when the channel is recreated (i.e. is empty and someone joins). It is important to note that if the channel is empty, needing a key or an invite is not necessary to join the channel. That is where the next item comes into play.

It is also possible to set a channel to have restricted access. When this option is set, only the people you add to the access list will be able to join. When someone that is not on the list attempts to join, they are kickbanned by chanserv (or the botserv bot, if you have added one) with the reason “You are not permitted to be on this channel”.

Since when you set your channel to restricted access you normally don’t want people to know about it, it is recommended to also mlock it +s. To set both the restricted access and mlock, you need to enter the following two commands, replacing #channel with your actual channel:
/msg chanserv set #channel mlock +s
/msg chanserv set #channel restricted on
Note: If you already have some modes set with mlock, you will need to respecify them when you add +s. So if you have +n (no external messages) set with mlock, you would need to do /msg chanserv set #channel mlock +sn.

Should you have any questions concerning setting your channel to restricted access, feel free to stop in #help and ask.