贰叁肆 - 文件共享
type: channel
link: https://www.ersansi.top/index.php/tag/%E6%96%87%E4%BB%B6%E5%85%B1%E4%BA%AB/
items: Dufs开源的静态文件分享工具

Dufs开源的静态文件分享工具
type: item
date: 2025-04-07T16:22:00+08:00
description: 简介 这是一个开源的静态文件分享工具，可以把需要分享的文件放到指定的文件夹里面，然后分享出来，类似ftp的效果，是在github上开源的。 项目地址 地址：https://github.com/sigoden/dufs 环境 项目介绍里面说明了支持的环境有windows，linux和mac，我这里使用的是linux（Almlinux），远程连接到服务器的步骤省略 使用方法 下载 打开项目地址 点击左上角标签 点击最新版 选择对应自己服务器的系统和硬件的版本，右键，复制链接地址 连接到服务器 使用wget命令下载 wget https://github.com/sigoden/dufs/releases/download/v0.43.0/dufs-v0.43.0-x86_64-unknown-linux-musl.tar.gz 下载完成后使用ls命令就可以看到了 解压 使用tar -zxvf命令解压下载下来的文件 tar -zxvf dufs-v0.43.0-x86_64-unknown-linux-musl.tar.gz 使用ls命令查看解压出来的文件，可以看到解压出来只有一个dufs文件 运行 使用./运行 ./dufs 这是时候其实已经运行起来的，但是是以默认参数进行运行，可以访问ip:端口查看 配置运行参数 首先停止运行，按ctrl+c结束运行 使用mkdir命令创建一个文件夹，名字自定义 mkdir Dufs 使用mv命令把运行文件移动到刚刚创建的文件夹 mv dufs Dufs/ 使用cd命令进入Dufs文件夹 cd Dufs 使用vi新建配置文件，配置文件后缀名是.yaml vi dufs-config.yaml 按i进入编辑模式，看到左下角有“插入”两个字就是进入编辑模式了 把下面的配置文件改一下复制粘贴进去 serve-path: '.' bind: 0.0.0.0 port: 5000 path-prefix: /dufs hidden: - tmp - '*.log' - '*.lock' auth: - admin:admin@/:rw - user:pass@/src:rw,/share - '@/' # According to the YAML spec, quoting is required. allow-all: false allow-upload: true allow-delete: true allow-search: true allow-symlink: true allow-archive: true enable-cors: true render-index: true render-try-index: true render-spa: true assets: ./assets/ log-format: '$remote_addr "$request" $status $http_user_agent' log-file: ./dufs.log compress: low tls-cert: tests/data/cert.pem tls-key: tests/data/key_pkcs1.pem 配置文件解释： 字段 选项 备注 serve-path .或者文件夹绝对路径 自定义共享文件夹路径，.为当前文件夹，如需要特定文件夹则填写绝对路径 bind 0.0.0.0或者指定ip地址 监听地址，0.0.0.0代表所有地址可以访问，如果需要指定的电脑可以访问则填写指定电脑的ip地址 port 默认5000，可以自定义 监听端口，默认5000，可以自定义，例如80等没有被占用的端口 path-prefix 默认/dufs，可以自定义或者删除 这是设置访问路径前缀，默认是/dufs，那么访问的时候就需要ip+端口/dufs才能访问，如果想要直接ip+端口访问则删除这一行或者使用#号注释掉即可 hidden 指定的文件夹，文件名或者文件后缀 隐藏指定的文件夹或者是文件名或者是指定的文件后缀，例如上面就隐藏了tmp文件夹和后缀名为log的文件以及后缀名为lock的文件 auth 设置用户名和密码 用:分割用户名和密码，@后面是指定可以访问的文件夹，文件夹后的:后面是权限，r是只读，w是写，rw就是可读写，'@/'是匿名访问 allow-all false或true 所有权限，false为关闭，true为打开，当allow-all为false时关闭所有权限，除了在auth设置的用户，也就是说当allow-all为false时，只有指定用户可以访问 allow-upload false或true 是否允许上传文件，false为关闭，true为打开 allow-delete false或…