Dufs

MIT or Apache-2.0
Platform
Linux macOS Windows Docker
Licence
MIT or Apache-2.0 Open source
Dufs

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.

Key Features

  • A real file browser, not just a static server — folders, sortable Name/Last Modified/Size columns, per-row action icons and breadcrumbs, served from a built-in front-end that needs no separate web server or build step.
  • Uploads and edits — drag-and-drop file and folder uploads, folder creation, and a built-in text editor, each gated behind its own opt-in flag (--allow-upload, --allow-delete, --allow-search).
  • Search — index-free name search over the served tree, so a large directory stays navigable without a database; the same query is available to scripts as ?q= returning plain names with ?simple or JSON with ?json.
  • WebDAV — the directory mounts as a WebDAV share, so Finder, Explorer, GNOME Files or rclone can read and write it with the same permissions as the web interface.
  • Access control — rules such as -a admin:pass@/:rw -a guest:pass@/public give each account its own rights on each path, with basic or digest authentication.
  • Resumable transfers — interrupted downloads continue with curl -C-, and partial uploads resume with a PATCH carrying X-Update-Range: append, which matters for large files on a flaky link.
  • Folder downloads as zip — any directory can be pulled as a single archive, with the compression level chosen at start-up.
  • HTTPS and path handling — bring your own certificate and key for TLS, serve under a path prefix behind a reverse proxy, and hide noise such as *.log or tmp from listings.
  • Front-end modes — serve a built SPA, or a static site through index.html, so the same binary can host a single-page app and its assets.
  • Friendly to curl and scripts — uploads with curl -T, downloads, SHA-256 hashes with ?hash, MKCOL/MOVE/DELETE for folder operations, and a health endpoint for monitoring.

Running it

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.

Where it fits

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.

Explore More Categories

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.