Irc est un cannal de communication vieux comme internet (crée en 1988), extrêmement utile pour prendre contact avec les développeurs, utilisateurs d’un projet open-source qui ont presque toujours un channel irc. Cependant le fait de ne pas pouvoir rester connecter sur irc 24h/24h peut s’avérer agaçant car nous perdons des éléments utiles de discussion, devons renouveler l’identification auprès du serveur etc…
ZNC bouncer est un bouncer irc sous licence GPL hébergé sur github. Un bouncer irc n’est rien d’autre qu’un proxy irc. Celui-ci sera connecté en permanence à vos salons de discussions et fera office de passerelle entre votre client et vos serveurs irc. Vous pourrez par exemple consultez des messages diffusés en votre absence, masquer votre identité en utilisant un vhost personnalisé (résolution inverse personnalisée).
Un compte znc est requis par serveur irc, pour permettre une configuration spécifique.
Il existe de nombreux bouncer irc, mais j’ai choisi de vous présenter ZNC car c’est un bouncer configurable de manière intuitive via une interface web et le projet est encore très bien supporté avec des mises à jour publiées régulièrement.
Installation de znc depuis les sources
znc est présent dans les dépôts debian, ubuntu mais la version est assez ancienne. Nous allons donc installer znc directement depuis les sources.
wget wget http://znc.in/releases/znc-latest.tar.gz
tar -zxvf znc-latest.tar.gz
../configure
make
Pour pouvoir éventuellement désinstaller proprement ZNC, utilisez checkinstall qui se chargera de packager l’installation de ZNC :
checkinstall make install
Please write a description for the package.
End your description with an empty line or EOF.
>> znc-0.202
>>
Si vous voulez désinstaller ZNC :
dpkg -r znc
Générer la configuration initiale
Il est recommandé de ne pas lancer znc en root. Pour cela il est nécéssaire de switcher entre le compte root et compte crée pour ZNC par exemple.
su - user -s /bin/bash znc --makeconf
Quelques questions vont vous être posées pour générer la configuration initiale de znc. Il sera par la suite possible de tout modifier via l’interface web de contrôle.
Port de connexion à votre bouncer :
[ ?? ] What port would you like ZNC to listen on? (1 to 65535): 6666
On n’active pas le ssl ni l’ipv6 :
[ ?? ] Would you like ZNC to listen using SSL? (yes/no) [no]: no
[ ?? ] Would you like ZNC to listen using ipv6? (yes/no) [yes]: no
Laissez vide pour laisse la possibilité se connecter au bouncer depuis de multiples machines :
[ ?? ] Listen Host (Blank for all ips):
[ ?? ] Load global module <partyline>? (yes/no) [no]:
Activation du module d’administration web :
[ ?? ] Load global module <webadmin>? (yes/no) [no]: yes
Création de votre premier utilisateur :
[ ?? ] Username (AlphaNumeric): votrepseudo
[ ?? ] Enter Password:
[ ?? ] Confirm Password:
[ ?? ] Would you like this user to be an admin? (yes/no) [yes]:
[ ?? ] Nick [votrepseudo]: pseudoirc
[ ?? ] Alt Nick [votrepseudo_]:
[ ?? ] Ident [pseudoirc]:
[ ?? ] Real Name [Got ZNC?]: realname
[ ?? ] Bind Host (optional): bnc.domain.tld
Définissez un nombre de lignes maximum conservées en cas de déconnexion :
[ ?? ] Number of lines to buffer per channel [50]: 100
Nul besoin de mémoriser les discussion du channel lorsque l’on est connecté
[ ?? ] Would you like to keep buffers after replay? (yes/no) [no]:
Définissez votre premier utilisateur en tant qu’admin :
[ ?? ] Load module <admin>? (yes/no) [no]: yes
La suite des questions est plutot explicite. Il est temps de lancer le bouncer :
[ ?? ] Launch ZNC now? (yes/no) [yes]:
Administration du bouncer
Votre bouncer est à présent lancé. Il devrait se connecter tout seul aux serveurs irc que vous lui avez spécifié. Pour vous y connecter il suffit de paramétrer votre client irc préféré (Xchat, pidgin etc..) avec votre bouncer comme vous le feriez pour une nouveau serveur irc et vous rejoindrez automatiquement les channels.
Pour se connecter à l’interface d’administration de votre bouncer (ajout d’utilisateurs, serveurs, channels, etc…) :
http://bnc.domain.tld:6666
Il est possible d’administrer le bouncer en ligne de commande via irc. Pour plus d »informations sur les commandes disponibles, contactez l’utilisateur virtuel znc via:
/msg *status help
Pour que znc puisse vous authentifier, lors de ses connexions au serveur irc, il faut lui indiquer le password à utiliser :
/msg *nickserv set votrepassword
Attention cependant aux droits sur la homedir de votre utilisateur. Comme beaucoup de logiciels les préférences sont stockées en clair dans ~/.znc. Pour des infos complémentaires sur la configuration du bouncer, rendez-vous sur le wiki du projet