目 录CONTENT

文章目录

5分钟搭建一个文件共享服务器

phyger
2022-06-28 / 2 评论 / 4 点赞 / 6,289 阅读 / 1,484 字 / 正在检测是否收录...

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_1

可以看到,默认的Dufs左上角支持整个项目的下载,右侧Actions支持单个文件夹的下载。

2.3、操作权限管理

当默认的权限不能满足我们的要求时,我们可以使用Dufs的参数进行自定义。

权限列表:

  1. -A(--allow-all):允许所有操作
  2. --allow-upload:允许上传
  3. --allow-delete:允许删除
  4. --allow-search:允许搜索
  5. --allow-symlink:允许链接
  6. --enable-cors:允许跨域
  7. --render-index:允许渲染index.html,如果没有index.html返回404
  8. --render-try-index:允许渲染index.html,如果没有index.html则展示文件夹内容
  9. --render-spa:渲染单页应用
  10. --tls-cert:https证书cert路径
  11. --tls-key:https证书key路径
dufs.exe -A  E:\demo\

如上,打开所有权限,打开http://127.0.0.1:5000/查看效果:

dufs_2

如上,我们看到左上已经多了上传的选项,而且顶部也出现了搜索框,右侧Actions也多了删除按钮。

dufs.exe --allow-search  E:\demo\

如上,我们只允许进行搜索。

下载和查看功能是默认存在的权限。

dufs__q=pack

如上,我们使用pack关键字进行搜索,dufs也能够很快的搜索到我们想要的结果,效果非常好。搜索结果多达几百条,图太长,我只截取了一小部分。

2.4、访问权限管理

当我们不希望我们的文件服务器裸露时,我们可以为其增加用户认证。

dufs.exe  e:/demo -a /@admin:123

dufs_auth

如上,当我们打开身份认证后,我们需要输入用户名和密码才能访问。

当我们在静态站点的根目录使用命令dufs --render-index启动dufs,那么dufs将能够起到静态资源的托管功能,使用体验和Caddy、Nginx基本一致。

4

评论区