Dufs is a single-binary file server written in Rust that turns a directory on your machine into a browsable web file manager. Point it at a folder and it serves a clean file listing for downloading, uploading with drag-and-drop, creating and editing files, searching names, and mounting the same directory over WebDAV — with per-account, per-path access control and optional HTTPS, all from one command line and no database to run.
--allow-upload, --allow-delete, --allow-search).?q= returning plain names with ?simple or JSON with ?json.-a admin:pass@/:rw -a guest:pass@/public give each account its own rights on each path, with basic or digest authentication.curl -C-, and partial uploads resume with a PATCH carrying X-Update-Range: append, which matters for large files on a flaky link.*.log or tmp from listings.index.html, so the same binary can host a single-page app and its assets.curl -T, downloads, SHA-256 hashes with ?hash, MKCOL/MOVE/DELETE for folder operations, and a health endpoint for monitoring.Dufs is distributed as prebuilt binaries for Linux, macOS and Windows, as a Cargo crate, through Homebrew, and as a Docker image. A minimal run is docker run -v $PWD:/data -p 5000:5000 --rm sigoden/dufs /data -A; without any flags it serves the current directory read-only on port 5000. Options can live in a configuration file for repeatable deployments, and every permission (upload, delete, search, archive, symlink following, CORS) is granted individually rather than globally.
Dufs is for people who want to put a folder on the web without standing up a full collaboration platform: handing out a downloads or build-artifacts directory, sharing files from a small VPS, giving a team a WebDAV mount, or dropping a static front-end somewhere. It sits between a plain static file server and a heavyweight file manager — you get a usable interface, uploads, search and WebDAV from one small binary, and you give up multi-user account management, sharing links and storage backends.