Mise en place d’un relai pour IRC avec weechat

../../../../2014/11/28/relai-irc-weechat/
Antoine Van-Elstraete (antoine@van-elstraete.net)
vendredi 28 novembre 2014





3 min.

Image d'illustration

Si vous utiliser le logiciel Weechatpour dialoguer via IRC, saviez-vous qu’il contient un module relai pour y connecter un client, dont l’application Android weechat.

Un relai est un système permettant de se connecter à sa session IRC (celle-ci doit être laissée ouverte dans un screenou un tmux) depuis une autre machine. Le système de relai permet aussi d’utiliser une autre interface quand on ne peut pas se connecter via SSH au client Weechat, ou que cette connexion n’est pas pratique, comme sur tablette tactile.

Dans cette article je vais montrer comment j’ai mis en place cette solution, qui me permet notament de recevoir les “highlights” et de dialoguer sur IRC avec ma tablette.

Pour des informations très complètes et techiques sur le protocol de relai weechat, je vous invite à lire cette page : WeeChat Relay protocol (en). Il est également possible d’utiliser Weechat comme bouncer IRC (en), mais ce n’est pas l’objet de cet article.

Sécurité et vie privée

Afin d’éviter une que toutes vos discussions ne passent en clair sur le réseau, il convient de rajouter une couche de sécurité (via SSL). Pour cela, nous allons générer un certificat, le signer et en informer le logiciel weechat.

Pour générer et auto-signer ce certificat en une commande :

$ openssl req -nodes -newkey rsa:2048 -keyout weechat-relay.pem -x509 -days 365 -out weechat-relay.pem

Cela crée un certificat (format PEM) nommé “weechat-relay.pem”, auto-signé, valable 1 an (365 jours), utilisant l’algorithme RSA avec une force de 2048 bits.

Il est conseillé de placer ce fichier dans le dossier ssl de weechat :

$ mkdir -P ~/.weechat/ssl
$ cp weechat-relay.pem ~/.weechat/ssl/

Weechat

Pour activer le relai weechat, il faut :

  1. donner à Weechat l’endroit où se situe le certificat
  2. configurer le module relay pour demander un mot de passe
  3. configurer le module relay pour utiliser ssl
  4. lancer le relai weechat avec la couche ssl sur le port 8000

Ces commandes sont à exécuter dans le buffer principal de weechat

/set relay.network.ssl_cert_key  ~/.weechat/ssl/weechat-relay.pem
/set relay.network.password MOT_DE_PASSE
/relay sslcertkey
/relay add ssl.weechat 8000

Les clients

Android

L’application weechat est disponible :

La configuration est simple et se fait dans menu > settings > Connection settings

Autres clients

Il existe d’autres clients pour un relai weechat :

Pare-feu

N’oubliez pas d’ouvrir votre pare-feu pour autoriser la connexion au relai Weechat, par exemple pour iptables avec la configuration vu ci-dessus (port 8000) :

# iptables -I INPUT -m tcp -p tcp --dport 8000 -j ACCEPT