Irssi (Français)

From ArchWiki
État de la traduction: Cet article est la version francophone de Irssi. Date de la dernière traduction: 2022-10-03. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Irssi est un client IRC (Internet Relay Chat) modulaire, basé sur ncurses. Il prend également en charge les protocoles SILC et ICB via des plugins.

Installation

Installez le paquet irssi.

Plusieurs scripts sont disponibles dans l'AUR sous irssi-script, et dans le dépôt de scripts Irssi.

Utilisation

Pour une introduction détaillée, consultez la documentation officielle.

Note: Cette section suppose que vous connaissez déjà les bases d'IRC et que vous avez utilisé d'autres clients dans le passé.

Un multiplexeur de terminal tel que tmux ou GNU Screen est recommandé. Il permet à l'utilisateur de se déconnecter et de se reconnecter facilement à une session, et des scripts tels que nicklist.pl dépendent d'une fenêtre secondaire. Pour démarrer irssi, exécutez :

$ irssi

Consultez également irssi(1).

Commandes

Les commandes d'Irssi commencent par un slash et sont insensibles à la casse. L'auto-complétion est prise en charge. Vous pouvez les découvrir grâce aux pages /help intégrées, qui sont également available online.

Commande Description | Description
/help Lister toutes les commandes ou décrire une commande donnée.
/network Gérer vos réseaux IRC.
/server Gérer vos serveurs IRC.
/connect Se connecter à un serveur ou à un réseau.
/disconnect Ferme la connexion actuelle à un serveur.
ALT+(1-0,q-p,etc) Change la fenêtre actuellement active. Ctrl+n passe à la fenêtre suivante, Ctrl+p à la fenêtre précédente.
/window Gérer vos fenêtres irssi.
/layout Sauvegarder ou supprimer la configuration de vos fenêtres.
/statusbar Gérer les barres d'état.
/set Afficher ou modifier les paramètres.
/alias Gérer vos alias.

Configuration

Irssi installe sa configuration par défaut dans /etc/irssi.conf, et la copie dans ~/.irssi/config si elle n'est pas présente. La configuration par défaut contient plusieurs serveurs, chatnets et canaux. Vous pouvez lancer irssi avec un autre fichier de configuration en utilisant l'option --config.

  • Vous pouvez utiliser /save pour sauvegarder votre configuration actuelle dans le fichier de configuration.
  • Vous pouvez sauvegarder l'emplacement de vos fenêtres actuellement ouvertes en entrant /layout save.

Authentification avec SASL

Irssi prend en charge la Simple Authentication and Security Layer (SASL).

Vous pouvez ajouter un réseau avec le mécanisme SASL comme suit :

/SERVER ADD -ssl -ssl_verify -ssl_capath /etc/ssl/certs -network liberachat -port 6697 irc.libera.chat
/NETWORK ADD -sasl_mechanism plain -sasl_username username -sasl_password password liberachat
Note:
  • Veillez à utiliser la capitalisation correcte pour le nom du réseau.
  • La première ligne de commande sert à ajouter un serveur avec une #Connexion TLS.
  • Si vous avez un réseau existant, tapez uniquement la deuxième ligne de commande.
  • Si votre mot de passe contient $, vous devez le préfixer avec un autre $ pour que irssi puisse l'analyser correctement.

Redémarrez Irssi, connectez le réseau et cherchez SASL authentication succeeded.

Connexion automatique à #archlinux au démarrage

Démarrez Irssi et tapez ce qui suit :

/server add -auto -network liberachat irc.libera.chat

liberachat peut être remplacé par tout mot préféré, comme l'abréviation courante lc.

Assurez-vous que SASL est configuré correctement. Vous pouvez utiliser NickServ manuellement avec -autosendcmd au lieu de SASL, mais cela provoque une concurrence lors de la connexion automatique à des canaux. Si vous le souhaitez, authentifiez-vous en utilisant des certificats SSL, au lieu de mots de passe avec NickServ.

/canal add -auto #archlinux liberachat
/canal add -auto #archlinux-offtopic liberachat

Connexion TLS

Libera.chat utilise le port 6697 pour les connexions SSL/TLS (pas 6667). Pour vous connecter au réseau IRC Libera.chat via TLS, vous devez établir une nouvelle connexion. Lancez irssi et exécutez :

/server add -auto -tls -tls_verify -network liberachat -port 6697 irc.libera.chat

Sauvegardez vos nouveaux paramètres avec :

/save

Si tout fonctionne, vous consulterez le mode "Z". Cela devrait ressembler à ceci : "Changement de mode (+Zi) pour l'utilisateur votre-nick"

Certificats des clients

Libera Chat et OFTC prennent en charge l'authentification à l'aide de certificats SSL, offrant une alternative aux mots de passe en texte clair. Consultez le site de Libera Chat Using CertFP pour plus de détails.

Pour créer un certificat sans mot de passe, valable 730 jours (lorsqu'il vous est demandé d'entrer des détails comme l'état ou même le nom commun (CN), vous pouvez remplir ce que vous voulez) :

$ openssl req -newkey rsa:4096 -days 730 -x509 -keyout irssi.key -out irssi.crt -nodes 
$ cat irssi.crt irssi.key > ~/.irssi/irssi.pem
$ chmod 600 ~/.irssi/irssi.pem
$ rm irssi.crt irssi.key

Ensuite, trouvez l'empreinte correspondante :

$ openssl x509 -sha512 -fingerprint -noout -in ~/.irssi/irssi.pem | sed -e 's/^.*=//;s/://g;y/ABCDEF/abcdef/'

Ceci écrira l'empreinte SHA512 sur stdout. Si vous avez besoin de l'empreinte SHA1, remplacez -sha512 par -sha1. La commande sed est là pour formater correctement l'empreinte en supprimant le texte et les caractères indésirables.

Copiez la chaîne de l'empreinte car vous allez l'enregistrer dans Irssi sous peu.

Dans irssi, déconnectez-vous du réseau et ajoutez le certificat et les clés du client. Omettez l'option -ssl_pass si votre certificat a été construit sans mot de passe :

/disconnect liberachat
/server add -ssl_cert ~/.irssi/irssi.pem -ssl_pass irssi.pem_password -network liberachat irc.libera.chat 6697

Maintenant connectez-vous (pas /reconnect) et enregistrez votre empreinte

/connect liberachat
/msg NickServ identify YOUR_PASSWORD (identification de votre mot de passe)
/msg NickServ cert add YOUR_FINGERPRINT (Votre empreinte)

À ce stade, vous pouvez supprimer votre mot de passe du fichier de configuration (si vous l'y avez enregistré) et sauvegarder votre configuration avec :

/save

Journalisation automatique

/SET autolog ON
/save

Masquer les arrivées, les départs et les déconnexions

Afin d'ignorer l'affichage de l'arrivée, du départ et de la déconnexion des utilisateurs pour tous les canaux, tapez ce qui suit dans irssi :

/ignore * joins parts quits

Consultez smartfilter pour limiter les messages d'arrivée aux utilisateurs actifs.

Défilement de la souris

Pour activer la souris, tapez ce qui suit dans irssi :

/run scriptassist
/script install mouse.pl

Pour l'activer de façon permanente au démarrage :

/script autorun mouse.pl

Si ce qui précède ne fonctionne pas, vous pouvez charger manuellement les scripts de ~/.irssi/scripts ou ~/.irssi/scripts/autorun avec ce qui suit :

/script load mouse.pl

Trucs et astuces

Proxy HTTP

Pour utiliser irssi derrière un proxy HTTP, les commandes suivantes sont nécessaires :

/SET use_proxy ON
/SET proxy_address <Proxy host address>
/SET proxy_port <Proxy port>
/SET -clear proxy_string
/SET proxy_string_after conn %s %d
/EVAL SET proxy_string CONNECT %s:%d HTTP/1.0\n\n

irssi devrait alors modifier son fichier de configuration en conséquence ; si le proxy n'est pas nécessaire, mettez simplement use_proxy à OFF.

Si le proxy nécessite un mot de passe, essayez :

/SET proxy_password your_pass

Sinon :

/SET -clear proxy_password
Note: Le SSL derrière un proxy échouera avec ces paramètres.

Irssi avec nicklist dans tmux

Le plugin irssi 'nicklist' propose d'ajouter un panneau listant les utilisateurs de la chaîne actuellement regardée. Il a deux méthodes pour le faire :

  • screen, qui ajoute simplement la liste à la droite de irssi, mais présente l'inconvénient que la fenêtre entière est redessinée à chaque fois que irssi imprime une ligne.
  • fifo, qui comme son nom l'indique écrit la liste dans un fifo qui peut ensuite être lu continuellement avec par exemple cat ~/.irssi/nicklistfifo.

nicklist utilisera une fifo plus efficace avec :

/NICKLIST FIFO

Cette fifo peut être utilisée dans une fenêtre tmux divisée verticalement avec irssi dans son panneau de gauche et le cat du dessus dans un petit panneau de droite. Comme le volet dépend de la géométrie de la session tmux qui l'a créé, une session ultérieure avec un volet différent doit le recréer (ce qui implique aussi un changement de fenêtre irssi pour remplir le fifo).

Par exemple, le script suivant vérifie d'abord s'il existe un irssi en cours d'exécution, supposé avoir été lancé par une exécution précédente de lui-même. S'il n'est pas trouvé, il crée une nouvelle session tmux, une fenêtre nommée d'après et exécutant irssi et ensuite le panneau avec cat. Si toutefois irssi a été trouvé, il s'attache simplement à la session et recrée le panneau cat.

#!/bin/sh

T3=$(pgrep -u "$USER" -x irssi)

irssi_nickpane() {
    tmux setw main-pane-width $(( $(tput cols) - 21)) ;
    tmux splitw -v "cat ~/.irssi/nicklistfifo" ;
    tmux selectl main-vertical ;
    tmux selectw -t irssi ;
    tmux selectp -t 0 ;
}

irssi_repair() {
    tmux selectw -t irssi
    [ "$(tmux lsp | wc -l)" -gt 1 ] && tmux killp -a -t 0
    irssi_nickpane
}

if [ -z "$T3" ] ; then
    tmux new-session -d -s main ;
    tmux new-window -t main -n irssi irssi ;
    irssi_nickpane ;
fi
    tmux attach-session -d -t main ;
    irssi_repair ;
exit 0
Astuce: Au lieu de faire tout ce travail, ce plugin fait tout le travail nécessaire pour une nicklist agréable dans tmux.

Nom d'hôte virtuel (vhost)

Un vhost peut être utilisé pour changer votre nom d'hôte lorsque vous êtes connecté à un serveur IRC, ce qui est généralement le cas lorsque vous rejoignez/partagez ou faites un whois. Cela se fait le plus souvent sur un serveur qui a une adresse IP statique. Sans vhost, le nom d'hôte ressemblerait à ceci lorsqu'on fait un "whois" :

nick@123.456.78.90.isp.com

Le résultat d'un serveur virtuel réussi pourrait ressembler à ceci si vous avez le domaine exemple.com disponible :

nick@example.com

Gardez à l'esprit que tous les serveurs IRC ne prennent pas en charge l'utilisation de vhost. Cela peut être défini individuellement entre les serveurs et non sur le réseau, donc si vous rencontrez des problèmes avec un serveur, essayez-en un autre sur le même réseau.

Préconfigurations requises

Irssi prend en charge l'utilisation d'un serveur virtuel pour autant que les configurations requises aient été définies. Cela inclut notamment que votre hôte prenne en charge reverse DNS lookup (rDNS) en utilisant pointer record (PTR). De plus, vous devez ajouter une ligne appropriée à votre fichier /etc/hosts.

Pour consulter si cela fonctionne, testez avec l'utilitaire de recherche DNS host(1) inclus dans bind comme suit (où ip est une adresse IPv4 normale) :

$ host ip

Si vous obtenez quelque chose du genre de ceci, vous savez que votre rDNS fonctionne.

ip.in-addr.arpa domain name pointer example.com

Activer le serveur virtuel

Il y a plusieurs façons de se connecter à un serveur avec un nom d'hôte donné. La première consiste à utiliser la commande 'server' avec l'argument -host comme suit :

/server -host exemple.com irc.libera.chat

Une autre méthode consiste à définir votre nom d'hôte (vhost) avec la commande 'set' qui enregistrera votre nom d'hôte dans ~/.irssi/config :

/set hostname exemple.com
/save
/server irc.libera.chat

Voir aussi