一款可移植的 Python 文件服务器,支持断点续传,可通过任意浏览器及 WebDAV、SFTP、FTP 等协议访问。
sigoden/dufs
一款用 Rust 编写的命令行文件服务器,支持静态服务、上传、搜索、权限控制和 WebDAV。
- Star
- 10,975
- Fork
- 607
- 未关闭 Issue
- 2
- 最近提交
- 3天前
这是什么?
Dufs 是一个通过命令行启动的文件服务器,可将目录以 HTTP 或 HTTPS 方式共享。默认只读提供文件,加上 --allow-upload、--allow-delete 或 -A(允许全部操作)等参数后才开放写操作。访问者可使用浏览器界面浏览目录、拖拽上传、将文件夹打包下载为 zip,并可新建和编辑文件。
权限通过 --auth 按路径配置账户规则,支持只读与读写角色、匿名公开路径,以及 sha-512 哈希密码。此外还支持 WebDAV、断点续传上传和下载、文件搜索、sha256 哈希查询,以及便于 curl 调用的 JSON 或纯文本列表输出。
它可以直接托管静态网站、渲染 index.html 或提供单页应用服务。安装方式包括 cargo、Homebrew、Docker,以及 macOS、Linux、Windows 的预编译二进制。
核心功能
- 01支持静态文件和目录服务,可选 index.html 渲染与单页应用模式
- 02支持拖拽上传,以及新建、编辑和搜索文件
- 03基于账户的访问控制,可按路径设置只读或读写权限
- 04支持 WebDAV、断点续传上传和下载
- 05支持将文件夹打包为 zip 下载,以及查询文件 sha256
- 06可通过命令行参数、环境变量或 YAML 配置文件进行设置
适用场景
- 在局域网内快速将本地目录分享给同事
- 从目录直接托管静态网站或单页应用
- 搭建一个简单的文件收集上传入口
- 通过 WebDAV 客户端访问自建的网络文件存储
快速上手
- 1
使用 cargo 安装
cargo install dufs - 2
以只读模式共享当前目录
dufs - 3
允许上传、删除、搜索等所有操作
dufs -A
使用前须知
- 部分高级功能(如摘要认证)无法与哈希密码配合使用。
标签
常见问题
- dufs 是什么?
- 一款用 Rust 编写的命令行文件服务器,支持静态服务、上传、搜索、权限控制和 WebDAV。 Dufs 是一个通过命令行启动的文件服务器,可将目录以 HTTP 或 HTTPS 方式共享。默认只读提供文件,加上 --allow-upload、--allow-delete 或 -A(允许全部操作)等参数后才开放写操作。访问者可使用浏览器界面浏览目录、拖拽上传、将文件夹打包下载为 zip,并可新建和编辑文件。
- dufs 可以免费使用吗?用的什么许可证?
- dufs 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- dufs 还在维护吗?
- 活跃维护中。dufs 最近一次提交是在 2026年10月22日。
- dufs 适合用来做什么?
- 在局域网内快速将本地目录分享给同事 从目录直接托管静态网站或单页应用 搭建一个简单的文件收集上传入口 通过 WebDAV 客户端访问自建的网络文件存储
- dufs 怎么安装和运行?
- 使用 cargo 安装: cargo install dufs 以只读模式共享当前目录: dufs 允许上传、删除、搜索等所有操作: dufs -A
- 在哪里获取 dufs?
- 源代码和安装说明在 GitHub 上:https://github.com/sigoden/dufs
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
4.7万+20 本周1913PythonMIT更新于 4天前
基于 WSGI 的 Python WebDAV 服务器,可独立运行,也可嵌入其他 WSGI 应用。
1247178PythonMIT更新于 15小时前
一个自托管的文件列表程序,把多种网盘和本地存储统一到一个网页与 WebDAV 入口中。
5万+2 本周7914GoAGPL-3.0更新于 4天前
一个单文件 Rust 命令行工具,可立即通过 HTTP 共享文件和目录,支持认证、上传和 TLS。
7922401RustMIT更新于 24天前
一款用 Rust 编写的轻量自托管云盘,集文件、日历、联系人与在线办公于一体。
3654183RustMIT更新于 14小时前
命令行工具,可在 70 多种云存储及本地存储之间同步、复制和挂载文件,被称为云端的 rsync。
6.1万+37 本周5575GoMIT更新于 17小时前