What is it?

ZNC is an IRC bouncer - you log into ZNC and it logs into the IRC network for you, and
routes messages between you and the server. This means that all sorts of interesting
features can be added in the middle:

When you quit IRC, ZNC can keep you logged into the server and play back messages you missed when you return.

You can connect to ZNC from multiple locations at the same time and be seen as the same user on the IRC network.

ZNC has many modules that handle many things you would normally require scripts for, even when you are logged out.

What networks are available?

At present, the following IRC networks are available:

The general I2P IRC network, hosted on irc.postman.i2p.xyz, irc.freshcoffee.i2p.xyz and irc.echelon.i2p.xyz

The Project PM IRC network, hosted on the clearnet and accessible via their I2P tunnel

The Anarplex IRC network, hosted on agora.anarplex.i2p.xyz

If you know of another IRC network that is available, please contact me and let me know!

A distinction needs to be made between "servers" and "networks": ZNC supports multiple
servers, but as backups for a single network - it is only ever connected to one server at
a time. (But since I2P handles the different IRC servers as part of the client connection,
this feature is unneeded.) Thus, you must have a separate ZNC username for each I2P IRC network you wish to be connected to, though these can all have the same IRC username.

What modules are available?

The following ZNC modules are available. For more information about modules, see
the ZNC wiki.

antiidle - Hides your real idle time

autoattach - Reattaches you to channels on activity

autocycle - Rejoins channels to gain Op if you're the only user left

autoop - Auto op the good guys

autoreply - Reply to queries when you are away

autovoice - Auto voice the good guys

away - Stores messages while away, also auto away

awaynick - Change your nick while you are away

block_motd - Block the MOTD from IRC so it's not sent to your client(s)

buffextras - Add joins, parts etc. to the playback buffer

chansaver - Keep config up-to-date when user joins/parts

charset - Normalizes character encodings

clientnotify - Notifies you when another IRC client logs into or out of your account

crypt - Encryption for channel/private messages

ctcpflood - Don't forward CTCP floods to clients

disconkick - Kicks the client from all channels when the connection to the IRC server is lost

fakeonline - Fakes online status of ZNC *-users

flooddetach - Detach channels when flooded

keepnick - Keep trying for your primary nick

nickserv - Auths you with NickServ

notes - Keep and replay notes

perform - Keeps a list of commands to be executed when ZNC connects to IRC

raw - View all of the raw traffic

route_replies - Send replies (e.g. to /who) to the right client only

savebuff - Stores channel buffers to disk, encrypted

schat - Secure cross platform (:P) chat system

simple_away - Auto away when last client disconnects

stickychan - configless sticky chans, keeps you there very stickily even

watch - Copy activity from a specific user into a separate window

Users cannot load or unload modules themselves; if you would like to make a change,
please contact me.

If you know of other modules that would be useful, please contact me and let me know!

What are the Terms of Service?

I was going to put some stuff in here, but I have now managed to disable the troublesome
parts of ZNC, and I can't really see much scope for problems. However, if anything does
become apparent once people start using the service (as likely it will), I reserve the
right to add things to the ToS. And if people are somehow abusing the service, I will
attempt to contact/reason with them over IRC, but failing that I will block or delete
accounts. So play nice =)

Sounds cool. What do I need to do?

Send me an email with your desired ZNC username, your desired
IRC username, the network you want the ZNC username to be assocciated with, and the
names of any modules that you would like enabled.

Connect your IRC client to localhost:6669 or whatever port you set, with server password
in the form [znc_username]:[znc_password]. The IRC command for this would be "/connect localhost 6669 [znc_username]:[znc_password]".