前言
Dufs是什么?
答:是一款轻量级文件管理服务器,类似于FTP服务器但又比FTP更好用易于管理。
Dufs有什么特性?
答:
-
静态文件服务:Dufs能够高效稳定地处理客户端请求,将文件快速传输到客户端。它支持缓存技术和HTTPS协议,确保数据传输的安全性和效率2。
-
文件夹打包下载:用户可以将整个文件夹的内容打包成一个压缩文件进行传输或备份,提高了文件管理的便捷性2。
-
上传功能:支持文件和文件夹的拖放上传,方便用户快速上传大量数据13。
-
搜索功能:用户可以创建、编辑、搜索文件,支持可恢复/分段上传和下载13。
-
访问控制:支持访问控制,确保数据的安全性和隐私性13。
-
WebDAV兼容:支持WebDAV协议,方便与其他系统进行文件共享和协作。
开源地址:https://github.com/bandtom/dufs
我的需求是什么呢?
上传一些资料用于用户下载分享,打开浏览器输入地址直接使用。
我的环境:
一台centos7,使用docker容器或者centos直接安装dufs
centos直接安装
1.下载:
wget https://github.com/sigoden/dufs/releases/download/v0.42.0/dufs-v0.42.0-x86_64-unknown-linux-musl.tar.gz
2.解压
#下载文件为“ dufs-v0.42.0-x86_64-unknown-linux-musl.tar.gz”
tar -zxvf dufs-v0.42.0-x86_64-unknown-linux-musl.tar.gz
#解压后文件名为“ dufs” 是一个可执行文件
3.启动dufs
./dufs -b 10.11.2.19 -p 5000
## 设置自己ip,端口 5000
##启动还是无法访问 设置防火墙
firewall-cmd --add-port=5000/tcp --permanent
firewall-cmd --reload
#如果需要设置密码 读写权限
./dufs -b 10.11.2.19 -p 5000 -a admin:123@/:rw
docker安装dufs
1.下载dufs镜像:
docker run -v `pwd`:/data -p 5000:5000 --rm sigoden/dufs /data -A
可以看到直接拉取镜像失败。
2.我们直接去开源平台下载文件:
##github官网也不是一直稳定访问,如果失败多克隆几遍
git clone https://github.com/bandtom/dufs.git
3.压缩下载好的dufs文件方便导入docker
tar -czvf dufs.gz dufs
4.导入docker中
docker import dufs.gz dufs:v43
#查看镜像
docker images
5.运行起来
#先创建一个dufs服务器的文件目录 ,这里我在根目录创建一个dufs文件
mkdir /dufs
##运行吧
docker run -d --name dufs -p 5000:5000 -v /dufs:/data dufs:v43 /data -A
##启动还是无法访问 设置防火墙
firewall-cmd --add-port=5000/tcp --permanent
firewall-cmd --reload
更多命令:
以只读模式提供当前工作目录
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
监听特定 host:ip
dufs -b 127.0.0.1 -p 80
在 unix 套接字上侦听
dufs -b /tmp/dufs.socket
使用 https
dufs --tls-cert my.crt --tls-key my.key