Faro le client de fichiers qui prete vos sessions
|

FARO : le client de fichiers qui prête vos sessions à un agent IA

⏱️ Temps de lecture estimé : 5 minutes

https://github.com/jhd3197/faro

📌 FARO est un client de bureau qui réunit dans une seule fenêtre un navigateur de fichiers à deux panneaux, un vrai terminal SSH et un pont d’accès pour les agents IA. Seize backends derrière un trait Rust unique, licence MIT.

Le réflexe dominant reste FileZilla pour le transfert, WinSCP sous Windows, un terminal ouvert à côté pour les commandes. FARO accepte de tenir les trois dans la même fenêtre : vous enregistrez un serveur une fois, et la session SSH ouverte sert à la fois au navigateur de fichiers et à l’onglet de terminal. C’est un vrai shell PTY via russh, pas une émulation de commandes.

Le cœur du projet est un trait Rust, RemoteFs, qui définit la frontière commune de seize backends : SFTP, FTP, FTPS, S3-compatible (AWS, Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces, MinIO, Storj, Hetzner, Scaleway, Oracle OCI, IBM COS, Supabase, plus tout Ceph RGW, Garage ou SeaweedFS en auto-hébergé), Azure Blob, Google Cloud Storage, WebDAV, HTTP en lecture seule, Dropbox, OneDrive, Google Drive, Box, l’agent FARO lui-même, les thèmes Shopify, le Design Manager de HubSpot et Dynamics 365. Ajouter une source revient à écrire une implémentation de ce trait : le navigateur, la file de transfert, la synchronisation et le CLI en profitent automatiquement. Les clouds passent par OAuth loopback et PKCE, et seul le refresh token atterrit dans le coffre du système.

C’est sur cette base que FARO ajoute des outils que les clients de fichiers ont longtemps ignorés. Le Disk Usage Explorer dessine un treemap façon WinDirStat sur n’importe quel backend, avec un chemin rapide du et find quand la machine accepte le shell. Le Directory Diff compare deux sources distantes entre elles — staging contre production, deux buckets — par taille ou par hash. La Fleet Search lance rg ou grep côté serveur. La synchronisation propose d’abord un plan, additif ou miroir, avant de déplacer quoi que ce soit, et peut rester attachée en continu avec watcher, motifs d’exclusion et plafond de suppressions. Ouvrir un fichier distant dans votre éditeur local et le renvoyer à chaque sauvegarde reste le geste le plus discret.

Le vrai sujet, c’est l’Agent Bridge. Vous ouvrez le panneau Bridge, vous lancez un serveur sur 127.0.0.1 avec un port aléatoire et un jeton Bearer régénéré à chaque lancement, puis vous collez la ligne claude mcp add dans votre projet. Claude Code obtient faro_list_sessions et faro_exec, et il exécute sur le serveur la session que vous avez déjà authentifiée. Aucune clé n’est transmise, aucun démon n’est installé à distance. Chaque commande ouvre une fenêtre d’approbation dans FARO et reste bloquée jusqu’à votre clic, avec expiration. Le panneau affiche en direct le journal des commandes, approbations et refus.

L’autre moitié, FARO Agent, vise la machine qui n’a pas de serveur SSH. Un code à six chiffres apparie le poste, le lien est chiffré en Noise (X25519 + ChaCha20-Poly1305), les deux parties épinglent ensuite leur clé statique et refusent tout pair inconnu. La machine contrôlée garde sa propre politique, exec, écriture ou lecture seule. Sur un serveur headless, l’installation tient en une ligne :

bash
curl -fsSL https://github.com/jhd3197/Faro/releases/latest/download/install-agentd.sh | sh

Le même attachement se prolonge dans faro-cli, qui réutilise les profils déjà enregistrés : faro-cli diff prod:/etc staging:/etc --hash, faro-cli agent exec prod 'journalctl -u api -n 100'. La syntaxe nom:/chemin permet de faire travailler ensemble deux sources distantes, et un faro-cli self-update --check signale un CLI resté en retard sur l’application.

Ce qui me convainc le plus est le trait unique : c’est la bonne réponse au problème des clients empilant quatre gestionnaires de secrets et trois plans de classement. Le pont d’accès aux agents est plus intéressant que le treemap, parce qu’il résout un besoin concret, celui d’un agent qui veut un shell authentifié sans recevoir vos clés. Deux réserves honnêtes. Les builds ne sont pas signés : sur macOS il faut lancer une fois xattr -cr /Applications/Faro.app, sur Windows cliquer « Plus d’informations ». Et le projet est jeune, né en mai 2026, avec 26 étoiles. Rien d’alarmant, mais je n’y confierais pas encore l’unique chemin vers un serveur de production.

  • 🗂 Seize backends, du FTP à Dynamics 365, sur un seul moteur RemoteFs
  • 🖥 Une session SSH partagée entre le navigateur de fichiers et le terminal
  • 🤖 Claude Code exécute sur vos serveurs, une approbation par commande
  • 📊 Treemap de taille, diff distant-distant et recherche rg sur n’importe quelle source
  • 🔗 Code à six chiffres pour piloter un poste qui n’a pas de serveur SSH
  • 🆓 MIT, Tauri 2 et Rust, un binaire par plateforme

Sources

Publications similaires

Laisser un commentaire