OpenWRT安装Caddy实现WebDAV协议的NAS盘

BKT 发表于 - 2 分钟阅读 - 966 个字

Caddy带有WebDAV插件,可以安装在OpenWRT上,用于提供WebDAV协议的NAS服务。

Windows资源管理器,WinSCP,MAC的Finder,Android上的CX文件管理器都可以作为WebDAV的客户端。

WebDAV使用过程中可以直接打开文件,修改后保存,非常方便,感觉Samb没区别。但其使用https协议,安全性有保证,也易于通过反代等实现各种穿透。 caddy server

1. 下载caddy

访问caddy官网下载最新版本的caddy,根据CPU去选择,我的迅雷赚钱宝一代是Amlogic的S805,支持的是Armv7,所以选择Linux Armv7。

额外功能模块选择

插件模块 描述
aksdb/caddy-cgi/v2 如果要取代uhttpd来与行luci,选上aksdb/caddy-cgi/v2。
mholt/caddy-webdav 部署webDAV服务,作为NAS使用
caddy-dns/cloudflare 用于通过API调用cloudflare
sjtug/caddy2-filter 记录访客IP到文件

下载后放到/usr/bin目录下,并重命名为caddy,并给予执行权限:

chmod +x /usr/bin/caddy

2. 配置caddy

增加下面的配置,并放到/etc/caddy/Caddyfile文件中:

{ # 全局配置
    order webdav before file_server # 启动 webdav 模块 # 全局配置
    admin off # 关闭 API 端口 # 全局配置
    auto_https off #JOP
} # 全局配置

nasx.500599.xyz:63038 {
     basicauth {
        admin    $2a$14$IVbIIBOJUoHC.WJ8oiDkbegJK8SELTi2Id2aM8U4O1s6dVzMPv8SO
     }
     tls /mnt/usb/WebApp/500599.xyz/cert/cf_origin_publickey.pem /mnt/usb/WebApp/500599.xyz/cert/cf_origin_privatekey.key
     webdav {
       root /mnt/usb/WebApp/500599.xyz/webdav
     }
}

Hash-password:

/caddy# caddy hash-password -p yourpassword

3. 让Caddy开机运行起来

3.1 增加自启动脚本,并保存到/etc/init.d/caddy中:

#!/bin/sh /etc/rc.common


START=99

SERVICE_USE_PID=1
SERVICE_WRITE_PID=1
SERVICE_DAEMONIZE=1

start() {
    service_start  /usr/bin/caddy run --config /etc/caddy/Caddyfile
}

stop() {
    service_stop /usr/bin/caddy
}

3.2 给予执行权限:

chmod +x /etc/init.d/caddy

3.3 运行

执行下面脚本运行caddy服务,并加入到自启动中:

/etc/init.d/caddy enable   # 设置自启动
/etc/init.d/caddy start    # 立即启动

成功启动后,就可以愉快地访问WebDAV协议的NAS了

4. 性能/速度对比

自己直接下载安装的Caddy可以跑满带宽。因为我的这个设备最高就是100Mb,不能更快了。

OpenWRT下直接安装Caddy插件,上传下载速度都仅有40Mb.开启gzip也仅仅稍微有所提高。

5. 相关连接:

1. OpenWRT安装配置Caddy提供WebDAV协议的NAS服务

2. Windows,MAC,Android端连接WebDAV NAS

3. Windiws IIS开启WebDAV协议的NAS,安装配置方法及疑难问题解决

4. 矿渣迅雷赚钱宝1代烧写Openwrt

5. Openwrt挂载大容量NTFS磁盘,解决默认挂载不能写入问题,实现samba共享

6. Openwrt安装ddns-go

comments powered by Disqus