Repository navigation
Releases
Le Salon 1.9.0 — compatibilité FiSH
Le Salon 1.9.0 — compatibilité FiSH
Cette version ajoute un second niveau de chiffrement pour parler aux clients IRC qui ne connaissent pas RelayCrypt : FiSH en mode ECB, avec RelayCrypt toujours prioritaire.
Chiffrement
- RelayCrypt reste le défaut : XChaCha20-Poly1305, clés dérivées par Argon2id, stockage local en
0600. Entre deux clients Le Salon, rien ne change. - FiSH (Blowfish ECB) pour mIRC, HexChat, irssi, ZNC et les autres clients compatibles : messages sortants en
+OK <base64 FiSH>, détection et déchiffrement des messages entrants. - RelayCrypt prioritaire : si une clé RelayCrypt existe pour la cible, FiSH est ignoré.
/encrypt remove ciblepermet de forcer FiSH. - Sujets de salon chiffrés et déchiffrés avec le même mécanisme.
- Détection des variantes :
+OKetmcpsen ECB ; les messages CBC (+OK *,mcps *) affichent un message explicite « non pris en charge ». - Clés FiSH par réseau et par cible, dans
~/.config/le-salon/fish_keys.jsonen0600. - Placeholders si la clé est absente, la clé est incorrecte ou le message est en CBC : le client n'affiche pas de charabia.
Commandes
| Commande | Effet |
|---|---|
/setkey [cible] clé |
définit une clé FiSH (4 à 56 octets), pour la cible active si elle est omise |
/delkey [cible] |
supprime la clé FiSH |
/showkey [cible] |
affiche la clé FiSH |
/fish [list|status] |
état des clés FiSH du réseau actif |
/keyx |
indique que DH1080 n'est pas pris en charge dans cette version |
Les clés FiSH s'échangent hors bande : utilise /showkey sur l'autre client, puis /setkey ici. Les clés blow.ini chiffrées ne sont pas importées.
Sécurité et limites
- FiSH ECB est un format de compatibilité, pas un chiffrement moderne : pas d'authentification, pas d'intégrité, motifs répétés visibles, clés échangées manuellement et sans forward secrecy.
- DH1080 et CBC ne sont pas implémentés. DH1080 n'authentifie personne (MITM possible sans vérification hors bande) et CBC n'apporte pas d'intégrité. Le mode ECB + clé manuelle couvre l'essentiel des clients FiSH.
- Les clés FiSH doivent faire 4 à 56 octets (limite Blowfish).
- L'historique local reste en clair, comme pour RelayCrypt ; il est protégé par les permissions du dossier utilisateur, pas par une clé au repos.
SECURITY.mdet le README sont mis à jour.
Tests
- 83 tests noyau + 2 tests réseau + 8 tests application ;
- vecteurs golden FiSH vérifiés (clé
blowfish,qwertyui→+OK qKKBR.riU410) ; - priorité RelayCrypt, aller-retour privé/salon/sujet, stockage par réseau et permissions
0600testés ; cargo fmt --checketcargo auditverts en CI.
Téléchargements
Linux x86_64
Fichier : Le-Salon-1.9.0-x86_64.AppImage
SHA-256 :
c0528c04f3b9ef5756263edbe185283e40ed0c0ff71c477d5f861a12719a0fe8
macOS universel (arm64 + Intel)
Fichier : Le-Salon-1.9.0-macos-universal.zip
SHA-256 :
d2ffe360df84fe1b64d7220ad9664da18420dc5bf85ea65d709588b55dee0809
Installation
sha256sum Le-Salon-1.9.0-x86_64.AppImage
chmod +x Le-Salon-1.9.0-x86_64.AppImage
./Le-Salon-1.9.0-x86_64.AppImagemacOS :
unzip Le-Salon-1.9.0-macos-universal.zip
xattr -dr com.apple.quarantine "Le Salon.app"
open "Le Salon.app"Le Salon 1.8.0 — parité Relay côté client
Le Salon 1.8.0 — parité Relay côté client
Cette version ajoute l'essentiel des fonctions de conversation, de confort et de sécurité disponibles dans Relay, directement dans le client desktop natif.
Conversations
- historique local persistant et recherche globale (
Ctrl+Shift+F) avec retour au message exact ; - brouillons récupérables après redémarrage, expiration 7 jours ;
- réponses IRCv3 (
+draft/reply) avec aperçu dans le compositeur ; - réactions emoji (
+draft/react/+draft/unreact), persistées ; - messages sauvegardés avec note et libellé (
Ctrl+Shift+S) ; - activité récente : mentions et messages privés ;
- messages multilignes (
draft/multiline) via/paste; - bulles de messages optionnelles et favoris épinglés ;
- palette de commandes (
Ctrl+K) ; - sons, heures calmes (
/quiet) et sourdine par tampon (/mute).
Médias et partage
- aperçus inline des images et des vignettes YouTube ;
- retrait des métadonnées EXIF/XMP des JPEG/PNG avant upload public ;
- liens expirants pour partager un message (
/share) ou un extrait (/excerpt) ; - paste links automatiques pour les textes de 5 lignes ou plus (
/paste) ; - upload litterbox, DCC, messages planifiés et Jitsi conservés.
Réseau et sécurité
- proxy SOCKS5 (
/proxy hôte:port), avec authentification optionnelle dans l'URL ; - chiffrement RelayCrypt v1 : XChaCha20-Poly1305, clés dérivées par Argon2id, stockage local en
0600; - commandes
/encrypt generate|set|set-key|list|remove; - TLS rustls, SASL PLAIN et vérification des certificats inchangés.
Thèmes et modération
- import/export de thèmes JSON depuis le menu Affichage ;
- modération guidée : aperçu exact des commandes
KICK/MODE +bavant envoi ; - annulation possible avant exécution.
Tests
- 72 tests noyau + 2 tests réseau + 8 tests application ;
cargo fmt --checketcargo auditverts en CI ;- builds Linux et macOS universel construits par la CI GitHub.
Téléchargements
Linux x86_64
Fichier : Le-Salon-1.8.0-x86_64.AppImage
SHA-256 :
5360f4c521624d6c6b3789c9bd035319a1f31a94d62527eb7803a3753cf56c4d
macOS universel (arm64 + Intel)
Fichier : Le-Salon-1.8.0-macos-universal.zip
SHA-256 :
dba0e1841fd47506ed1895215ae432cbea7face02fc0977a93129b1dee976961
Installation
sha256sum Le-Salon-1.8.0-x86_64.AppImage
chmod +x Le-Salon-1.8.0-x86_64.AppImage
./Le-Salon-1.8.0-x86_64.AppImagemacOS :
unzip Le-Salon-1.8.0-macos-universal.zip
xattr -dr com.apple.quarantine "Le Salon.app"
open "Le Salon.app"Limites
- RelayCrypt protège contre les observateurs du réseau IRC, pas contre le serveur IRC lui-même.
- Les liens de partage et les paste links utilisent litterbox : publics pendant 72 h.
- Les aperçus inline nécessitent un accès réseau au moment de l'affichage.
- Les fonctions serveur de Relay (comptes, synchronisation multi-appareils, PWA, push, stockage serveur) restent hors périmètre.
Le Salon 1.7.1 — correctif des conversations privées
Le Salon 1.7.1 — correctif des conversations privées
Release de correctif pour les réseaux qui prennent en charge la capacité
IRCv3 echo-message.
Correctifs
Conversations privées
/msg pseudo texteet/query pseudon'ouvrent plus une conversation avec
son propre pseudo lorsque le serveur renvoie l'écho du message.- Les échos de nos propres
PRIVMSG,NOTICEetACTIONsont désormais
routés vers la conversation du destinataire. - Les
TAGMSGde typing renvoyés par le serveur sont ignorés côté client :
ils ne créent plus de faux buffer privé. - Les échos de
NOTICEsont dédupliqués avec l'écho local. - Le client ne répond plus à l'écho de ses propres requêtes CTCP.
- La déduplication ne supprime plus deux messages identiques envoyés
rapidement avececho-message.
Tests
- Tests de régression ajoutés pour
/msgavececho-messageet typing. - 63 tests noyau + 2 tests réseau verts.
- CI : format,
cargo audit, tests Linux/macOS et builds AppImage/macOS.
Téléchargements
Linux x86_64
Fichier : Le-Salon-1.7.1-x86_64.AppImage (construit par la CI GitHub sur
Ubuntu 24.04)
SHA-256 :
cddbf19d071838fdf28ad85d4599b618f772d4878e52b628eb503a0b62d10f97
macOS universel (arm64 + Intel)
Fichier : Le-Salon-1.7.1-macos-universal.zip (signature ad-hoc)
SHA-256 :
d96fccf2dd106cda9811c7e9db1b98f0e924d49a8508a4e28972dfed24a53d01
Installation
Linux
sha256sum Le-Salon-1.7.1-x86_64.AppImage
chmod +x Le-Salon-1.7.1-x86_64.AppImage
./Le-Salon-1.7.1-x86_64.AppImagemacOS
unzip Le-Salon-1.7.1-macos-universal.zip
xattr -dr com.apple.quarantine "Le Salon.app"
open "Le Salon.app"Notes
- Aucun changement de configuration ni de format de données.
- Les protections de sécurité de la 1.6.1 et les fonctionnalités de la 1.7.0
restent incluses.
Le Salon 1.7.0 — toasts, préférences et thème Tux
Le Salon 1.7.0 — toasts, préférences et thème Tux
Mise à jour d'interface : notifications visuelles dans la fenêtre, panneau de
configuration complet et nouveau thème Linux. Les correctifs de sécurité de
la 1.6.1 restent inclus.
Nouveautés
Toasts dans la fenêtre
- popup dans le coin supérieur droit pendant 2, 3 ou 5 secondes ;
- déclenché pour les mentions et messages privés par défaut, ou pour
tous les messages au choix ; - texte nettoyé (codes mIRC, contrôles, caractères de direction Unicode) ;
- file limitée à 4 toasts, corps limité à 180 caractères / 3 lignes ;
- désactivable dans les préférences ; les notifications système restent
configurables séparément.
Fenêtre Préférences
Accessible par Ctrl+P, Fichier → Préférences… ou le menu du tray :
- thème (aperçu des 19 palettes) et langue (auto / français / anglais) ;
- notifications bureau et toasts in-app ;
- portée des notifications : mentions/privés ou tous les messages ;
- durée des toasts ;
- confirmation explicite avant un upload litterbox public ;
- rappel des protections de sécurité non désactivables.
La fenêtre ne touche jamais aux secrets : elle ne reçoit que des réglages
d'interface, les mots de passe restent dans le formulaire de connexion et le
trousseau système, indexés par réseau.
Thème Tux (Linux)
Nouveau thème sombre inspiré de Tux : fond quasi noir, accents jaune bec,
vert terminal et touches cyan. La liste passe à 19 thèmes.
Sécurité
- Les textes de toast/notification sont nettoyés avant affichage et la file
est bornée (pas de spam mémoire). - Les préférences ne contiennent ni hôte, ni compte, ni mot de passe ; elles
ne peuvent pas réécrire les secrets d'un autre réseau. - Les protections 1.6.1 restent actives : SASL exige TLS + certificat
vérifié,--no-tls/--insecure/--sasl-passwordsont éphémères, secrets
par réseau,config.toml/scheduled.jsonen 0600 dans un dossier 0700. cargo fmt --checketcargo auditsont exécutés en CI : 0 vulnérabilité
bloquante ; 14 avertissements de crates non maintenues via GPUI. L'avis
gridreste documenté comme non atteignable.- Tests : 61 tests noyau + 2 tests réseau + 8 tests app + e2e (TCP, TLS,
refus SASL sans TLS), tous verts.
AppImage Linux
Fichier : Le-Salon-1.7.0-x86_64.AppImage (construit par la CI GitHub sur
Ubuntu 24.04)
SHA-256 :
f664841263fe9054dd90f6d364825af1631265e423cc82c706e2ce8614767a6a
Vérification :
sha256sum Le-Salon-1.7.0-x86_64.AppImage
chmod +x Le-Salon-1.7.0-x86_64.AppImage
./Le-Salon-1.7.0-x86_64.AppImage --versionLimites connues
- Les toasts affichent le contenu des messages : désactive-les si ton écran
est visible ou partagé. - Les uploads litterbox restent publics 72 h ; la confirmation est active par
défaut. - DCC SEND reste non chiffré et l'offre est visible par le serveur IRC.
- Voir
SECURITY.md
pour le détail des garanties et limites.
Installation
Télécharger l'AppImage ci-dessous, ou compiler :
cargo build --release -p le-salon
sh tools/build-appimage-le-salon.shLe Salon 1.6.1 — correctifs de sécurité
Le Salon 1.6.1 — correctifs de sécurité
Cette version corrige les problèmes identifiés lors de l'audit du code et
durcit les valeurs par défaut. Mise à jour recommandée pour toute
installation 1.6.0.
Correctifs principaux
- SASL sans TLS bloqué :
AUTHENTICATE PLAINexige désormais TLS et
la vérification du certificat. Le client refuse la connexion avant tout
échange réseau, au lieu d'envoyer le mot de passe en base64 sur un canal
non sûr. - Flags CLI éphémères :
--no-tls,--insecureet--sasl-password
ne sont plus écrits dansconfig.toml. Un-kponctuel ne désactive plus
la vérification pour les lancements suivants.--sasl-passwordn'est plus
mémorisé dans le trousseau ;LE_SALON_SASL_PASSWORDest préféré. - Secrets par réseau : le trousseau indexe les mots de passe par
(hôte, compte). Changer l'hôte ou le compte efface le champ pour éviter
d'envoyer le secret d'un réseau à un autre. Migration automatique de
l'ancienne entrée unique. - Fichiers privés :
config.tomletscheduled.jsonsont créés en
0600dans un dossier0700. - Liens média : validation par hôte exact (fini
https://evil.example/youtube.com/watch) ; l'hôte est affiché dans le
bouton ; antislash et contrôles bidi refusés. - Upload litterbox : confirmation explicite avant l'envoi, rappel que le
fichier est public 72 h ; seuls les liens HTTPS sont acceptés. - DCC : écoute uniquement sur l'interface locale annoncée, avertissement
sur le caractère non chiffré et la visibilité de l'offre pour le serveur. - Affichage : contrôles de direction Unicode retirés (usurpation visuelle).
- CTCP :
VERSIONne divulgue plus la version exacte ;TIMEne répond
plus (fuite de fuseau horaire). - CI :
cargo fmt --checketcargo auditajoutés ;SECURITY.mddécrit
les garanties, limites et le processus de signalement.
AppImage Linux
Fichier : Le-Salon-1.6.1-x86_64.AppImage (construit par la CI GitHub sur Ubuntu 24.04)
SHA-256 :
d8578ccd581c9787015ef20884b1877b1b389d391e40c81ca4205b8ace5d5b1d
Vérification :
sha256sum Le-Salon-1.6.1-x86_64.AppImage
chmod +x Le-Salon-1.6.1-x86_64.AppImage
./Le-Salon-1.6.1-x86_64.AppImage --versionComportements modifiés
- SASL nécessite TLS + certificat vérifié ; les connexions SASL en clair sont
refusées. irc://ne désactive plus TLS silencieusement ; utiliserircs://ou
décocher explicitement TLS.--sasl-password,--no-tlset--insecurene modifient plus la
configuration persistante.CTCP TIMEne répond plus.- Les uploads demandent une confirmation.
Limites connues
Voir SECURITY.md.
L'avis grid (GHSA-38c5-483c-4qqp) est présent via taffy 0.9, mais taffy
n'appelle jamais la fonction vulnérable ; il sera supprimé lors d'une montée
de GPUI. cargo audit ne signale aucune vulnérabilité bloquante.
Installation
Télécharger l'AppImage ci-dessous, ou compiler :
cargo build --release -p le-salon
sh tools/build-appimage-le-salon.sh