Installation de Weechat et Glowing Bear comme client IRC distant

Depuis 1 mois, je me suis pris un VPS pour gérer différents services pour de l’auto-hébergement, parce que je ne peux gérer ces services avec le simple hébergement mutualisé web que j'avais. J'ai donc installé sur ce VPS, une Debian 9 Stretch et la surcouche Yunohost, parce que pour débuter, c'est simple à administrer et rapide à mettre en place.

Afin de consulter les salons IRC de n'importe où, il y a différents webclient IRC proposés par Yunohost : The Lounge (https://thelounge.chat/), KiwiIRC 'https://kiwiirc.com/) et Shout (http://shout-irc.com/). J'ai installé The Louge, qui est un bon webClient IRC en soi, simple à installer et à configurer. Mais pour jouer et avoir une solution légère et utilisable sur plusieurs supports (web, appli smartphone, client lourd, ...), je me suis lancé dans la mise en place du couple Weechat (https://weechat.org) et son frontend web Glowing Bear (https://www.glowing-bear.org).

Pré-requis

Avoir créé auprès de votre registrar, un sous-domaine weechat.exemple.ovh puis l'avoir enregistrer dans Yunohost > Domaines

Installation de Weechat

Installez Weechat (voir les Instructions d'installation sur https://weechat.org/download/debian/active/) sur votre VPS, via un terminal en SSH.

Installation de Glowing-bear

Installez Glowing-Bear depuis Yunohost :
dans Yunohost > Application > +Installer (dans les paquets Community) Screenshot_2018-07-30 YunoHost admin.png

Installez-le sur le sous-domaine 'weechat.exemple.ovh' et dans le dossier '/' (voir les explications ici : https://yunohost.org/#/dns_subdomains_fr)

Configurer Weechat

Il s'agit de configurer les paramètres de l’application et les différents serveurs IRC que vous voulez joindre. (voir le Guide de démarrage rapide WeeChat : https://weechat.org/files/doc/stable/weechat_quickstart.fr.html). Toutes ces commandes sont à taper dans l'interface Weechat.

Voici quelques options définies par défaut, mais qui peuvent être personnalisées par serveur IRC :

/set irc.server_default.nicks "mathdatech,MathDaTech,mathDatech,MathdaTech,Mathdat3ch"
/set irc.server_default.username "mathdatech"
/set irc.server_default.realname "Math DaTech"
/set irc.server_default.ssl on

Voici comment enregistrer les principaux serveurs IRC (en mode SSL) :

  • Freenode :
/server add freenode chat.freenode.net
/set irc.server.freenode.addresses "chat.freenode.net/6697"
/set irc.server.freenode.ssl on
/set irc.server.freenode.autojoin "#python-fr,#laquadrature,#fedora-fr"
/set irc.server.freenode.autoconnect on
  • OFTC :
/server add oftc irc.oftc.net
/set irc.server.oftc.addresses "irc.oftc.net/6697"
/set irc.server.oftc.ssl on
/set irc.server.oftc.autojoin "#osm-fr"
/set irc.server.oftc.autoconnect on
  • GeekNode :
/server add geeknode irc.geeknode.org
/set irc.server.geeknode.addresses "irc.geeknode.org/6697"
/set irc.server.geeknode.ssl on
/set irc.server.geeknode.autojoin "#fdn,#labriqueinter.net,#geeknode"
/set irc.server.geeknode.autoconnect on

D'autres options sont possibles, pour cela voir le Guide utilisateur WeeChat (https://weechat.org/files/doc/stable/weechat_user.fr.html).

Configurer Weechat en mode relay

Dans cette configuration, Weechat tourne en arrière plan, et vous venez vous y connecter via une application dédiée déportée. Ils vont echangés les informations dans un protocole propre à Weechat, l'application dédiée n'étant qu'un reflet de ce qui se passe dans Weechat. (pour plus d'informations, c'est par là https://weechat.org/files/doc/stable/weechat_user.fr.html#relay_plugin)

Nous allons avoir besoins d'ouvrir les ports TCP du VPS pour accéder à Weechat en mode relay : Yunohost > Outils > Pare-feu : ouvrir les ports TCP 9001 (non-SSL) et 9002 (SSL)

Pour activer le mode relay de Weechat en version non chiffrée, voici les commandes à lui donner :

/set relay.network.password yourpassword
/relay add weechat 9001

A partir de là, vous pouvez déjà vous connecter à Weechat avec Glowing-bear en remplissant les informations nécessaires et le mot de passe. Screenshot_2018-07-30 Glowing Bear.png

Pour plus de confidentialité, vous pouvez chiffrer les échanges en SSL. La méthode décrite dans la documentation officielle ne fonctionne plus, car le certificat est auto-signé et les navigateurs modernes rejettent la connexion par mesure de sécurité. Je me permet d'insister sur l'importance d'établir des communications chiffrées sur internet, pour vous protéger et protéger vos interlocuteurs ainsi que les données qui transitent entre vous et entre les applications de communication. C'est pour cela qu'il est important de mettre en place ce système de relais chiffré que nous allons voir par la suite.

Nous allons donc générer un certificat SSL avec Let's Encrypt et le fournir à Weechat.

Générer un certificat Let's Encrypt

Il faut préalablement avoir installer le client Certbot de Let's Encrypt (sudo apt-get install certbot)

D'abord, arrêtez le serveur Nginx car Certbot à besoin de la connexion sur les ports 80 et 443.

# yunohost service stop nginx

On génère un certificat/clé sur le serveur pour le domaine weechat.exemple.ovh avec la commande :

# certbot certonly --standalone -d weechat.exemple.ovh -m mathdatech@exemple.ovh

On peut redémarrer le serveur Nginx

# yunohost service start nginx

On vérifie que cela à créer différents dossiers dans le répertoire de Let's Encrypt :

# ls -l /etc/letsencrypt/
total 24
drwx------ 3 root root 4096 Jul 29 18:26 accounts
drwx------ 3 root root 4096 Jul 29 19:19 archive
drwxr-xr-x 2 root root 4096 Jul 29 19:19 csr
drwx------ 2 root root 4096 Jul 29 19:19 keys
drwx------ 3 root root 4096 Jul 29 19:19 live
drwxr-xr-x 2 root root 4096 Jul 29 19:19 renewal

On vérifie la présence du certificat et de la clé dans le répertoire du domaine déclaré :

# ls -l /etc/letsencrypt/live/weechat.exemple.ovh/
total 4
lrwxrwxrwx 1 root root  47 Jul 29 19:19 cert.pem -> ../../archive/weechat.exemple.ovh/cert1.pem
lrwxrwxrwx 1 root root  48 Jul 29 19:19 chain.pem -> ../../archive/weechat.exemple.ovh/chain1.pem
lrwxrwxrwx 1 root root  52 Jul 29 19:19 fullchain.pem -> ../../archive/weechat.exemple.ovh/fullchain1.pem
lrwxrwxrwx 1 root root  50 Jul 29 19:19 privkey.pem -> ../../archive/weechat.exemple.ovh/privkey1.pem
-rw-r--r-- 1 root root 543 Jul 29 19:19 README

Le fichier de chiffrement qu'à besoin Weechat est un agrégat du certificat "fullchain.pem" et de la clé "privkey.pem" généré avec Let's Encrypt.

D'abord, créez le répertoire qui va contenir ce fichier pour Weechat :

mkdir -p ~/.weechat/ssl
cd ~/.weechat/ssl

Puis, copiez y le fichier relay.pem depuis le certificat et la clé Let's Encrypt :

cat /etc/letsencrypt/live/weechat.exemple.ovh/fullchain.pem /etc/letsencrypt/live/weechat.exemple.ovh/privkey.pem > relay.pem

Si vous faites tourner Weechat sur un utilisateur weechat fictif, il faut penser à lui attribuer les droits sur le fichier :

chown weechat.weechat ~weechat/.weechat/ssl/relay.pem

Afin d'activer la prise en compte par Weechat du certificat SSL, il suffit de renseigner les options suivantes dans l'interface Weechat :

/set relay.network.password yourpassword (si vous ne l'aviez pas défini plus haut)
/relay sslcertkey
/relay add weechat 9002

Laissez tourner Weechat. Maintenant, vous pouvez vous y connecter avec Glowing Bear via https://weechat.exemple.ovh Screenshot_2018-07-30 Glowing Bear(1).png

Programmer le renouvellement des certificats Let's Encrypt

Ce genre de certificat a une durée de vie limitée, il faut le renouveller entre 60 et 90 jours avant la date d'échéance (qui est de 3 mois). Pour cela, un petit script shell va nous aider à faire le job. Créez le script :

nano /usr/local/sbin/renew.sh

puis copiez-y les instructions suivantes :

#!/bin/bash

certbot renew -q
cat /etc/letsencrypt/live/weechat.example.com/privkey.pem \
    /etc/letsencrypt/live/weechat.example.com/fullchain.pem > \
    ~weechat/.weechat/ssl/relay.pem
chown weechat.weechat ~weechat/.weechat/ssl/relay.pem

Restes à le programmer dans une tache cron, tous les dimanches à 12h00, le programme Certbot va vérifier si le renouvellement est à faire, et si c'est le cas, provoquer le renouvellement automatique du certificat.

crontab -e

Ajoutez-y la ligne :

0 12 * * 0 /usr/local/sbin/renew.sh

Pour en savoir plus :

Arrivée de ma Mokacam Alpha+

20180728_091734.jpg

Après 1 an et demi de développement par le biais d'une campagne de crowdfunding sur Indiegogo (https://www.indiegogo.com/projects/alpha-the-world-s-smallest-4k-action-camera-sports), la voilà ! Le pack contient : Alpha S Bundle + 32GB Micro SD : EXCLUSIVE INDIEGOGO SECRET PERK. This perk includes 1x  […]

Lire la suite

Toot : #MercrediFiction : A la piscine

Tiens, je vais faire ma première contribution à #mercredifiction (et peut-être la dernière) Alors que nous nagions dans 2 lignes différentes, nous nous prîmes d'une envie de compétition. Après quelques longueurs, elle prit l'avantage et gagna. Je la félicitai de sa victoire, elle fut ébahit de voir  […]

Lire la suite

C'est mon Masto'nniversaire

Screenshot-2018-4-2 Math DaTech on mamot fr.png

Et oui, aujourd'hui à 20:32, c'est mon 1er anniversaire sur Mastodon sur l'instance Mamot.fr. Et voici mon premier toot : Pour rappel, Mastodon est un réseau de microblogging mais qui a la particularité d'être décentralisé. C'est à dire que chacun peut héberger sa propre instance et faire partie du  […]

Lire la suite

Installation de OMEMO pour Gajim sur Fedora

Petit rappel Qu'est ce que Gajim ? Gajim est un logiciel libre client de messagerie instantanée pour le réseau standard ouvert Jabber (XMPP). Gajim utilise la bibliothèque (d'interface graphique) GTK+. Il fonctionne sous UNIX, GNU/Linux, GNU/hurd, BSD et Microsoft Windows. Le but du projet Gajim est  […]

Lire la suite

Tweet : Battle for Net Neutrality

tweet120720170741_netneutrality.png

Au USA, suite à la récente décision de la FCC de remettre en question la Neutralité du Net (article du Monde), par le nouveau directeur du régulateur des télécoms nommé par Donald Trump, le 12 juillet 2017 est l'occasion de rappeler à tous que si ce principe de Neutralité du Net est remis en cause,  […]

Lire la suite

Rand'Aube : Bar-sur-Seine - Circuit des 3 chapelles (prolongé)

Circuit_des_3_Chapelles_etendue.png

Normalement, un circuit de 10 km par monts et forêts permet de découvrir St Jean-Baptiste, Notre Dame du Chêne et la Chapelle Templière d'Avalleur. Mais le parcours est mal balisé et j'ai pris le mauvais chemin, cette marche c'est terminé à 14.3km. La fiche de l'Office de tourisme de Bar-sur-Seine :  […]

Lire la suite

Rando'Moselle : Randonnée du Haut Chemin - Le chêne des Moines (Villers-Bettnach)

le_chene_des_moines___trace_garmin.png

Randonnée de 6.9 km au départ de l'Abbaye cistercienne de Villers-Bettnach dans la profonde forêt de Villers sur les traces des moines cisterciens. Retrouvez la fiche de cette randonnée sur le site du Tourisme en Moselle : Lien vers la page - Lien vers la fiche A retrouver en tant que Garmin  […]

Lire la suite

2 alternatives libres à l'application Facebook pour Android

faceslim_en_Lollipop_2015-01-06.png

Si vous en avez marre de l'application Facebook sur votre téléphone parce qu'elle est trop envahissante, trop consommatrice, trop invasive, trop lourde, trop ... voici 2 alternatives libres qui peut vous intéresser. Ces 2 applications sont libres de tout spyware ou pubs, sont open source, sont sans  […]

Lire la suite

Haut de page