---
title: 'I love ZNC because #ilovefs'
date: 2014-02-14T05:00:14+00:00
url: /blog/2014/i-love-znc-because-ilovefs
categories:
  - blog
  - english
tags:
  - Communication
  - ILoveFS
  - SystemAdministration

---


> Today is [I love Free Software day 2014](http://ilovefs.org). Using the slogan „I love Free Software but I love you more“ this day should not only be used to thank our significant others for their love but also to say „thank you“ to people who work hard to ease one’s everyday tasks with the software they develop.

Have you ever been in an IRC channel?

If not, you should try it, it’s a great and easy way of communication and very common.

<!--more-->

{{< figure src="http://fsfe.org/campaigns/ilovefs/artwork/graphics/ilovefs-banner-large-en.png" class="no-border" lightbox="none" >}}

If yes, then the term „IRC Bouncer“ might be familiar to you. It keeps „you“ online 24/7 in the channel, although your device at home is offline. During this time, your slot in the channel is reserved by your bouncer.

{{< figure src="/img/blog/ilovefs-znc.png" caption="Screenshot of ZNC" >}}

In this blog post, I’d like to present [ZNC](http://wiki.znc.in/ZNC) to you, a beautiful piece of [Free Software](https://fsfe.org/about/basics/freesoftware.html) which you can install easily on a server, is highly configurable and consumes only little server resources.

„What the hell should this be for?!“ you’re asking? Well, since I’m presenting ZNC, I can give you a few examples of the mightyness of this software:

## Features

* If you’re leaving the channel, ZNC can set an individual away status and reply to anyone how’s calling you directly in the channel or in a query that you’re unavailable at the moment
* You can add multiple IRC networks with only one account and one port. Similar bouncers like psybnc are unable to do this. You can edit your networks separately, for example with different nicknames or away messages
* You don’t want to quit IRC even if you have to because the ongoing discussion is so interesting? No problem with ZNC. ZNC can buffer the channel chat and queries to you, so you can everything if you’re back again. This also helps if you had connection issues and come back a few minutes later – you’ll never miss anything again

Well, these are only the basic functions. Below I added several others which have convinced me to keep using ZNC and nothing else. Of course, it’s Free Software (Apache 2.0 License) and it’s quite actively developed. If you have no server or no time to install something on it, you can also use one of the many [ZNC providers](http://wiki.znc.in/Providers) for free.

If you like ZNC as much as I do, please consider [helping them](https://github.com/znc/znc) to improve the software or just [donate](http://wiki.znc.in/ZNC:Site_support) to keep the very useful wiki alive!

Further cool functions you might find useful:

Administration:

* Installation is super-simple: Get the newest version, configure, make and make install. Then execute an configuration script which asks for the most important parameters while explaining them to you. Ready.
* Upgrade is very easy. Some days ago I upgraded from 0.2x to 1.2, a large version step. No problem at all, all configuration has been adapted
* Multi-user: You can set up an infinite amount of users per server/port, each with several networks.
* ZNC has a great webpanel which lets you administer everything. Of course, you can also do this directly in you IRC client if you’re connected

Nerdy stuff:

* To protect you from suprises, you can enable modules like fail2ban (to block password bruteforcers), ctcpflood or crypt (to chat encrypted with other znc users without having them to install an extra plugin or client)
* You can automatically change your nick if you’re going offline. For example with „username_offline“ you make clear that you’re definitely not available
* You can create custom CTCP replies. Try to write `/ctcp USERNAME version` and you’ll get detailed information about his IRC client. With ZNC, you can simply overwrite the default reply and send something generic instead
* You can even get shell access through your IRC client if you enable the function. Dunno what’s the advantage of this but it’s cool, right? ;)

[1]: http://ilovefs.org
[2]: https://blog.mehl.mx/uploads/ilovefs-znc.png
