Caddy+Aria2+AriaNg+OneIndex搭建教程,自动上传OneDrive/离线BT下载/在线观看

本教程将带你一步步搭建集 离线下载/BT下载和在线视频 于一身的私人网盘系统
基于Ubuntu 16.04.5编写,需要你具备一定的基础和耐心才能操作

流程

  1. 准备一台 VPS,申请 OneDrive 网盘
  2. 搭建 Caddy 服务器 + PHP 环境
  3. 安装 Aria2 + Aria2Ng
  4. 安装 OneIndex,配置自动上传脚本

本文假设你拥有一定的基础,以及 VPS 和 OneDrive 账号 。在了解完流程之后,那么开始折腾吧

准备工作

  1. VPS 问题请先百度解决。推荐使用国外的VPS,原因简单:便宜、带宽大,还能搞“科学研究”
  2. OneDrive 免费撸1T/5T空间教程:请点击这里,嫌麻烦的话去某宝买吧

Caddy

Caddy是一个轻量Web服务器,说到 Web 服务器,最常见的是ApacheNginx,那它有什么优点呢?

Caddy由 Go语言 编写,相比其他 Web 服务器,Caddy只有一个小小的二进制文件,轻如鸿毛,没有任何依赖,而且使用起来非常简单粗暴。Caddy是第一个无需额外配置,开箱即用HTTPSHTTP/2TLS等特性的Web服务器。只需体验三分钟,你就会跟我一样,爱上这款服务器。那么开始安装吧

安装
# 逗比大佬提供的一键安装脚本,默认安装了filemanager扩展
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager
 
# 这是卸载命令
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh uninstall
使用说明
启动:service caddy start
停止:service caddy stop
重启:service caddy restart
查看状态:service caddy status
 
# 通过这个脚本安装的Caddy才是这个路径,其他途径装的,自行找到对应的Caddyfile
Caddy配置文件位置(重要):/usr/local/caddy/Caddyfile
FileBrowser数据库位置:/usr/local/caddy/filemanager.db
Caddy自动申请SSL证书位置:/.caddy/acme/acme-v02.api.letsencrypt.org/sites/xxx.xxx(域名)/
php7.1-fpm

OneIndex是 PHP 程序,必须先安装 PHP 环境才能运行

安装
# 安装add-apt-repository命令
apt-get install software-properties-common python-software-properties
# 添加php源
add-apt-repository ppa:ondrej/php
# 更新软件源
apt-get update
# 安装php7.1-fpm
apt-get install php7.1-fpm
# 安装php常见的扩展
apt-get install php7.1-mysql php7.1-gd php7.1-curl php7.1-intl php7.1-mcrypt php7.1-mbstring php7.1-zip

输入 netstat -lnt9000 端口有没有在监听,如果有的话,那 PHP 就安装成功了!

Linux 修改文件的方法
  1. GUN nano 是一个命令行的文件编辑工具,基本用法:
    编辑:输入 nano 文件的相对/绝对路径
    保存:Ctrl+X,输入:Y 保存 / N 丢弃
  2. FinalShell SSH 工具,可视化的文件操作,非常方便,推荐小白用这个
配置
  1. 在 /etc/php/7.1/fpm/pool.d/www.conf 中
    listen = /run/php/php7.1-fpm.socket 改为 listen = 127.0.0.1:9000
  2. 重启 php 服务 service php7.1-fpm restart
  3. 修改 Caddy 配置文件(/usr/local/caddy/Caddyfile)
Aria2Ng的域名:80 {
    root /usr/local/wwwroot/aria2 //待会儿装Aria2Ng的目录,删掉这行注释,不然报错!!
    timeouts none
    gzip
}
 
Aria2Ng的域名:443 {
    //Aria2的HTTPS很折腾,坑了我几天搞不定,所以重定向到HTTP,删掉这行注释,不然报错!!
    redir http://Aria2Ng的域名{url}
}

如果不需要域名的话,用下面这个,通过 IP:端口 访问。我没试过,自测

:80 {
    root /usr/local/wwwroot/aria2 //待会儿装Aria2Ng的目录,删掉这行注释,不然报错!!
    timeouts none
    gzip
}
  1. 添加对应的域名解析
    举个例子:第三步用的是 yun.2233.com,去域名管理后台添加一个A记录
    Name:yun,IP:VPS 的 IP
  2. 输入 mkdir -p /usr/local/wwwroot/aria2 创建Aria2Ng的文件夹
  3. 重启 Caddy

Aria2

现在开始正式安装Aria2

安装
# 逗比大佬提供的一键安装脚本
# 本脚本只是安装Aria2后端,安装后默认会自启动,需要配合前端使用(Aria2Ng)
 
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/aria2.sh && chmod +x aria2.sh && bash aria2.sh

本教程将带你一步步搭建集 离线下载/BT下载和在线视频 于一身的私人网盘系统
基于Ubuntu 16.04.5编写,需要你具备一定的基础和耐心才能操作

在操作菜单选择 1 就自动安装完 Aria2 了,就是这么简单,点一下玩一年这个脚本还会经常用到,务必记住下载的路径(默认在:/root)
需要用的时候,在下载脚本的目录输入 ./aria2.sh 就可以运行了

使用命令
启动:service aria2 start
停止:service aria2 stop
重启:service aria2 restart
查看状态:service aria2 status
 
# 注意:修改了配置文件一定要重启 Aria2 才能生效。需要修改的内容后面再细讲
配置文件(重要):/root/.aria2/aria2.conf
令牌密匙:随机生成的登录密码(在脚本 7. 中修改或手动修改配置文件的:rpc-secret)
配置 Aria2

这里非常重要,出差错的话,将导致 Aria2 无法正常使用,务必看仔细再操作!!!
接下来打开 Aria2 的配置文件,Linux 编辑文件的方法上面讲过了

  1. 修改下载目录,找到 dir,改成 dir=/usr/local/wwwroot/aria2/download
  2. 修改RPC密码(可选),找到 rpc-secret ,改成 rpc-secret=你的密码
  3. 关闭做种(可选,针对流量较少的 VPS 。不建议关闭,P2P 分享精神,方便你我他)
    找到 seed-ratio,不想做种改成 0.1,如果你VPS流量多,建议改成 0 (不限制)
    追加一行 seed-time=1 (1分钟后停止分享,改成 0 代表不做种)
  4. 修改同时下载数,找到 max-concurrent-downloads,改成 max-concurrent-downloads=3
    不建议同时下载太多文件,内存不足或网络波动会导致 OneIndex 上传失败
  5. 取消强制保存会话,找到 force-save=true,在最前面加个 #
    强制保存会话会经常导致任务莫名其妙重复下载,浪费服务器流量!
  6. 添加一行 bt-request-peer-speed-limit=2048K (期望的最低速度,单位K/M)
  7. 添加 tracker 服务器,添加一行 bt-tracker=tracker服务器 ,如:
#tracker服务器地址具有时效性,建议定期更新
 
bt-tracker=udp://tracker.coppersurfer.tk:6969/announce,http://tracker.internetwarriors.net:1337/announce,udp://tracker.opentrackr.org:1337/announce,udp://9.rarbg.to:2710/announce,udp://exodus.desync.com:6969/announce,udp://public.popcorn-tracker.org:6969/announce,udp://tracker.vanitycore.co:6969/announce,udp://explodie.org:6969/announce,udp://tracker1.itzmx.com:8080/announce,udp://ipv4.tracker.harry.lu:80/announce,udp://tracker.torrent.eu.org:451/announce,udp://tracker.tiny-vps.com:6969/announce,udp://tracker.port443.xyz:6969/announce,udp://open.stealth.si:80/announce,udp://open.demonii.si:1337/announce,udp://denis.stalker.upeer.me:6969/announce,udp://bt.xxx-tracker.com:2710/announce,udp://tracker.cypherpunks.ru:6969/announce,udp://tracker.cyberia.is:6969/announce,udp://retracker.lanta-net.ru:2710/announce

tracker服务器是 BT 下载中必须的角色。一个 BT client 在下载开始以及下载进行的过程中,要不停的与 tracker 服务器进行通信,以报告自己的信息,并获取其它下载 client 的信息。没有配置正确的 tracker 将导致 Aria2 的下载速度永远为 0 . 点这里 获取最新的tracker服务器
6. 添加一行 on-download-complete=/root/upload.sh (Aria2下载完成后,自动上传OneDrive的脚本)

Aria2Ng

AriaNg 是一个 HTML+JS 写的纯静态 Aria2 管理面板,不需要编译任何环境

安装
# 注意,以下两个目录务必记住
# Aria2的下载目录:/usr/local/wwwroot/aria2/download
# AriaNg的安装目录:/usr/local/wwwroot/aria2
 
# 新建Aria2下载文件夹 并进入AriaNg的目录
mkdir -p /usr/local/wwwroot/aria2/download && cd /usr/local/wwwroot/aria2
 
# 下载 AriaNg-0.5.0 并解压
wget -N --no-check-certificate "https://github.com/mayswind/AriaNg/releases/download/0.5.0/AriaNg-0.5.0.zip" && unzip AriaNg-0.5.0.zip && rm -rf AriaNg-0.5.0.zip
 
# 访问 https://github.com/mayswind/AriaNg/releases/latest 获取最新版AriaNg
 
# 授权
chmod -R 755 /usr/local/wwwroot/aria2
给 AriaNG 加访问密码(可选)

AriaNG 只是一个 Aria2 远程操作的前端面板,Aria2 数据都是保存在服务器的,不知道 RPC 密码和端口,并不能操作你的 Aria2 。觉得有安全隐患,可以修改 Caddy 的配置文件实现身份验证
格式:basicauth / user passwd ,user:用户名,passwd:密码

你的域名:80 {
    root /usr/local/wwwroot/aria2
    timeouts none
    gzip
    basicauth / admin 12345
}

设置这个后,访问 AriaNG 就需要输入用户名和密码来验证了!

注意:用户名和密码不支持特殊符号,必须使用 数字和字母

修改配置文件后,记得重启 Caddy !

开始使用
  1. 在浏览器输入 域名 或 IP:端口 访问 AriaNG 控制面板
  2. 打开面板后,首先确认访问协议是 http:// 而不是 https://
    我在这里折腾了两天,HTTPS 协议无论如何都连不上 Aria2
  3. 刚打开会弹窗“认证失败!“,因为还没有登录,现在打开:AriaNG 设置RPC
    需要注意的几个地方:
    ① Aria2 RPC地址:默认是 http://域名或IP:6800/jsonrpc 不清楚的话最好别修改
    ② Aria2 RPC密钥:这个是登录密码。填了密码,记得点击 重新加载页面
  4. 重新加载页面后,看 Aria2 状态,如果是 已连接,就是成功了!!!
    一直连不上的话,肯定是没弄好,后续的操作没法继续。我就是在这里折腾了好久,坑。。。
    首先,排查 防火墙 是不是没放行端口。还不行的话,从头仔细按着教程一步一步来
  5. 添加一个任务试试吧,支持 直链磁力链接

如果能正常下载的话,那么恭喜你,阶段性胜利。接下来折腾OneIndex和自动上传

OneIndex

OneIndex 是 一个基于 OneDrive 的开源网盘,主要功能:

  • 直接索引 OneDrive 的文件
  • 不用服务器空间
  • 不走服务器的流量
  • 文件直链下载,音乐、图片和视频在线预览
安装
  1. 修改 Caddy 配置文件,添加以下内容
OneIndex的域名 {
    root /usr/local/wwwroot/one //名字随便起,装OneIndex的目录,删掉注释,不然报错!!
    timeouts none
    gzip
    fastcgi / 127.0.0.1:9000 php {//把9000改成php监听的端口号,删掉注释,不然报错!!
        ext .php
        split .php
        index index.php
    }
    rewrite {//伪静态配置,主要是用来删掉url中的/?/,去掉这注释,不然报错!!
        to {path} {path}/ /index.php?{query}
        }
}

如果不需要域名的话,用下面这个,通过 IP:端口 访问。我没试过,自测

:端口 {
    root /usr/local/wwwroot/one //名字随便起,装OneIndex的目录,删掉注释,不然报错!!
    timeouts none
    gzip
    fastcgi / 127.0.0.1:9000 php {//把9000改成php监听的端口号,删掉注释,不然报错!!
        ext .php
        split .php
        index index.php
    }
    rewrite {//伪静态配置,主要是用来删掉url中的/?/,删掉这行注释,不然报错!!
        to {path} {path}/ /index.php?{query}
        }
}
  1. 下载OneIndex
# 新建OneIndex的文件夹
mkdir -p /usr/local/wwwroot/one && cd /usr/local/wwwroot/one
 
# 下载 OneIndex 并解压
wget -N --no-check-certificate "https://github.com/donwa/oneindex/releases/download/3.0/oneindex.zip" && unzip oneindex.zip && rm -rf oneindex.zip
 
# 访问 https://github.com/donwa/oneindex/releases 获取最新版OneIndex
 
# 授权
chmod -R 755 /usr/local/wwwroot/
    1. 访问 OneIndex 的域名或IP,首次打开会执行 系统安装下一步,然后跟着 动态图 操作Caddy+Aria2+AriaNg+OneIndex搭建教程,自动上传OneDrive/离线BT下载/在线观看

没什么问题的话 OneIndex 就安装好了。请及时修改后台默认管理密码!!!

配置自动上传
  1. OneDrive 创建一个用于上传的文件夹,如:download
  2. 输入 touch /root/upload.sh 创建自动上传的脚本文件
  3. 输入 nano /root/upload.sh 编辑文件,粘贴这份代码进去
#!/bin/bash
path=$3
#改成Aria2的下载目录
downloadpath='/usr/local/wwwroot/aria2/download'
#对应第一步的文件夹
folder='download'
if [ $2 -eq 0 ]
  then
    exit 0
fi
while true; do
filepath=$path
path=${path%/*};
#下面4条OneIndex命令的格式:php所在位置 one.php的位置 OneIndex的操作 附加参数
if [ "$path" = "$downloadpath" ] && [ $2 -eq 1 ]
    then
    /usr/bin/php7.1 /usr/local/wwwroot/one/one.php upload:file "$filepath" /$folder/
    rm -rf "$filepath"
    rm -rf "$filepath+.aria2"
    /usr/bin/php7.1 /usr/local/wwwroot/one/one.php cache:refresh
    exit 0
elif [ "$path" = "$downloadpath" ]
    then
    /usr/bin/php7.1 /usr/local/wwwroot/one/one.php upload:folder "$filepath" /$folder/
    rm -rf "$filepath/"
    /usr/bin/php7.1 /usr/local/wwwroot/one/one.php cache:refresh
    exit 0
fi
done

Ctrl+X 再按 Y 保存修改。其实本来就是改好的,只要你前面都按着教程来

  1. 授权,输入chmod 755 /root/upload.sh 注意:不要单独去运行这个sh,否则后果自负

如果你是欧皇,前面操作都没有出错。那么,恭喜你,私人网盘系统部署完成了!

食用方法

以下视频为例,找自己想看的视频的 磁力链接 ,通过 AriaNG 远程下载,Aria2 下完后会自动上传到 OneDrive 并删除 VPS 本地的文件,你只需访问 OneIndex 就能在线观看或下载文件了,消耗的只是 OneDrive 的流量,离线下载时才会走服务器的流量,祝你使用愉快

免责声明

仅用于技术交流和非商业用途,严禁利用本教程从事商业行为,不限于贩卖教程、贩卖网盘系统、有偿为他人提供帮助,珍惜网络资源请勿滥用。弘扬中国精神、践行社会主义核心价值观,请严格遵守我国法律和DMCA条约,禁止下载、储存和分享任何土味/低俗/盗版/违法资源,因个人行为照成的纠纷和一切后果,与本文作者无关

社会主义核心价值观

富强、民主、文明、和谐, 自由、平等、公正、法治、 爱国、敬业、诚信、友善

写在最后

这篇文章的初衷是为了让后人少走弯路,花了我两天才写完,加上折腾的时间差不多一个星期。这些是我百般折腾才总结出来的经验,来之不易,希望大家能珍惜我的劳动成果。转载前请先征得本人同意,并且保留原文地址。觉得这篇文章对你有帮助或是有疑问的话,欢迎在下方留言,感谢

Comments

原创文章,作者:fuuli,如若转载,请注明出处:https://fuuli.cn/resources/49.html

联系我们

在线咨询:点击这里给我发消息

邮件:l@llbzy.com

在线时间:周一至周,节假日休息

QR code