newscat 发表于 2019-4-12 09:56

【2019/04/12】超简单方法为H大PADAVAN增加WEBDAV功能

非常感谢 H 大增强了 PADAVAN 功能,为我们提供了这么好的路由固件!固件中,在“搭建WEB环境”下有一个小工具 filemanger 给人映象深刻,



它是一款小巧好用的文件管理工具,上传下载不在话下,甚至可以听音乐看电影。




它是基于 caddy(什么是 caddy?请百度) 的,现在的想法是能不能用最简单的办法,在现有 browser 的基础上再增加 webdav 功能。

插一下,什么是 WEBDAV,它的好外是什么?

WEBDAV 是一种文件服务,类似的服务有 SMB、NFS、FTP 等,特点是基于 HTTP/HTTPS 协议。优点是:

15.2WebDAV有哪些优点
高效性:相对于即时聊天,邮件等工具或协议实现的文件共享,它占用的网络资源更少;
方便性:相对于FTP等传输协议,它省去了下载和上传步骤,真正实现了文档的在线编辑,文件的复制粘贴和本地操作一样方便,并且不会碰到共享冲突方面的问题;
安全性:WebDAV上的文件很少受到病毒的攻击,因为其共享机制比简单文件共享(例如Windows文件夹共享)要复杂许多,同时还可以对其扩展,实现时间有效性共享和空间有效性共享方面的安全控制;
灵活性:你能够将各种权限赋予不同用户,例如可以指定某个文件只能被特定用户或用户组在指定的时间范围内进行读取和操作,而另一个文件只能被某个用户修改;
扩展和支持特性:你不必刻意为它准备专门的客户端软件,因为Microsoft、Adobe等公司的多套程序都支持WebDAV协议,因此你可以在权限范围内在线编辑Microsoft、Adobe的相关文件,如同操作本地文件一样,Windows2000及其更高级版本的操作系统也附带有它的客户端,甚至只要拥有IE或Firefox网页浏览器就足够了。


上面的优点是我从别处粘过来的。个人感觉是:可以用第三方工具实现本地虚拟盘,其中的内容可以预览,可以在线编辑,有点象 SMB 文件共享服务的感觉:


browser 是 caddy 的一个插件,caddy 还有一个 webdav 的插件,因此我只要用含有 browser 及 caddy 的双插件将当前的 caddy 替换掉不就行了吗?想法就是这个。

所以,去到 caddy 的官网(https://caddyserver.com/download),做一番选择:



下载下来,用 winrar 解压缩,只取其中一个名为 caddy 约 40 M大小的文件备件,这个文件已经打包好了 filebrowser 及 webdav 功能。

进到路由器 WEB 界面里,将 filemanger 及 caddy 插件方式启动 两个开关给上,再应用本页面设置。点开 WEB 界面右上角 LOG ,观察 filebrowser 运行情况,不报错,显示 filebrowser 守望进程已经启动,再浏览器打开 http://路由器ip:888 能出 filebrowser 登录界面就对了。这一步是为了证实起码原来的 filebrowser 是可用的。

然后回到 WEB 界面,把 filemanger 开关暂时关了,这是要做替换前的准备。

下一个工具 winscp (新版 5.15 有 webdav 客户端功能),路由 PADAVAN 事先开启 SSH 服务:





登录上去,右边窗格找到原 caddy 所在文件夹:



“雀占鸠巢”,你的 caddy 改名 caddy_filebrowser 替换掉原来的。

再转来 WEB 界面的 filemanger 这里,先不忙把开关给上,而是还要改设置,增加新功能,原来的设置是这样的:
:888 {
root /tmp/AiDisk_00/filebrowser
timeouts none
gzip
filebrowser / /tmp/AiDisk_00/filebrowser {
database /etc/storage/caddy_filebrowser.db
}
}
可以根据自己的情况修改,比如改成如下的:
:888 {
root /media/AiCard_01/TDDOWNLOAD
timeouts none
browse
gzip
filebrowser /film /media/AiCard_01/TDDOWNLOAD {
database /etc/storage/caddy_filebrowser.db
}
webdav /temp {
    scope /media/AiCard_01/TDDOWNLOAD
    allow /media/AiCard_01/TDDOWNLOAD
}
}
好,现在把 filemanger 开关给上,应用页面设置,再去看日志,有没有报错,容易出现的是设置文件的语法错误,导致需要反复调试,直到“守护进程启动”,至少程序运行起来了。

开始来试一下运行成果了,
首先地址栏输 http://路由器ip:888


可以下载,是一种只读模式的,点击其中的 film ,发现 filebrowser 打开了,上传下载都是没问题的,另外 filebrowser 里面可以重新定义根文件夹,全路由器文件访问都没有问题的。

filebrowser 已经调好了,再来 webdav:

先用 winscp:


再来用 raidrive 官网下载,免费,简体中文:
https://www.raidrive.com/

安装好后,配置:


注意到在两个工具中都定义了目录/temp,这个需要跟前面的 WEBDAV 配置文件一致,否则会连不上的。连上了是这样的:



结果虚拟出来了一个驱动器。

前一个工具 winscp 适合操作大型文件,后一个工具适合操作日常的需要在线编辑的,如 word,excel 等小型文件,或是想直接双击能看能播的多媒体文件,另外可以调到预览模式,可以看到图片,甚至一些电影的缩略图。raidrive 也是可以传大型文件的,比如几个G的单文件,不过传到99%的时候,有点象是假死,其实是它缓冲完才真正通过网络开始传,你以为死掉了,它还在那工作,因为没有进度条,所以产生误解。

filemanger 那儿的端口是可定义的,还可以开启外网访问,这样跨网段访问甚至做穿透在外网访问都不是问题。



wzdzdhan 发表于 2019-4-12 10:03

挺好的,我用的是pogo装debian ,装apache 实现webdav。

zhukongkui 发表于 2019-4-12 10:28

:victory:
我看了三遍 回家实验一下
我有个问题 filemanger 和 webdav 共用一个用户名和密码库 ?
在加一个ssl加密 就更完美了

newscat 发表于 2019-4-12 11:29

本帖最后由 newscat 于 2019-4-12 11:44 编辑

zhukongkui 发表于 2019-4-12 10:28
我看了三遍 回家实验一下
我有个问题 filemanger 和 webdav 共用一个用户名和密码库 ?
在加 ...
不是的,filemanger 自带一个数据库,密码应该是存在数据库里,以默认 admin/admin登录进入后,可以改。webdav可以设密码,它有一个语法设置例子:

https://github.com/hacdias/caddy-webdav/blob/master/README.md

至于 SSL 加密,这个我还没研究过。caddy 是有所谓支持更高安全性 https 功能的:https://blog.csdn.net/ironali/article/details/62887223可能在设置文件中,你需要再加量,就把 https 用上了。SSL加密不由 WEBDAV 负责,也不归 filebrowser 管,你看懂配置,在配置中写好文本,启用就是了。

sarf1984 发表于 2019-4-14 22:14

我试了好几遍,webdav 还是连不上,不知是那点不对:'(

小屁孩 发表于 2019-4-14 22:29

试了一下,成功在内网实现webdav,就是账户密码还不懂得怎么设置,楼主能说得详细一点吗

kubsb 发表于 2019-4-14 22:43

本帖最后由 kubsb 于 2019-4-15 10:38 编辑

sarf1984 发表于 2019-4-14 22:14
我试了好几遍,webdav 还是连不上,不知是那点不对
首先感谢楼主的分享,此方法中filebrowser只能下载,而图片和视频是无法在线看的,所以对配置文件需要再修改。
一、filebrowser配置,tls那行是为了能https访问,证书路径是路由器启用https访问后自动生成或你自己添加证书的默认地址。
:888 {
root /media/AiDisk_a1/Downloads
timeouts none
gzip
tls /etc/storage/https/server.crt /etc/storage/https/server.key
filebrowser / /media/AiDisk_a1/Downloads {
database /etc/storage/caddy_filebrowser.db
}
}
二、webdav的配置,tls那行同上,basicauth那行是给webdav添加用户名和密码。
:999 {
root /media/AiDisk_a1/Downloads
basicauth / admin password
timeouts none
gzip
tls /etc/storage/https/server.crt /etc/storage/https/server.key
webdav {
    scope /media/AiDisk_a1/Downloads
}
}
三、如果webdav要wan接入,防火墙放行999端口
1、如果只有ipv4则运行:
iptables -A INPUT -p tcp --dport 999 -j ACCEPT
2、如果还有ipv6还需要运行
ip6tables -A INPUT -p tcp --dport 999 -j ACCEPT

这两条放到路由器菜单:自定义设置 - 脚本 - 在防火墙规则启动后执行,可以随路由器启动自动运行。

ivenzhu 发表于 2019-4-15 09:58

我新三装H大的padavan只用来硬件加速拨号上网 ,其他功能都没有用过,功能多用起来太累了,简单拨号速度快就行

yule48 发表于 2019-4-15 10:11

看起来很好用。回家试试,升级一下filebrowers。用的是灯大+filebrowers

jackxicy 发表于 2019-4-15 13:38

ivenzhu 发表于 2019-4-15 09:58
我新三装H大的padavan只用来硬件加速拨号上网 ,其他功能都没有用过,功能多用起来太累了,简单拨号速度快 ...

拨号硬件加速的作用是什么,求解

newscat 发表于 2019-4-15 13:46

小屁孩 发表于 2019-4-14 22:29
试了一下,成功在内网实现webdav,就是账户密码还不懂得怎么设置,楼主能说得详细一点吗

想加密码就在设置里加上这一条语句:

zhukongkui 发表于 2019-4-15 15:27

newscat 发表于 2019-4-15 13:46
想加密码就在设置里加上这一条语句:

配置 ssl 加密后
用winscp 连接正常
用RaiDrive 连接不成功提示https://www.right.com.cn/forum/forum.php?mod=image&aid=282382&size=300x300&key=0c6931809964d232&nocache=yes&type=fixnone
不知道什么原因

hello_limin 发表于 2019-4-15 18:11

实现webdav

newscat 发表于 2019-4-15 18:29

zhukongkui 发表于 2019-4-15 15:27
配置 ssl 加密后
用winscp 连接正常
用RaiDrive 连接不成功提示


你换一个工具试试。与 RaiDrive 类似的,还有另一个工具,netdrive ,不过是收费的,网上可以找到破解版。

sarf1984 发表于 2019-4-15 18:54

kubsb 发表于 2019-4-14 22:43
首先感谢楼主的分享,此方法中filebrowser只能下载,而图片和视频是无法在线看的,所以对配置文件需要再 ...

太感谢你了,按照你的 命令 方法 我一次成功。希望和你交朋友 哈哈
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【2019/04/12】超简单方法为H大PADAVAN增加WEBDAV功能