As a developer tool, sigoden/dufs has picked up 10.6k stars on GitHub (Rust). A file server that supports static serving, uploading, searching, accessing control, webdav...
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Dufs is a distinctive utility file server that supports static serving, uploading, searching, accessing control, webdav...
Features
Serve static files
Download folder as zip file
Upload files and folders (Drag & Drop)
Create/Edit/Search files
Resumable/partial uploads/downloads
Access control
Support https
Support webdav
Easy to use with curl
Install
With cargo
cargo install dufs
With docker
docker run -v `pwd`:/data -p 5000:5000 --rm sigoden/dufs /data -A
With Homebrew
brew install dufs
Binaries on macOS, Linux, Windows
Download from Github Releases, unzip and add dufs to your $PATH.
CLI
Dufs is a distinctive utility file server - https://github.com/sigoden/dufs
Usage: dufs [OPTIONS] [serve-path]
Arguments:
[serve-path] Specific path to serve [default: .]
Options:
-c, --config <file> Specify configuration file
-b, --bind <addrs> Specify bind address or unix socket
-p, --port <port> Specify port to listen on [default: 5000]
--path-prefix <path> Specify a path prefix
--hidden <value> Hide paths from directory listings, e.g. tmp,*.log,*.lock
-a, --auth <rules> Add auth roles, e.g. user:pass@/dir1:rw,/dir2
-A, --allow-all Allow all operations
--allow-upload Allow upload files/folders
--allow-delete Allow delete files/folders
--allow-search Allow search files/folders
--allow-symlink Allow symlink to files/folders outside root directory
--allow-archive Allow download folders as archive file
--allow-hash Allow ?hash query to get file sha256 hash
--enable-cors Enable CORS, sets `Access-Control-Allow-Origin: *`
--render-index Serve index.html when requesting a directory, returns 404 if not found index.html
--render-try-index Serve index.html when requesting a directory, returns directory listing if not found index.html
--render-spa Serve SPA(Single Page Application)
--assets <path> Set the path to the assets directory for overriding the built-in assets
--log-format <format> Customize http log format
--log-file <file> Specify the file to save logs to, other than stdout/stderr
--compress <level> Set zip compress level [default: low] [possible values: none, low, medium, high]
--completions <shell> Print shell completion script for <shell> [possible values: bash, elvish, fish, powershell, zsh]
--tls-cert <path> Path to an SSL/TLS certificate to serve with HTTPS
--tls-key <path> Path to the SSL/TLS certificate's private key
-h, --help Print help
-V, --version Print version
Examples
Serve current working directory in read-only mode
dufs
Allow all operations like upload/delete/search/create/edit...
curl http://127.0.0.1:5000?q=Dockerfile # search for files, similar to `find -name Dockerfile`
curl http://127.0.0.1:5000?simple # output names only, similar to `ls -1`
curl http://127.0.0.1:5000?json # output paths in json format
With authorization (Both basic or digest auth works)
Dufs supports account based access control. You can control who can do what on which path with --auth/-a.
dufs -a admin:admin@/:rw -a guest:guest@/
dufs -a user:pass@/:rw,/dir1 -a @/
Use @ to separate the account and paths. No account means anonymous user.
Use : to separate the username and password of the account.
Use , to separate paths.
Use path suffix :rw/:ro set permissions: read-write/read-only. :ro can be omitted.
-a admin:admin@/:rw: admin has complete permissions for all paths.
-a guest:guest@/: guest has read-only permissions for all paths.
-a user:pass@/:rw,/dir1: user has read-write permissions for /*, has read-only permissions for /dir1/*.
-a @/: All paths is publicly accessible, everyone can view/download it.
Auth permissions are restricted by dufs global permissions. If dufs does not enable upload permissions via --allow-upload, then the account will not have upload permissions even if it is granted read-write(:rw) permissions.
Dufs allows users to customize the UI with your own assets.
dufs --assets my-assets-dir/
If you only need to make slight adjustments to the current UI, you copy dufs's assets directory and modify it accordingly. The current UI doesn't use any frameworks, just plain HTML/JS/CSS. As long as you have some basic knowledge of web development, it shouldn't be difficult to modify.
Your assets folder must contains a index.html file.
index.html can use the following placeholder variables to retrieve internal data.
The most recent commit recorded on sigoden/dufs was 1 month ago, based on the GitHub push timestamp. The repository has 576 forks — one of the better signals of community interest.
How does sigoden/dufs compare to other Developer Tools projects?
sigoden/dufs is tracked by TopGit in the Developer Tools category, with 10.6k GitHub stars and written in Rust. Browse the Developer Tools topic page on TopGit to compare it against similar projects by stars and activity.
How many stars does sigoden/dufs have?
sigoden/dufs has 10.6k GitHub stars — refresh the page for the live number, or check github.com/sigoden/dufs. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What is sigoden/dufs?
sigoden/dufs (sigoden/dufs) is a Rust project on GitHub. From the project's own README: A file server that supports static serving, uploading, searching, accessing control, webdav...
What language is sigoden/dufs written in?
sigoden/dufs is written primarily in Rust. GitHub's language field is based on the largest share of bytes in the default branch.
What topics is sigoden/dufs associated with?
GitHub's repository topics for sigoden/dufs: "cloud-disk", "command-line", "file-sharing", "file-upload-server", "rust", "static-server", "webdav", "webdav-server". TopGit's editorial category is Developer Tools.
Why is sigoden/dufs categorized under Developer Tools?
TopGit places sigoden/dufs in the Developer Tools category based on its GitHub topics and description (tagged: "cloud-disk", "command-line", "file-sharing"). Categories are assigned from real repository metadata, not editorial guesswork.
Read full README in the tab above.
Want a second opinion on dufs?
Ask an AI that can read this page — one click and you get its take on dufs.