[db:标题]
摘要:前言 在个人数据管理中,WebDAV 协议凭借其原生跨平台支持、低开销以及能够被大多数文件管理器(如 RaiDrive、nPlayer、小雅等)直接挂载的特性,成为了私有云方案的首选。 本文将介绍如何使用开源的高性能 Go 语言实现版本 h
前言
在个人数据管理中,WebDAV 协议凭借其原生跨平台支持、低开销以及能够被大多数文件管理器(如 RaiDrive、nPlayer、小雅等)直接挂载的特性,成为了私有云方案的首选。
本文将介绍如何使用开源的高性能 Go 语言实现版本 hacdias/webdav,并配合一个精心编写的 PowerShell 管理脚本,实现后台静默运行、自动启动以及便捷的密码加密管理。
一、 方案亮点
极简部署:无需安装 IIS 或复杂的 Web 服务器,单个 .exe 即可运行。
安全加密:支持 Bcrypt 强哈希加密算法,确保配置文件的安全性。
静默运行:通过脚本实现无窗口后台运行,不占用任务栏。
一键自动化:集成自启管理、实时日志监控与配置快速编辑。
二、 核心环境搭建
1. 准备工作
前往 GitHub Releases 下载适用于 Windows 的版本。
创建一个文件夹(如 C:\WebDAV),将下载的 webdav.exe 放入其中。
2. 配置文件 (config.json)
在该目录下创建 config.json,建议使用以下配置:
{
"address": "0.0.0.0",
"port": 6065,
"directory": "G:\\文件备份\\WebDAV",
"permissions": "CRUD",
"users": [
{
"username": "admin",
"password": "{bcrypt}$2a$10$..."
}
],
"log": {
"format": "console",
"colors": true,
"outputs": [
"stdout",
"webdav.log"
]
}
}
里面的密码可以使用下面的方式生成:
webdav.exe bcrypt 123456
生成的格式类似$2a$10$Y0iRy1prmCuSBvmhPsDKCO1r3fx5cCwPqVw7kmv5VnNKH8QqhDCJq,将上面配置文件的密码替换成更改生成的,记得前面加上{bcrypt}。
如果你有更高需要的功能调整,请参考官方的配置说明。
三、 使用 PowerShell 脚本提升管理效率
由于 webdav.exe 默认在前台运行,关闭窗口服务即停止。为了实现类似 Windows 服务的管理体验,我们使用以下管理脚本。
1. 脚本说明
这是一个基于 PowerShell 开发的 WebDAV 服务管理工具,用于便捷地控制后台 WebDAV 服务的生命周期。主要功能包括:
一键启动/停止后台 WebDAV 服务(静默运行)
快捷配置 JSON 文件与 Bcrypt 密码生成
实时查看服务端访问日志
注册/取消 Windows 开机自动启动
查看完整代码
# ==============================================================================
# WebDAV 轻量服务器管理脚本
# ------------------------------------------------------------------------------
# 说明:
# 这是一个基于 PowerShell 开发的 WebDAV 服务管理工具,用于便捷地控制
# 后台 WebDAV 服务的生命周期。
