Dufs - Le serveur de fichiers minimaliste qui simplifie tout
Vous cherchez un moyen simple de partager et de gérer vos fichiers sur le réseau sans vous prendre la tête avec une configuration complexe à base d’Apache ou de FTP, laissez-moi vous présenter Dufs. Il s’agit d’un petit serveur de fichiers qui va vous faire oublier les casse-têtes habituels des solutions traditionnelles.
Donc, si vous avez besoin de partager rapidement des fichiers avec vos collègues ou de mettre en place un espace de stockage accessible depuis n’importe où, au lieu de vous lancer dans l’installation laborieuse d’un serveur FTP ou de devoir jongler avec les permissions système, Dufs vous propose une approche plutôt rafraîchissante.
Codé en Rust (déjà ça sent bon la performance) et dispo sous macOS, Windows ou encore Linux, cet outil s’installe en un clin d’œil. Une simple commande et hop, vous voilà avec un serveur de fichiers opérationnel plus vite qu’il n’en faut pour dire “sudo make me a sandwich”.
Installation
Plusieurs options s’offrent à vous selon votre système :
- Via Cargo (le gestionnaire de paquets Rust) :
cargo install dufs
- Via Docker (pour les amateurs de conteneurs) :
docker run -v pwd:/data -p 5000:5000 --rm sigoden/dufs /data -A
- Via Homebrew (pour les aficionados de macOS) :
brew install dufs
Utilisation de base
Une fois installé, le lancement est d’une simplicité déconcertante. Dans sa forme la plus basique, il suffit de taper dufs
dans votre terminal et voilà, votre répertoire courant est instantanément partagé en lecture seule sur le port 5000. Mais ne vous y trompez pas, sous ses airs de minimaliste, Dufs cache de nombreuses fonctionnalités très cool que je vais vous expliquer.
Cas d’usage typiques
Servir des fichiers
- Servir un seul fichier spécifique :
dufs linux-distro.iso
- Servir un site web statique avec index.html :
dufs --render-index
- Partager une application React/Vue.js :
dufs --render-spa
- Activer toutes les fonctionnalités pour un partage rapide :
dufs -A
Fonctionnalités avancées
Y’a aussi des fonctionnalités avancées qui font vraiment la force de Dufs. Vous voulez permettre l’upload de fichiers ? Ajoutez l’option --allow-upload
. Besoin de rechercher des fichiers ? --allow-search
est là pour ça. Envie de transformer votre serveur en véritable forteresse digitale ? Le système d’authentification intégré vous permet de définir des règles d’accès précises.
Authentification
Exemple de configuration avec authentification :
dufs -a admin:superman@/:rw -a guest:batman@/public
Dans cet exemple, l’utilisateur ‘admin’ a les droits en lecture / écriture sur tout le serveur, tandis que ‘guest’ n’a accès qu’au dossier ‘public’.
Intégration avec curl
L’interface web permet de naviguer facilement dans vos fichiers, de les télécharger ou d’en uploader de nouveaux par simple glisser-déposer. Et pour les amateurs de ligne de commande, Dufs s’intègre parfaitement avec curl pour :
Opérations de base
- Télécharger un fichier :
curl http://localhost:5000/mon-fichier.txt
- Uploader un fichier :
curl -T mon-fichier.txt http://localhost:5000/
- Créer un dossier :
curl -X MKCOL http://localhost:5000/nouveau-dossier
Fonctionnalités avancées
- Reprendre un téléchargement interrompu :
curl -C- -o fichier http://localhost:5000/fichier
- Télécharger un dossier complet en ZIP :
curl -o mon-dossier.zip http://localhost:5000/mon-dossier?zip
Sécurité et configuration
La sécurité n’a pas été négligée non plus. Dufs supporte le HTTPS nativement, et les mots de passe peuvent être hashés en SHA-512. De plus, vous pouvez masquer certains fichiers sensibles des listings comme cela :
dufs --hidden ".git,.DS_Store,*.log,*.lock"
Options de logging
Pour les administrateurs système pointilleux, Dufs offre des options de logging personnalisables :
dufs --log-format '$remote_addr "$request" $status $http_user_agent'
Configuration YAML
La configuration peut même être externalisée dans un fichier YAML :
serve-path: '.'
port: 5000
auth:
- admin:admin@/:rw
- guest:guest@/public
allow-upload: true
allow-search: true
En termes de personnalisation, vous pouvez même customiser l’interface utilisateur en fournissant vos propres assets avec l’option --assets
.
Conclusion
Bref, que vous soyez développeur, administrateur système ou simple utilisateur à la recherche d’une solution de partage de fichiers, Dufs est peut-être une solution à explorer et rapide à mettre en place.
Merci à Letsar pour avoir partagé cette perle rare avec nous !