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

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.keywebdav {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.commonSTART=99SERVICE_USE_PID=1
SERVICE_WRITE_PID=1
SERVICE_DAEMONIZE=1start() {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

7. 原文链接:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/888224.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java17的安装

Java17的安装因为要用SpringBoot3了,Java版本要更新到17以后 安装连接:Java Archive Downloads - Java SE 17.0.12 and earlier 下载 选择对应的版本下载安装可以更改安装位置成功以后关闭就行配置环境变量 如果电脑已经安装了JDK8,但又不想卸载的同时想安装JDK17,可以如下…

linux中nano和vim用法

Linux下nano,vim使用Linux 编辑器使用指南:nano 和 vim 在 Linux 系统中,编辑文本文件是非常常见的任务。对于大多数 Linux 用户来说,nano 和 vim 是两个最常用的命令行文本编辑器。虽然它们都可以用来编辑文件,但它们的功能和使用方式有很大不同。本篇文章将介绍这两个编辑…

final关键字、Object类

1.规则 被final修饰的变量,名称都要大写,多单词的名称则需_来分隔1.修饰方法method方法已经不能被重写了,因为修饰该方法的是final2.修饰类 当一个类中所有的成员方法都不想被重写时,可以直接在类上加上final,无需再一个一个写在方法上2.object类: 是所有类的祖宗,每一个…

Java要记-持续补充中

1. ArrayList操作自定义对象进行removeAll()时,移除失效原因 由于底层最用调用的是Object的equals()方法进行比较的,比较的是地址,两个对象地址当然是不同的了,移除自然会失败。解决方案:重写equals方法。【注意重写equals方法记得也要重写hashCode方法】同时:retainAll(…

this和super--java进阶day01

1.this和super的代表super是父类的标识符,如堆内存中的标志 2.this和super的访问重点说访问构造方法,super()访问父类构造方法我们已经清楚,但是this()访问本类构造方法,我们不清楚有什么用意义 如以下情境 假设在公司制作一个系统,1.0有三位角色随着版本更新,1.1要新…

软件开发与创新课程设计第一次作业---小游戏《勇者冒险》改写

《勇者冒险》小游戏代码优化 一、项目名称与来源 题目为《勇者冒险》(原项目没有名字,是作者取的),代码来源是CSDN,链接如下: https://blog.csdn.net/zjx120307/article/details/126221342?sharetype=blog&shareId=126221342&sharerefer=APP&sharefrom=qq 本…

多周期处理器debug记录

这篇随笔记录的是从普通的多周期处理器到加入握手信号和axi-lite协议sram的处理器。 在之前的多周期处理器里,由于结构比较简单,所以我给ifu和exu的握手信号加入的是时序逻辑,idu由于只做解码,所以握手信号放在了组合逻辑里,差不多就和透传差不多。但是加入sram握手信号以…

继承内存图--java进阶 day01

主方法进栈,有new进堆堆内存中先存自己类中有的变量又因为继承了父类,所以父类中的变量也要存入 即使被私有化,依旧可以继承,只是没有权限使用!创建对象时,会调用构造方法,所以走构造方法,实参传形参.....继续走到super,访问父类的构造方法,父类构造方法进栈,形参继…

离散化学习笔记

离散化学习笔记 OP:又是一如既往的周更。。。水死了 定义离散化:将数字映射为是第几小的数,其保证数据在Hash之后仍然保持原来的全/偏序关系,能够解决:通过元素相对大小即可解决的问题。 其实本质上就是哈希的一种特殊规则而已。(离散化简化了不止亿点)目标将一堆乱序且…

java知识面试day2

1.说出java和c++的区别java是一个纯粹的面向对象语言,所有的对象都继承于java. lang.Object,C++兼容C,不但支持面向对象也支持面向过程 java有着一次编译四处运行的跨平台特性。 java不具有指针,但具有垃圾回收。 java不支持多重继承,只能通过实现多个接口去达到相同目的2.…

继承中构造方法访问特点--java 进阶day01

1.子类不可以继承父类的构造方法构造方法的名称必须与类名一致,上图中类名是Zi,而构造方法名是Fu,肯定不行 2.子类在初始化之前,需要对父类初始化 子类在初始化的过程中,很有可能会调用到父类的数据,如果父类没有提前初始化,子类就无法调用这些数据3.通过在子类中访问父…

Mysql莫名其妙爆出拒绝访问问题的原因及解决方案

本文记录使用Mysql作为数据库时发生拒绝访问问题的解决方案Mysql出现拒绝连接问题 ⛄问题原因 : Mysql密码错误,本机上并不是只有一个Mysql服务,我们在开机时启动了并非以前使用的那个Mysql服务,所以造成了密码的错误🌟解决方案 :手动关闭当前正在启用的Mysql服务,尝试找…