| |

Termex : centraliser SSH, SFTP et assistance IA dans un client local natif

https://github.com/zouwei/termex

📌 Termex est un client SSH open source qui réunit dans une application locale la gestion de serveurs, les sessions terminal multi-onglets, le navigateur SFTP et des fonctions IA capables d’expliquer une commande, de proposer du shell à partir d’une consigne et de fonctionner aussi bien avec des API distantes qu’avec des modèles locaux.

Ce positionnement change surtout la routine quotidienne quand plusieurs machines, clés et méthodes d’authentification doivent rester faciles à retrouver. Au lieu de disperser les accès entre un terminal, un gestionnaire de mots de passe, un client SFTP séparé et quelques scripts maison, Termex rassemble les connexions SSH, les groupes de serveurs, la recherche, les indicateurs d’état et la navigation par onglets dans une interface native construite avec Tauri et Rust. Le résultat visé est clair: garder la rapidité d’un client natif sans retomber dans la lourdeur d’une application Electron.

L’application prend en charge les connexions par mot de passe, les clés RSA et Ed25519 avec phrase de passe, et ajoute une logique de rangement utile quand la liste des hôtes commence à grossir. Les serveurs peuvent être organisés en groupes colorés, avec arborescence, recherche et aperçu contextuel. Pour un usage concret, cela évite de perdre du temps entre une machine de production, un bastion, un VPS personnel, une base de test ou un serveur interne rarement utilisé. Le bénéfice n’est pas seulement visuel: un point d’entrée cohérent réduit les erreurs de cible et accélère les accès récurrents.

L’autre intérêt fort de Termex est la couche terminal elle-même. L’émulateur repose sur xterm.js avec rendu WebGL, annonce un affichage fluide à 60 fps et s’appuie sur des sessions multi-tabs avec navigation clavier. Cela permet de conserver un confort proche d’un terminal moderne tout en profitant d’outils plus structurés autour, comme les statuts d’onglets, la bascule rapide et les raccourcis pour ouvrir une connexion, masquer la barre latérale ou passer d’un onglet à l’autre.

Au milieu du flux, la partie SFTP rend le produit beaucoup plus polyvalent qu’un simple client SSH. Le navigateur de fichiers en double panneau, le glisser-déposer, les opérations de copier-coller ou déplacement, le renommage, la suppression, la création de fichiers et dossiers, la copie de chemin et l’édition des permissions permettent de faire une grande partie des tâches d’administration sans repasser par une suite d’outils annexes. Pour modifier une config, récupérer un log, déposer un binaire, corriger des droits ou parcourir rapidement une arborescence distante, l’approche intégrée fait gagner du temps.

Points clés

  • 🔐 Stockage sensible protégé par le trousseau natif du système, avec repli chiffré en AES-256-GCM si nécessaire
  • 🤖 Fonctions IA intégrées pour expliquer une commande, générer du shell et bloquer des commandes risquées
  • 💻 Exécution locale ou cloud selon le fournisseur choisi, avec support OpenAI, Claude, Ollama et modèles locaux
  • 🌉 Gestion des bastions et ProxyJump multi-niveaux pour accéder à des réseaux internes plus proprement
  • 📂 SFTP intégré avec clic droit, permissions, infos fichier et opérations de copie ou déplacement
  • 🌍 Application disponible sur macOS, Windows et Linux avec interface bilingue chinois/anglais

La couche IA est pensée pour rester pratique au lieu d’être décorative. Les fonctions annoncées couvrent l’explication de commandes, la conversion d’une consigne en shell, l’autocomplétion selon le contexte du serveur et la détection des commandes dangereuses. Dans un usage quotidien, cela sert par exemple à comprendre une ligne complexe avant exécution, générer une commande find, tar, rsync ou ssh plus vite, ou éviter une suppression trop large sur la mauvaise machine. Le point important est que Termex ne se limite pas à un seul fournisseur: l’application peut s’appuyer sur Claude, OpenAI, Ollama et désormais sur des modèles open source lancés localement.

Cette compatibilité locale mérite d’être soulignée, car elle élargit nettement les cas d’usage. Termex peut utiliser un binaire llama-server, détecter des installations locales, gérer le téléchargement de modèles GGUF, vérifier leur intégrité par SHA256 et stocker ces modèles dans un répertoire dédié. Une fois les modèles récupérés, les fonctions IA restent disponibles hors ligne, sans quota API et sans dépendance à un proxy tiers. Pour les personnes qui veulent garder les requêtes au plus près de leur machine, c’est une différence concrète. L’application mentionne aussi le support d’Ollama sur le réseau local, ce qui laisse le choix entre API cloud, infrastructure locale existante ou exécution totalement embarquée.

Sur le plan confidentialité, la promesse est plus solide que celle de nombreux clients qui mélangent confort et zones grises. Les mots de passe SSH, phrases de passe de clés privées et clés d’API IA ne sont pas stockés en clair dans la base locale. Termex s’appuie sur le gestionnaire d’identifiants natif du système, avec Keychain Services sur macOS, Credential Manager sur Windows et Secret Service sous Linux. Si cet environnement n’est pas disponible, un mode de secours chiffré avec AES-256-GCM et dérivation Argon2id prend le relais. Le projet précise aussi que les requêtes IA n’embarquent jamais mots de passe, clés ou tokens, et qu’il n’y a ni télémétrie ni analytics.

Pour les connexions complexes, la prise en charge de ProxyJump et des hôtes bastion apporte une vraie profondeur. Les chaînes de saut multi-niveaux sont gérées, avec résolution automatique, détection de cycles, mutualisation des connexions et aperçu visuel de la chaîne. Concrètement, cela simplifie l’accès à des serveurs internes placés derrière un ou plusieurs points d’entrée, sans multiplier les bricolages dans des fichiers de config séparés. Plusieurs serveurs internes peuvent réutiliser une même connexion bastion, ce qui réduit le bruit et rend le parcours plus lisible.

Le démarrage reste assez direct. Pour utiliser une version prête à l’emploi, il faut récupérer la release correspondant à sa plateforme: .dmg pour macOS, .msi ou .exe pour Windows, .deb, .rpm ou .AppImage pour Linux selon l’architecture. Sur macOS, un contournement Gatekeeper peut être nécessaire pour ouvrir l’application tant qu’elle reste perçue comme non signée. Pour construire depuis les sources, la base annoncée est Rust stable, Node.js 22+, pnpm 10+ et les dépendances Tauri v2 adaptées au système. L’installation de développement suit une logique simple avec pnpm install, puis pnpm tauri dev pour lancer l’application.

Le socle technique donne aussi une bonne idée de la direction produit. Le backend Rust gère le SSH, le chiffrement, le stockage et la logique IA, tandis que la partie interface repose sur Vue 3, TypeScript, Element Plus et Tailwind CSS. SQLCipher est utilisé pour la base locale chiffrée, russh pour le protocole SSH pur Rust et ring avec Argon2id pour la couche cryptographique. Cela place Termex dans la catégorie des clients modernes qui cherchent à rester rapides, portables et assez extensibles, sans sacrifier la sécurité au profit d’une simple surcouche visuelle.

À retenir, Termex est surtout intéressant pour les personnes qui veulent un poste de pilotage local pour leurs accès distants, avec un vrai terminal, un gestionnaire SFTP crédible et une couche IA exploitable sans céder la maîtrise de leurs données. L’association entre interface native, sécurité locale, support des bastions et choix libre entre modèles cloud et modèles embarqués en fait un outil déjà très complet pour centraliser le travail SSH au quotidien.

Publications similaires

Laisser un commentaire