dufs是一款rust写的支持静态服务、支持文件上传、搜索、访问控制、webdav等的文件服务器,效果如下:
dufs安装
如果有rust环境,或者装有rust包管理器,那么可以直接用cargo下载
cargo install dufs
mac用户可以通过brew来下载
brew install dufs
也可以直接从releases中下载二进制包,支持win、linux、mac,下载完后,配置到本地的path中
也可以通过docker方式部署
docker run -v `pwd`:/data -p 5000:5000 --rm sigoden/dufs /data -A
dufs 使用简介
以只读模式提供当前工作目录
dufs
允许所有操作,如上传/删除/搜索/创建/编辑...
dufs -A
只允许上传操作
dufs --allow-upload
服务特定目录
dufs Downloads
提供单个文件
dufs linux-distro.iso
提供像 React/Vue 这样的单页应用程序
dufs --render-spa
使用index.html 提供静态网站
dufs --render-index
需要用户名/密码
dufs -a admin:123@/:rw
监听特定主机:ip
dufs -b 127.0.0.1 -p 80
在unix套接字上监听
dufs -b /tmp/dufs.socket
Use https 使用https
dufs --tls-cert my.crt --tls-key my.key
API调用
上传一个文件
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 # download the file
curl http://127.0.0.1:5000/path-to-file?hash# retrieve the sha256 hash of the file
将文件夹下载为 zip 文件
curl -o path-to-folder.zip http://127.0.0.1:5000/path-to-folder?zip
删除文件/文件夹
curl -X DELETE http://127.0.0.1:5000/path-to-file-or-folder
创建目录
curl -X MKCOL http://127.0.0.1:5000/path-to-folder
将文件/文件夹移动到新路径
curl -X MOVE http://127.0.0.1:5000/path -H "Destination: http://127.0.0.1:5000/new-path"
dufs特点
提供静态文件
将文件夹下载为 zip 文件
上传文件和文件夹(拖放)
创建/编辑/搜索文件
可断点续传/部分上传/下载
Access control 访问控制
Support https 支持https
Support webdav 支持网络数据传输
易于使用curl
最近整理了2023年最火的软件神器,回复关键字 2023合集 获取
推荐阅读 ⬇️ 都是高赞
PS:求求啦! 点 「 在看 」 支持下吧!