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

onical.ga 一个缺氧喷泉计算器 打个小广告应该没有人知道

点Manager Freenom DNS

Type Name Target
A 看图 server ip
A www server ip
A webdav server ip

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

别忘了,最后的webdav

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

看图说话,最后点Save Changes

Save Changes
Save Changes
Save Changes

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

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

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

1
2
3
ping cdfm.ga
ping www.cdfm.ga
ping 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

1
wget -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的挂载点

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

域名

域名,举个例子

你申请的域名是

1
xxxx.xxx

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

不要填

1
www.xxxx.xxx

记得不要带www.

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

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

邮箱

邮箱就是邮箱了

起码把格式给写对

1
xxx@xxx.com

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

WebDav FileManager

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

webdav密码参照上条

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

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

例如,路径是 /mnt/webdav

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


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

记得需要的是绝对路径

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

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

FileManager的挂载点同上

回到安装正题

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

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

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

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

#####
也可以用刚刚上面的那条命令再次启用脚本

选择2

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

需要你同意条款

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

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

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

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

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

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

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

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

#####
也可以用刚刚上面的那条命令再次启用脚本

在脚本里面选3

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

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

注意!!

1
2
3
4
5
6
############# PM2 ############
3.启动Caddy
4.查看Caddy日志
5.重启Caddy
6.删除Caddy
############# 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

转载请注明出处

0%