====== Weechat en tant que proxy ======
* Objet : Utilisation de **Weechat** en tant que proxy IRC
* Niveau requis : {{tag>débutant avisé}}
* Commentaires : //Ce tuto à pour but de présent une façon de configurer Weechat en tant que proxy IRC//
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
* Suivi : {{tag>en-chantier à-tester à-fusionner}}
* Création par [[user>KsmoinO]] 06/07/2020
* Testé par <...> le <...> FIXME
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=396510#p396510 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME
===== Introduction =====
//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 [[doc:reseau:weechat|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é.
===== Installation =====
En console, il suffit de taper :
apt-get update && apt-get --no-install-recommends install weechat-headless weechat-plugins
===== Configuration =====
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.
Notez que si vous utilisez déjà weechat, vous pouvez aussi simplement copier votre fichier .weechat/irc.conf
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
===== Utilisation =====
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