FluxDown : un gestionnaire de téléchargement multi-protocole en Rust
FluxDown est un utilitaire de téléchargement et de traitement multimédia avec reprise des transferts, gestion des files d'attente et contrôles d'automatisation locaux.
En bref
- De quoi s’agit-il ?
- Un gestionnaire de téléchargement gratuit et open source prenant en charge HTTP, FTP, BitTorrent, eD2K, HLS et DASH, avec un serveur MCP intégré pour les clients IA.
- À qui s’adresse-t-il ?
- Pour évaluer FluxDown, partez des commandes et des fichiers cités dans le README, puis vérifiez concrètement le flux propre à FluxDown. L observation doit porter sur les entrées, les sorties et les messages d erreur propres au projet, car le dépôt ne promet pas davantage.
- Puis-je l’utiliser commercialement ?
- Oui, sous conditions strictes. AGPL-3.0 est une licence à copyleft réseau : si des personnes utilisent une version modifiée via un réseau, par exemple comme service hébergé, vous devez leur proposer son code source sous la même licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 6 jours.
- En quel langage est-il écrit ?
- Principalement Rust, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Alternative gratuite à IDM, multi-protocole
Le README s'ouvre sur le slogan « Downloads, Supercharged » et positionne FluxDown comme une alternative gratuite et open source à Internet Download Manager (IDM). Le tableau comparatif du README liste IDM à 24,95 $ plus des renouvellements, tandis que FluxDown est gratuit, open source sous AGPL-3.0 et disponible sur Windows, macOS, Linux, NAS et Android, alors que le tableau indique IDM comme étant Windows uniquement. Le README revendique également des protocoles qu'IDM ne couvre pas, notamment BitTorrent avec liens magnétiques, liens eD2K et streaming HLS/DASH. La section des points forts annonce des téléchargements « jusqu'à 10 fois plus rapides », mais le dépôt ne fournit aucune donnée de référence pour vérifier ce chiffre.
Le moteur Rust et la segmentation dynamique
Le moteur de téléchargement est écrit en Rust et s'appuie sur le runtime asynchrone Tokio. Le README décrit une segmentation dynamique : les segments de fichiers sont divisés à l'exécution, et les threads inactifs reprennent les segments lents, une stratégie qu'il compare à IDM. Le support des protocoles est réparti entre des moteurs dédiés : HTTP/HTTPS, FTP, BitTorrent avec DHT et liens magnétiques, eD2K avec recherche de sources Kad et vérification MD4, ainsi que HLS avec déchiffrement AES et DASH. Chaque octet de l'état de téléchargement est suivi dans SQLite en mode WAL, donc le README affirme qu'une coupure de courant ne fait jamais perdre la progression. La limitation globale du débit utilise un schéma à seau de jetons, décrit comme permettant de télécharger en arrière-plan sans saturer la connexion.
Extension de navigateur et interface de bureau
L'extension de navigateur cible Chrome, Edge et Firefox. Le README décrit un moteur d'interception à trois couches qui prend en charge les téléchargements du navigateur, détecte les médias en streaming, propose un contournement Alt+Click et ajoute une option d'envoi par clic droit. L'extension communique avec l'application de bureau via Native Messaging. L'interface elle-même est une mise en page à trois panneaux avec des thèmes clair et sombre, 13 schémas de couleurs, une visualisation des segments de style IDM, des files d'attente nommées et une icône dans la barre système, avec des widgets inspirés de shadcn. Le README affirme que l'application est locale d'abord : zéro publicité, zéro suivi, zéro compte, aucune donnée ne quitte la machine.
Le serveur MCP intégré
FluxDown inclut un serveur Model Context Protocol (MCP) pour que des clients IA comme Claude Desktop, Cursor ou Cline puissent gérer les téléchargements. Le point d'accès est http://127.0.0.1:17800/mcp, local uniquement par défaut, utilisant Streamable HTTP avec JSON-RPC 2.0 sur un seul chemin POST. L'authentification utilise un jeton Bearer partagé avec l'API de gestion. Douze outils sont exposés : ajouter, lister, obtenir, mettre en pause, reprendre, tout mettre en pause, tout reprendre, supprimer des tâches, lister les files d'attente, et ajouter, lister et supprimer des abonnements RSS. L'application de bureau nécessite d'activer le point d'accès dans les paramètres, tandis que le serveur sans tête l'active par défaut selon le README. Un exemple de configuration client avec l'URL et l'en-tête Authorization est inclus.
Architecture : interface Flutter, moteur Rust, messagerie native
Le diagramme d'architecture du README montre un composant hub agissant comme adaptateur FFI. L'interface Flutter échange des signaux Rinf avec le hub, qui transmet les tâches au moteur Rust. Le moteur répartit vers des modules de protocole pour HTTP/HTTPS, FTP, BitTorrent, eD2K et HLS/DASH, et écrit l'état dans SQLite. L'extension de navigateur est construite avec WXT et TypeScript, et se connecte via un binaire hôte Native Messaging nommé fluxdown_nmh sur un pipe nommé ou une socket Unix. Le site web est Astro avec React. Le README note que la couche MCP et l'API de gestion REST, y compris un point d'accès JSON-RPC compatible aria2, reposent toutes sur le même trait ApiHost.
Distribution sur bureau, mobile et NAS
Les paquets de version listés dans le README comprennent Windows x64 et ARM64 (installateur setup.exe et zip portable), macOS Intel et Apple Silicon (dmg et tar.gz portable), Linux x64 (AppImage, deb, pkg.tar.zst Arch et tar.gz portable), Android (APK par ABI et universel), ainsi que des cibles NAS ou serveur sans tête : Docker, Synology DSM 6/7, QNAP, OpenWrt, Unraid et CasaOS/ZimaOS. Les extensions de navigateur sont publiées sur le Chrome Web Store, les modules complémentaires Edge et les modules Firefox. La page d'accueil du projet, fluxdown.zerx.dev, mène aux téléchargements, au journal des versions, à la FAQ et aux retours. Les métadonnées du dépôt affichent 1 486 étoiles, 72 forks et 112 problèmes ouverts, mais le README ne documente ni la cadence des versions ni les numéros de version.
Compilation depuis les sources et licence AGPL
La compilation nécessite le SDK Flutter, la chaîne d'outils Rust et la CLI Rinf. Les commandes du README clonent la branche main, vérifient rustc et flutter doctor, installent rinf_cli avec cargo, exécutent flutter pub get et rinf gen, puis lancent le mode débogage avec flutter run ou construisent une version de production avec flutter build pour la plateforme cible. Les dépendances système Linux sont listées pour Debian/Ubuntu et Arch, et le binaire relais Native Messaging est construit automatiquement par CMake pendant flutter build. Le projet est distribué sous AGPL-3.0. Le préambule de la licence la décrit comme une licence copyleft conçue pour les logiciels de serveur réseau, et l'extrait stipule que les exploitants exécutant une version modifiée sur un serveur accessible publiquement doivent fournir le code source de la version modifiée aux utilisateurs de ce serveur. La licence accorde le droit de copier, distribuer et modifier le logiciel, et déclare qu'aucune garantie n'est fournie. Elle ne dit rien sur les engagements de support ou les garanties de sécurité.
Conclusion éditoriale
Pour évaluer FluxDown, partez des commandes et des fichiers cités dans le README, puis vérifiez concrètement le flux propre à FluxDown. L observation doit porter sur les entrées, les sorties et les messages d erreur propres au projet, car le dépôt ne promet pas davantage. Le projet peut convenir à ce profil, mais FluxDown ne convient pas à qui cherche une garantie que le README ne fournit pas.
Notes de la communauté