WeeChat (Wee Enhanced Environment for Chat) est un client Internet Relay Chat gratuit et à source ouverte, conçu pour être léger et rapide. Il est publié sous les termes de la licence publique générale GNU 3 et a été développé depuis 2003. C'est un client de discussion en mode texte utilisant le protocole IRC. Il est léger et rapide, Tout peut y être contrôlé au clavier. Il est extensible par des extensions (plugins) et des scripts.
La description ci dessus à lâchement été dupliquée à partir de la page détaillant la partie Cliente de l'application disponible ici
Une des fonctionnalités proposés par cette application est un mode proxy (ou relai) qui va permettre entre autre de rester connecté sur ses salons favoris mêmes si notre poste de travail est éteint et pouvoir consulter ce qui s'est dit pendant ce temps au prochain lancement de son client IRC préféré.
En console, il suffit de taper :
apt-get update && apt-get --no-install-recommends install weechat-headless weechat-plugins
Tout d'abord nous allons créer un utilisateur pour exécuter notre service
adduser --system --home /var/lib/weechat --group --disabled-password --disabled-login weechat
Cette commande va donc créer un utilisateur système nommé weechat, ayant pour homedir /var/lib/weechat, désactivant l'authentification et l'ouverture de session, et va créer qu'un groupe système du même nom.
Nous allons maintenant créer un service systemd pour exécuter notre proxy
systemctl edit --force --full weechat.service
Et y ajouter le contenu suivant :
[Unit] Description=Weechat Daemon After=network.target [Service] User=weechat Type=simple ExecStart=/usr/bin/weechat-headless [Install] WantedBy=multi-user.target
Afin de créer les fichiers de configuration par défaut il faut démarrer le service une première fois et l’arrêter
systemctl start weechat.service systemctl stop weechat.service
Les fichiers de configuration sont à présent dans /var/lib/weechat/.weechat/
Pour créer le réseau freenode, ajoutez les lignes suivantes à la fin du fichier /var/lib/weechat/.weechat/irc.conf
[server] freenode.addresses = "chat.freenode.net/6697" freenode.proxy freenode.ipv6 freenode.ssl = on freenode.ssl_cert freenode.ssl_priorities freenode.ssl_dhkey_size freenode.ssl_fingerprint freenode.ssl_verify freenode.password freenode.capabilities freenode.sasl_mechanism freenode.sasl_username freenode.sasl_password freenode.sasl_key freenode.sasl_timeout freenode.sasl_fail freenode.autoconnect = on freenode.autoreconnect freenode.autoreconnect_delay freenode.nicks freenode.nicks_alternate freenode.username freenode.realname freenode.local_hostname freenode.usermode freenode.command freenode.command_delay freenode.autojoin freenode.autorejoin freenode.autorejoin_delay freenode.connection_timeout freenode.anti_flood_prio_high freenode.anti_flood_prio_low freenode.away_check freenode.away_check_max_nicks freenode.msg_kick freenode.msg_part freenode.msg_quit freenode.notify freenode.split_msg_max_length
Les options définies permettent de configurer l'adresse du réseau, d'activer le SSL et de s'y connecter au démarrage.
On va maintenant configurer le relai qui nous servira de proxy en éditant le fichier /var/lib/weechat/.weechat/relay.conf et mettre à jour à minima les 2 lignes suivantes
Dans la section [port]
irc = 9000
Et dans la section [network]
password = "UnBonMotDePasse"
Si vous ne voulez pas définir de mot de passe vous devrez configurer l'élément suivant dans la section [network]
allow_empty_password = on
Maintenant nous pouvons démarrer le service et activer son démarrage automatique.
systemctl start weechat.service systemctl enable weechat.service
Maintenant vous pouvez vous connecter à votre proxy à l'aide de n'importe quel client IRC à l'aide des informations suivantes
Champ | Valeur | Note |
Serveur | server | (où server est adresse du serveur sur lequel s'exécute votre nouveau service) |
Port | 9000 | (ou celui que vous auriez configuré ci dessus) |
Mot de passe | freenode:UnBonMotDePasse | (où freenode est le nom du réseau auquel vous voulez vous connecter et UnBonMotDePasse et le mot de passe défini dans la configuration précédente) |
Par exemple, pour se connecter avec le client Weechat, une fois l'application lancée vous pouvez taper les commandes suivantes:
/server add freenode-via-proxy server/9000 -autoconnect /set irc.server.freenode-via-proxy.password freenode:UnBonMotDePasse /connect freenode-via-proxy