LR
Retour
privé · v1.1.0 · 2026

Charon

Le passeur de fichiers — client SFTP / FTPS / FTP pour macOS, où la sécurité est un objectif de conception.

dev & designtauri · rust · angular

🚀 Objectif du projet

Un client de transfert de fichiers natif pour macOS, pensé pour un usage personnel puis professionnel. Le parti pris : la sécurité n'est pas une couche ajoutée après coup, c'est un objectif de conception — les secrets vivent exclusivement dans le trousseau macOS, la liste des profils n'affiche jamais l'hôte, et les mises à jour sont signées.

🧱 Stack

  • Backend : Rust, via Tauri v2 — binaire natif léger, pas de Chromium embarqué
  • Interface : Angular 20 (signals, OnPush, prêt pour le zoneless)
  • Terminal intégré : xterm.js sur la session SSH déjà authentifiée
  • Typographie : Satoshi pour l'interface, JetBrains Mono pour les données — polices embarquées, aucune ressource distante

⚙️ Fonctionnalités

Connexions

  • SFTP en protocole principal, FTPS (certificats validés par le système), FTP legacy accepté mais avec un avertissement « en clair » permanent
  • Clé SSH auto-détectée dans ~/.ssh (ed25519 en priorité), passphrase supportée, mot de passe en repli
  • Profils multi-serveurs avec environnements Dev / Staging / Prod — badge rouge pulsant impossible à rater sur la prod
  • Pool de connexions persistant : un transfert long ne bloque ni la navigation ni les autres transferts

Explorateur

Un dock façon éditeur de code : 8 panneaux à glisser, empiler en onglets, redimensionner — serveur, local, arborescence, aperçu, transferts, journal, suivi de logs en direct (tail -F), terminal SSH. La disposition est persistée et le DOM n'est jamais recréé : le terminal et les positions de scroll survivent aux réagencements.

Transferts

  • Streaming par chunks de 1 Mio : mémoire bornée quel que soit le poids du fichier
  • Reprise après coupure : écriture vers *.charonpart puis renommage atomique — un transfert interrompu repart là où il s'était arrêté
  • Écrasement protégé : détection de conflit si la version serveur est plus récente, avec aperçu de diff côte à côte façon GitHub

Garde-fous

  • Toute suppression distante exige de retaper le nom d'hôte
  • Mode lecture seule par serveur : tout chemin d'écriture est refusé côté service
  • Fermeture d'inactivité réglable, suspendue tant qu'un transfert, un terminal ou une édition est en cours

Productivité

  • Palette de commandes Cmd+K : profils, navigation, panneaux, thèmes, réglages
  • Édition externe : le fichier distant s'ouvre dans ton éditeur et se re-uploade automatiquement à chaque sauvegarde

🔒 Statut

Privé, macOS uniquement pour l'instant — mises à jour signées intégrées à l'application.