Irssi (Français)
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
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.
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
- 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
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
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
- Site web officiel
- Dépôt officiel des scripts Irssi
- Configuration d'Irssi
- Guide de l'utilisation efficace de l'Irssi et screen par Matt Sparks
- Notifications IRC avec dzen2 par Jason Ryan
- Irssi's /channel, /network, /server and /connect - Signification par Aaron Toponce
- awesome Wiki Irssi tips (Wayback Machine)
- unité systemd irssi GitHub gist