教程 | dufs – 简单的 Web 文件服务器:上传、下载、搜索、静态文件托管、WebDAV 云盘等
dufs 是一款开源的 Web 文件服务器,它可以托管静态文件、上传下载、搜索、支持 WebDAV、HTTPS、拥有 API,小巧单文件(1MB),即开即用。
dufs:一款简单的文件服务器, 支持静态文件伺服、上传、下载、webdav 云盘
「Dufs」是一款简单的文件服务器, 支持静态文件服务、上传、搜索、访问控制、webdav 等,用 Rust 编写,单可执行文件,主要功能如下:
- 静态文件服务
- 下载目录为 zip 文件
- 上传文件 /目录 (支持拖拽)
- 搜索文件
- 并发下载,断续下载
- 路径级别的访问控制
- 支持 https
- 支持 webdav
- 方便 curl 调用
说起来,与 dufs 类似的工具,还有:
- 用 chfs 为小米路由器添加 NAS 文件共享功能,支持 HTTP、WebDAV 协议
- CuteHttpFileServer / chfs 文件服务器,简易nas,支持http、webdav
- AList – 聚合阿里云盘、百度网盘、PikPak、WebDav 等 18 款网盘:文件预览、上传/下载,直接播放视频
说起来各有各的优点,在功能上 AList 要更加强大一些,青小蛙已经见到越来越多的项目直接使用 AList 提供文件服务。但有竞争才更好。
使用
下载后的 dufs 只有一个单文件,直接运行就好,默认端口 5000,只需要在浏览器上打开 127.0.0.1:5000 就能进入 dufs 界面了。
一些小功能:
- 更改默认端口:dufs -p 5000
- 仅提供上传:dufs –allow-upload
- 提供所有权限:dufs-A
- 托管指定文件:dufs linux-distro.iso
- 托管指定路径:dufs downloads
- 托管静态文件:dufs –render-index(需要 index.html 文件)
- 添加密码:dufs -a /@用户名:密码
还可以监听 unix socket,以及使用 https,至于 API,通过 curl 就可以上传下载文件了:
curl -T path-to-file http://127.0.0.1:5000/new-path/path-to-file``curl http://127.0.0.1:5000/path-to-file
除了提供 Windows、macOS、Linux(支持 x86 与 arm)的编译文件之外,也支持 Docker 部署:
docker run -v `pwd`:/data -p 5000:5000 --rm -it sigoden/dufs /data -A
有兴趣的同学可以对比试试,挑选一款合适的用吧。
获取
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。