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