5分钟搭好轻量级WebDAV服务器:webdav 实用使用指南

📅 2026/8/21 21:15:16
5分钟搭好轻量级WebDAV服务器:webdav 实用使用指南
5分钟搭好轻量级WebDAV服务器:webdav 实用使用指南【免费下载链接】webdavA simple and standalone WebDAV server.项目地址: https://gitcode.com/gh_mirrors/we/webdav受够了在电脑和手机之间来回拷照片和文档?webdav 值得看一眼——一个用 Go 写的轻量级WebDAV服务器,单个二进制就能把服务器上的任意目录变成远程文件夹,文件管理器直接读写。适合想要一台手机上随时能打开的文件服务器的人。先说清它是什么:一个独立的 WebDAV 服务器(WebDAV 是让手机、电脑的文件管理器直接读写远程文件夹的标准协议)。没有数据库、没有前端、没有安装脚本,一个可执行文件加一份配置。有台闲置服务器或家里常开的机器,5 分钟就能跑起来。最快跑起来:Docker 或一条命令首选 Docker。先准备一份config.yml(模板见下文),然后:docker run -d \ -p 6065:6065 \ -v ./data:/data \ -v ./config.yml:/config.yml:ro \ ghcr.io/hacdias/webdav:latest -c /config.yml-v ./data:/data把宿主机目录挂成共享文件夹,配置文件只读挂载,容器改不了它。镜像在 Docker Hub 上叫hacdias/webdav。不用 Docker 的备选:有 Go 环境:go install github.com/hacdias/webdav/v5latestmacOS:brew install webdav或者git clone https://gitcode.com/gh_mirrors/we/webdav后执行go build拿到二进制各平台的预编译二进制可以直接从发布页下载,解压即跑webdav 最适合的三个场景设备同步与个人备份把服务器当远程盘。客户端只要支持 WebDAV——iOS 的文件、安卓的 CX File Explorer、Mac 的访达、Windows 的映射网络驱动器——指向http://你的服务器IP:6065,输入账号,就能像本地文件夹一样浏览、上传、删除。安卓数据也能备份。配合 SeedVault 这类开源 App,短信和应用数据可以备到服务器。示例配置里就给了一个现成的备份账号:独立目录、CRUD 权限。团队文件共享一人一个账号,各管各的目录。配置里每个用户可以有自己的directory,成员的文件互不干扰,误删也删不到别人的东西。权限按字母写。C(创建)、R(读取)、U(更新)、D(删除)可组合;每个用户还能按路径或正则单独定规则,这个文件夹只读、.js 文件可改各写一行就行。临时传文件与托管不配用户就不登录。配置里没有users列表时,服务器完全不开启认证。内网机器上丢一份配置,就能当临时文件交换点(仅限内网,别暴露公网)。大文件分段传。实现了 SabreDAV 的 PATCH 局部更新扩展(非官方标准、但不少客户端在用的扩展),大文件传输断了可以续传,也支持用Content-Range做分段写入。配置走查:一份带注释的 config.yml配置文件支持 YAML、JSON、TOML 三种格式。下面是最常见的 YAML 版,逐行注释:address: 0.0.0.0 # 监听地址,0.0.0.0 所有网卡 port: 6065 # 服务端口,默认 6065 directory: /data # 暴露给用户的根目录,默认当前目录 permissions: R # 全局默认权限,C/R/U/D 可组合,R 只读 users: - username: john password: {bcrypt}$2y$10$... # bcrypt 哈希,见加固一节 directory: /data/john # 这个用户只看得见自己的目录 permissions: CRUD # 该用户覆盖全局默认权限首次测试可以直接写明文密码,上线前换成 bcrypt 哈希即可(下一节)。几个常用的补充调整:配置值可以被命令行参数或环境变量覆盖(前缀WD_,比如WD_PORT8080),优先级:命令行 环境变量 配置文件 内置默认。要一次暴露多个目录,用directories代替directory(两者互斥),把多个真实路径挂成虚拟根,比如同时挂一个媒体库和一个备份库。服务器在反向代理后面时,打开behindProxy,日志才会从X-Forwarded-For头里记真实访客 IP。三个加固动作:密码加密、防爆破、反代别在配置里写明文密码。运行webdav bcrypt 你的密码得到$2y$10$...哈希,配置里写成password: {bcrypt}$2y$10$...。每次登录服务器都是把输入再哈希一遍做比对,明文不落盘。fail2ban 挡暴力破解。fail2ban 是反复输错密码就自动封 IP 的开源工具。把日志格式切成 JSON(log.format: json),它就能匹配日志里的 invalid password、invalid username 条目,连续失败自动封禁来源 IP。前面挂 Nginx 或 Caddy,TLS 交给它们。注意两点:转发X-Forwarded-For头(配合behindProxy: true)才能在日志里看到真实 IP;做文件复制、移动时客户端发来的Destination头是完整 URL,代理要把它改写回纯路径,否则容易报 502。README 里有 Nginx 和 Caddy 的完整示例配置,照抄改域名即可。适不适合你:选型对比如果你是个人或小团队,要一个装完就能用的文件共享服务——几个账号、一个目录、能读能写能删——webdav 正好:一份配置、无数据库、无前端。如果你要网页管理界面、分享链接、文件版本历史、图片缩略图这类 NAS 式功能,去看 Nextcloud、OwnCloud 或群晖,这个项目只做到协议和权限这一层。如果你要对象存储(S3 接口)、桶级权限、审计和多因子认证,那是 MinIO 或企业云盘的地盘,不是同一个赛道。一句话:它把 WebDAV 服务器该干的事干得很小、很稳,多一分功能都没有。【免费下载链接】webdavA simple and standalone WebDAV server.项目地址: https://gitcode.com/gh_mirrors/we/webdav创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考