ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

想给同事临时传个3GB大文件?Dufs 文件服务器一条命令搞定

想给同事临时传个3GB大文件?Dufs 文件服务器一条命令搞定 想给同事临时传个3GB大文件Dufs 文件服务器一条命令搞定【免费下载链接】dufsA file server that supports static serving, uploading, searching, accessing control, webdav...项目地址: https://gitcode.com/gh_mirrors/du/dufs给同事传个 3GB 的录屏网盘限速、IM 嫌大、邮件更别想了——你其实只差一台局域网文件服务器。这就是 Dufs 文件服务器的用武之地起个静态服务、支持上传下载、能搜索、带权限控制一条命令就能跑起来。一句话定位Dufs 是用 Rust 写的文件服务器整个项目就编译出一个二进制文件没有数据库、不依赖其他运行时拷到任何一台机器上就能跑所以它天然适合临时共享一个目录这类轻量场景。 三步跑起来从安装到打开页面第一步安装。有 Rust 环境的机器执行cargo install dufsmacOS 可以用brew install dufs没有 Rust 环境直接拉 Docker 镜像sigoden/dufs也支持从 Releases 下载各平台二进制。第二步启动。进入想共享的目录执行dufs ./share它默认监听 5000 端口启动时是只读的想让同事能上传文件加个-A放行所有操作。第三步验证。浏览器打开http://127.0.0.1:5000能看到目录列表界面就说明跑通了。命令行这边也可以用健康检查接口确认状态curl http://127.0.0.1:5000/__dufs__/health不想占用 5000 端口时用-p 8080换端口-b 127.0.0.1可以限制只监听本机——后者对避免目录直接暴露给内网很重要。 日常操作curl 就是最顺手的管理员Web 界面能拖拽上传、点按钮删除但脚本里还是 curl 最直接。以下命令都对应一个全局权限参数没开对应权限就会被拒绝这也是 Dufs 的默认姿态上传文件需--allow-upload或-Acurl -T ./local.mp4 http://127.0.0.1:5000/videos/local.mp4下载文件GET 就行大文件可加-C -断点续传下载整个文件夹则加?zip参数打包curl -C - -o local.mp4 http://127.0.0.1:5000/videos/local.mp4删除文件需--allow-deletecurl -X DELETE http://127.0.0.1:5000/old-files/junk.bin搜索文件需--allow-search类似find -name只搜文件名curl http://127.0.0.1:5000?qreport创建目录curl -X MKCOL http://127.0.0.1:5000/inbox 从匿名到哈希密码权限控制怎么加Dufs 的权限分两层命令行上的全局开关--allow-*决定系统允不允许这类操作-a认证规则决定谁能对哪个路径做什么账号权限永远被全局开关框住——没开--allow-upload就算给了:rw也传不了文件。第一档匿名只读默认。不加任何-a时所有访问者都只能看和下载上传删除一律拒绝。局域网内共享几个文档、镜像包这一档就够了。第二档加账号密码。需要有人能写时dufs -a admin:123/:rw:分隔用户名密码分隔账号和路径/:rw表示对根目录读写:ro是只读也可以省略。从此匿名者被挡在门外。第三档路径级权限。不同人对不同目录给不同权限规则可以写多条dufs -a admin:admin/:rw -a guest:guest/docsadmin 全局读写guest 只能读/docs下的内容。第四档哈希密码。密码以明文写在命令行里ps一眼就能看见长期服务建议换成 SHA-512 哈希openssl passwd -6 yourpass把输出的$6$开头字符串直接替换掉密码部分即可。两个注意点哈希串里带$shell 里务必用单引号包住防止变量展开另外哈希密码下 digest 认证不可用basic 认证不受影响。 生产部署HTTPS、环境变量与 YAML 配置HTTPS 什么时候上当共享要跨过局域网边界或者密码不想以 base64 形式在明文 HTTP 里飞时配上证书即可dufs --tls-cert /etc/dufs/cert.pem --tls-key /etc/dufs/key.pem环境变量所有命令行选项都有DUFS_前缀的环境变量版本比如DUFS_PORT8080、DUFS_ALLOW_UPLOADtrue。它最适用容器和 systemd 场景——参数不写死在启动命令里改环境就生效。YAML 配置文件选项多到命令行装不下时比如多条 auth 规则、多个隐藏规则用-c config.yaml加载bind: 0.0.0.0 port: 5000 auth: - admin:admin/:rw - / allow-upload: true注意匿名规则/里在 YAML 里要加引号。本地临时共享用命令行就够了规则一复杂再上配置文件。 进阶玩法四个容易忽略的能力WebDAV服务内置 PROPFIND、MKCOL 等 WebDAV 方法把http://127.0.0.1:5000直接填进 WebDAV 客户端就能挂载Windows 资源管理器和 macOS Finder 都支持curl -X PROPFIND -H Depth: 1 http://127.0.0.1:5000/SPA 渲染--render-spa让所有未命中路径都回退到 index.html适合临时部署 React/Vue 构建产物普通静态站用--render-index。自定义 UI--assets指向自己的目录即可替换内置界面目录里必须含 index.html界面本身就是纯 HTML/JS/CSS抄下来改起来不难。日志--log-format自定义访问日志格式支持$remote_addr、$status等变量--log-file把日志写进文件而不是 stderr方便接日志采集。参数速查参数作用[serve-path]共享目录缺省为当前目录-p, --port端口默认 5000-A, --allow-all放行上传/删除/搜索等所有写操作--allow-upload/--allow-delete/--allow-search单项放行比-A收敛-a, --auth rules认证规则如user:pass/:rw--hidden glob从目录列表中隐藏路径如tmp,*.logDufs 的价值就是单文件、零依赖、够快临时共享目录、内网静态资源、给脚本挂一个可读写文件接口它都能接住。更多细节可以看仓库里的 README.md 和 CHANGELOG 里的版本记录照着上面的节奏你应该已经能把 Dufs 用起来。【免费下载链接】dufsA file server that supports static serving, uploading, searching, accessing control, webdav...项目地址: https://gitcode.com/gh_mirrors/du/dufs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表