Back
Please upgrade your browser or check your network connection.

Caddy + FileManager + WebDav + Aria2 + Rclone = 大容量离线下载服务器

本文非完全小白文,只是提及关键,太基础的不说。不懂的请自行百度,不作解答。且本文的意图在于分享,而不是教你 Linux 基础。不过也算是超级基础了

大家好,我是总是那么无语

这几天我在折腾着 Caddy,因为要用到他的两个插件。

这里两个插件分别是,FileManager 和 WebDav

这里两个插件可以很好地管理文件以及使用文件

因为个人的小鸡多一些而且经常变动,每次配置就要花十来分钟配置就很蛋疼了。所以又写了个脚本。

本脚本面向的用户

本脚本适用于

小鸡有较大的硬盘

或者云端账号有较大空间(使用 rclone 挂载/davfs2)

而且需要用到 webdav 来备份上传/下载

有离线下载需求等等

个人需求以及为何选择此来搭建

我个人因为开发的原因,有些源或者包,慢得要死。还有下一些小片片,也是一样的情况。

所以自己就有离线下载的需求。

为毛不挂梯子是吧,因为不墙,加入了黑名单走梯子也很慢。。简直是有毒。

还有手机的纯纯写作需要用到 webdav 来备份,或者有时候可以通过手机访问下资料。

WebDav

WebDav 在全平台都有产品为它服务,那么就意味着你可以随时随地地访问资料,绝对是折腾的首选。

选取的客户端得当就可以在线浏览,在线看视频

FileManage

FileManage 是 Caddy 的一个插件,实则为一个 web 的文件管理,有中文。在电脑上面的浏览器操作的时候就非常之直观,而且能够在线看 PDF,视频,图片等。不需要第三方的软件支持(浏览器算不算,滑稽)。

Aria2

Aria2 是一个非常之优秀的全平台下载开源应用。有很多的开源项目的支持,你可以在浏览器上面,电脑上面,手机上面,发现很多与它相关的插件,而且你还可以随时通过 JSON-RPC 服务来操作你的下载任务。 Aria2 支持主流的下载链接,常规的下载链接,磁力链,种子,Metalink。 Aria2 本身是一个命令行下载工具,拥有众多可调的参数。让开发用户着迷,让普通用户望而却步。

Rclone

Rclone 是一个 Github 上面的一个开源项目,专门开发用来在 Linux 上面同步文件/文件夹,上传的一个命令行工具。

专门针对各种主流主流云盘,例如

  • Amazon Drive
  • Amazon S3 / Dreamhost / Ceph / Minio / Wasabi
  • Backblaze B2
  • Box
  • Dropbox
  • FTP
  • Google Cloud Storage
  • Google Drive
  • HTTP
  • Hubic
  • Mega
  • Microsoft Azure Blob Storage
  • Microsoft OneDrive
  • OpenDrive
  • Openstack Swift / Rackspace cloud files / Memset Memstore / OVH / Oracle Cloud Storage
  • pCloud
  • QingStor
  • SFTP
  • Webdav / Owncloud / Nextcloud
  • Yandex Disk
  • The local filesystem

而 Rclone 里面的 FUSE mount 是我用到的一个功能。

可以把上面的云盘都挂载到 Linux 主机上面(OVZ 架构需要商家开启 FUSE 模块)

那么就意味着,你可以把小小的主机的硬盘容量变相扩大了。

域名以及解析

你需要先拥有一个域名并且把 A 记录给解析好

可以到去注册一个免费域名,或者花钱购买一个域名

免费和花钱,之间自然是有区别的,请自行百度

原本想让你们去百度,想想还是自己带一次算了

打开freenom

搜索你要的域名

选一个没有用过的域名。一个就行了。

点现在获取,再点购物车

然后在右边选免费的月数,最高 12 个月

老用户直接登录,新用户左边注册 我是老用户直接就登录了

新用户一系列注册之后都会跳到这个界面的

这里填的是域名信息

如果你只是想玩玩的,手机号码和 email 请填写好,其他随意填。 如果不是,请如实填写

填写完之后,打钩,点 Complete Order

点 Services 再点 My Domains

找到刚刚注册的域名,点最后面的 Manage Domain

点 Manager Freenom DNS

TypeNameTarget
A看图server ip
Awwwserver ip
Awebdavserver ip

最后的服务器 IP 写你自己的,别写我这个拿来做教程的服务器 IP

别忘了,最后的 webdav

到时候 webdav 的访问地址为 https://webdav.xxxxx.xxx

看图说话,最后点 Save Changes

Save Changes Save Changes Save Changes

然后在自己的电脑上面 ping 一下,下面这几个域名,看看通不通。

DNS 解析全球生效需要一定的时间,别着急。

把 cdfm.ga 换成自己刚刚注册的那个

1ping cdfm.ga
2ping www.cdfm.ga
3ping webdav.cdfm.ga

正常情况就是下面这个状况

请确保域名 A 记录已正确解析至服务器 IP

不要开启任何的 CDN,因为 CDN 会使得 Caddy 自动申请域名证书的时候失效。

如果需要换域名管理商,请自行百度解决。

使用脚本安装 Caddy + FileManage + WebDav

本人开发此脚本的时候是在 Debian9 x64 上面开发的。 而且本教程用的服务器系统也是 Debian9 x64 只是在下面几个系统里面测试过,用不用得了自测,特别是 centos 系统。 我是不用 centos 系统的,没啥经验。 也对这个系统的开发兼容的动力基本为 0,因为我不用,很简单。 不用喊我兼用 centos,我是不会动手的。我太懒了。

请自行来这里fork,自己改

Centos7 x64 Centos6 x64 Debian9 x64 Ubuntu16 x64

1wget -N --no-check-certificate https://github.com/zsnmwy/Caddy-FileManage-WebDav/releases/download/v1.0/caddy-filemanage-webdav-install.v1.0.sh && chmod 777 caddy-filemanage-webdav-install.v1.0.sh && bash caddy-filemanage-webdav-install.v1.0.sh

运行脚本需要 root

把上面的命令丢到 shell 里面回车

然后出来选择界面

选 1 进行安装

然后会让你输入几个信息

  • 域名

  • 邮箱

  • webdav 的账号

  • webdav 的密码

  • webdav 的挂载点

  • FileManager 的挂载点

详细地说下这几个填写的问题。

域名

域名,举个例子

你申请的域名是

1xxxx.xxx

那么填写的时候就是填这个

不要填

1www.xxxx.xxx

记得不要带 www.

不然写入的 Caddy 配置文件会出错的

不要开启任何的 CDN,因为 CDN 会使得 Caddy 自动申请域名证书的时候失效。

邮箱

邮箱就是邮箱了

起码把格式给写对

1xxx@xxx.com

这个是用来让 Caddy 自动申请 ssl 证书

WebDav FileManager

webdav 账号就是当你使用 webdav 服务的时,登入的账号名

webdav 密码参照上条

webdav 挂载点,其实就是一个管理目录

到时候你只能够管理到这个目录的文件

例如,路径是 /mnt/webdav

那么只能够管理到这个路径下面的文件

像 /home /home/ubuntu 这些就碰不到。

记得需要的是绝对路径

其实相对路径也行,问题脚本里面的相对路径不是你想要的

直接在新建目录的时候就用pwd取一下路径就是了

FileManager 的挂载点同上

回到安装正题

填写完信息后接来下就是回车,等他安装完

安装完之后,现在并不能够访问来着,因为 Caddy 还没有启动

回到目录,启动刚刚下好的脚本

1cd ~ #刚刚运行脚本的那个目录
2bash caddy-filemanage-webdav-install.v1.0.sh  #输入 c 再按TAB补全就是。而且这脚本的名字可能会变化,版本变,他就变了。
3
4#####
5也可以用刚刚上面的那条命令再次启用脚本
6

选择 2

因为 Caddy 申请证书的时候是用 Let’s Encrypt

需要你同意条款

同意之后他就会自动申请证书了,只要出现网址了

你就可以通过给出的网址去访问 FileManager 了

注意 webdav 开头的网址,是没有 web 服务的,就是没有网页的。

但你也可以通过管理软件去连接 webdav 服务

我的是 iMac ,Finder 可以直接使用 webdav 服务

确定访问没有问题了,就按 Ctrl + C 关掉 caddy

如果访问有问题,应该是防火墙的问题。请自行解决。

1cd ~ #刚刚运行脚本的那个目录
2bash caddy-filemanage-webdav-install.v1.0.sh  #输入 c 再按TAB补全就是。而且这脚本的名字可能会变化,版本变,他就变了。
3
4#####
5也可以用刚刚上面的那条命令再次启用脚本
6

在脚本里面选 3

3 的作用就是把 caddy 丢到 PM2 里面去管理,caddy 这程序死了,PM2 会帮他自启。

到这里为止,使用脚本安装 Caddy + FileManage + WebDav 就算完了

注意!!

1############# PM2 ############
23.启动Caddy
34.查看Caddy日志
45.重启Caddy
56.删除Caddy
6############# PM2 ############

这里的选择都是针对于 PM2 对 caddy 的管理的,仅仅是进程管理

FileManage

修改密码和语言

点左边的 setting,然后看图操作就好了

你可以直接拿这个来看 PDF,部分格式的视频等等

Aria2

Aria2 的安装我是选择使用 Toyo 的脚本

毕竟能不造轮子就不造轮子

在脚本里面按 7 根据提示安装即可

安装完之后,把下载目录改成上面 FileManager 和 WebDav 的挂载目录

这样子,你就能够在浏览器,webdav 服务上管理下载的文件了

在电脑网页端,我推荐使用AriaNg

是非常之方便

你只需要在 GitHub下载压缩包,然后解压

双击打开 index.html 即可用了

然后把它添加到浏览器的收藏夹就好了

而 Android 方面,我推荐用 Aria2App

IOS?没找过

以及 Aria2 的 on-download-complete 这一项配置是值得你探究的

可以在下载完之后执行一个脚本

实例可以参照这个

aria2 下载完后自动上传至谷歌云盘

Rclone

这个开源的项目地址:https://github.com/ncw/rclone 以及这个项目的 wiki:https://rclone.org/docs/

在脚本里面集成了 Rclone 的安装,在脚本里面选下 8 就行

然后就是配置账号信息以便于连接到各大网盘

网上也有很多教程了,我也不造轮子了

贴几个教程出来,让大家参考了

小硬盘的福利–使用 rclone 挂载云存储

vps 利用 rclone 挂载 gdrive

本文首次完成于 2018/5/30 23:28

转载请注明出处

Licensed under CC BY-NC-SA 4.0