whatisgithub

What is dufs?

sigoden/dufs — explained in plain English

Analysis updated 2026-06-24

10,128RustAudience · developerComplexity · 2/5Setup · easy

In one sentence

A single-binary file server you run from the terminal that lets you browse, upload, edit, and download files from any folder over a web browser or HTTP client, with optional password protection and WebDAV support.

Mindmap

mindmap
  root((dufs))
    File operations
      Browse and search
      Upload and edit
      Zip download
    Access control
      User accounts
      Per-folder permissions
      Public paths
    Protocols
      HTTP and HTTPS
      WebDAV
      Static site serving
    Install options
      Cargo
      Homebrew
      Docker
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Share a local folder over your network as a browsable, drag-and-drop upload site in one command.

USE CASE 2

Mount the server as a network drive on Windows, macOS, or Linux using WebDAV for personal cloud storage.

USE CASE 3

Serve a single-page app or static website with HTTPS from a local or remote machine.

USE CASE 4

Transfer large files between machines with resumable uploads and downloads so interrupted transfers don't start over.

What is it built with?

Rust

How does it compare?

sigoden/dufssharkdp/hexylhatoo/oha
Stars10,12810,13510,244
LanguageRustRustRust
Setup difficultyeasyeasyeasy
Complexity2/51/51/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Single binary with no runtime dependencies, install via Cargo, Homebrew, or download a pre-built binary from the releases page.

So what is it?

Dufs is a small, self-contained file server you run from the command line. You point it at a folder on your machine, and it makes that folder accessible through a web browser or HTTP client over your local network or the internet. The simplest case is typing a single command to share your current working directory as a read-only site. Beyond basic file browsing, Dufs supports file uploads through a drag-and-drop web interface, in-browser file editing and creation, full-text search across file names, and downloading entire folders as zip archives. Uploads and downloads support resuming interrupted transfers rather than starting over. If you want encrypted connections, you can provide an SSL certificate and run it over HTTPS. Access control lets you restrict what different users can do. You can set up accounts with usernames and passwords and specify per-account and per-folder permissions, granting some users read-write access and others read-only. You can also leave specific paths fully public. Passwords can optionally be stored as hashed values rather than plain text. Dufs also supports WebDAV, a standard protocol that lets you mount the server as a network drive in Windows, macOS, and Linux, making it usable as a simple personal cloud storage system. It can also act as a static web server, including a mode for serving single-page applications such as those built with React or Vue. The tool is written in Rust, which means it compiles to a single binary with no runtime dependencies. Installation is available through Cargo (the Rust package manager), Homebrew on macOS, Docker, or direct binary downloads from the releases page. A command-line reference and examples for common use cases, including integration with the curl tool, are included in the README. The project is actively maintained and available for macOS, Linux, and Windows.

Copy-paste prompts

Prompt 1
I want to use dufs to share a folder on my Mac over my local network with password protection. Show me the exact command.
Prompt 2
Help me configure dufs with two user accounts: one read-only and one read-write, serving a specific directory over HTTPS.
Prompt 3
I want to mount a dufs server as a network drive on Windows using WebDAV. Walk me through the steps.
Prompt 4
Show me how to use dufs as a static file server for a React single-page app, including how to handle client-side routing.
Prompt 5
I need to run dufs in Docker and expose it on port 8080 with basic auth. Write me a docker run command.

Frequently asked questions

What is dufs?

A single-binary file server you run from the terminal that lets you browse, upload, edit, and download files from any folder over a web browser or HTTP client, with optional password protection and WebDAV support.

What language is dufs written in?

Mainly Rust. The stack also includes Rust.

How hard is dufs to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is dufs for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.