1、前言
很多同学在日常工作中都会遇到和同事共享文件的场景,而且目前很多的办公软件也都支持文件的发送和共享。但是在某些开发测试中,我们需要私有搭建共享文件系统的时候这种方式就不适用了。有的同学会使用Python自带的httpserver进行文件共享系统搭建,这样确实非常方便和快捷,但是需要依赖Python程序,而且功能比较简单,不支持上传搜索等功能。
今天我们就来介绍一款非常小巧且功能强大的文件服务器Dufs,你可以用它搭建文件服务器,同样也能支持静态展点托管。而且其具备上传下载、搜索、权限控制、WebDav等功能。
2、快速开始
2.1、下载安装Dufs
首先我们访问Dufs的Github主页,然后前往Dufs的Release页面,根据自己的操作系统下载最新版本的Dufs,我这里使用的是windows、所以就下载windows版本的安装包,下载完成后将软件包解压,将解压出来的dufs.exe的绝对路径添加到环境变量的path中,就可以在任何地方使用Dufs了。
2.2、启动文件服务
我们可以使用如下命令启动文件服务:
dufs.exe E:\demo\
Listening on:
http://1.2.3.4:5000/
http://127.0.0.1:5000/
http://192.168.1.1:5000/
http://192.168.2.20:5000/
http://192.168.3.1:5000/
http://[::1]:5000/
如上,即将E:\demo\
路径设置为了文件服务器的根路径。
我们在浏览器打开http://127.0.0.1:5000/
查看效果:
可以看到,默认的Dufs左上角支持整个项目
的下载,右侧Actions支持单个文件夹
的下载。
2.3、操作权限管理
当默认的权限不能满足我们的要求时,我们可以使用Dufs的参数进行自定义。
权限列表:
- -A(--allow-all):允许所有操作
- --allow-upload:允许上传
- --allow-delete:允许删除
- --allow-search:允许搜索
- --allow-symlink:允许链接
- --enable-cors:允许跨域
- --render-index:允许渲染index.html,如果没有index.html返回404
- --render-try-index:允许渲染index.html,如果没有index.html则展示文件夹内容
- --render-spa:渲染单页应用
- --tls-cert:https证书cert路径
- --tls-key:https证书key路径
dufs.exe -A E:\demo\
如上,打开所有权限,打开http://127.0.0.1:5000/
查看效果:
如上,我们看到左上已经多了上传的选项,而且顶部也出现了搜索框,右侧Actions也多了删除按钮。
dufs.exe --allow-search E:\demo\
如上,我们只允许进行搜索。
下载和查看功能是默认存在的权限。
如上,我们使用pack关键字进行搜索,dufs也能够很快的搜索到我们想要的结果,效果非常好。搜索结果多达几百条,图太长,我只截取了一小部分。
2.4、访问权限管理
当我们不希望我们的文件服务器裸露时,我们可以为其增加用户认证。
dufs.exe e:/demo -a /@admin:123
如上,当我们打开身份认证后,我们需要输入用户名和密码才能访问。
当我们在静态站点的根目录使用命令
dufs --render-index
启动dufs,那么dufs将能够起到静态资源的托管功能,使用体验和Caddy、Nginx基本一致。
评论区