本文总结一下自己折腾在OpenWrt搭建AutoBangumi+qBittorrent+Alist+Rclone实现自动下载订阅新番并上传网盘功能的过程
安装docker
1 | opkg update |
然后去网络-防火墙-常规设置
把入站数据
,出站数据
,转发
都改为接受
,否则无法访问docker应用!
使用docker-compose方式安装AutoBangumi
AutoBangumi是基于 Mikan Project、qBittorrent 的全自动追番整理下载工具。只需要在 Mikan Project 上订阅番剧,就可以全自动追番。并且整理完成的名称和目录可以直接被 Plex、Jellyfin 等媒体库软件识别,无需二次刮削。
新建一个docker-compose.yml文件,如下:
1 | version: '3.2' |
启动
1 | docker compose up -d |
这个时候在管理界面Doccker-容器
里面能看到AutoBangumi
已经启动,这个时候浏览器输入http://ip:端口/
即可打开管理界面,然后根据官方文档进行设置
安装qBittorrent
docker(推荐)
1 | version: "3.2" |
luci
安装qBittorrent
需要安装很多依赖,如下
1 | libdouble-conversion_3.2.1-2_x86_64.ipk |
以上插件官方软件包可能没有,可前往这里下载,还有就是以上插件顺序可能不对,请根据提示安装就好,全部安装后网络存储
会出现qBittorrent
,这说明安装成功了,然后启动!
Alist
docker(推荐)
1 | // docker-compose.yml |
luci
1 | opkg update |
安装完毕后网络存储
会有Alist 文件列表
菜单出现,然后启动打开界面挂载自己所需的网盘
Rclone
安装
1 | opkg update |
安装完毕后进行挂载设置
1 | rclone config #根据提示操作,关键点是url要填路由器ip(如192.168.0.1)不要填127.0.0.0,挂载方式选择webDav,账号密码填alist的,具体可以看alist官网(https://alist.nn.ci/zh/guide/webdav.html) |
设置完毕后开始挂载
1 | mkdir /data/alist |
解释:1、alist:/
为config设置的name(alist)和挂载目录(/)组合
2、/data/alist
为挂载目录
3、/root/.config/rclone/rclone.conf
为配置文件路径,正常来讲不用动
4、/mnt/tmp
为缓存路径,请填写一个大容量目录
5、/mnt/logs/rclone.log
为日志目录
命令输入完毕后,请自行前往对应目录看一下能否访问,如cd /data/alist && ll
能看到自己设置的硬盘目录即为成功挂载!
设置开机自动挂载
1 | opkg update |
然后去系统-启动项-本地启动脚本
添加bash /etc/init.d/rcloned start
,最后重启测试下效果,没有意外的话开机启动即可自动挂载,如果不行,请查看日志或检查配置是否正确
自动上传
需要用到一个脚本,原理是定时检查qBittorrent下载完成的任务,然后打标签最后使用rclone copy到挂载目录即可上传到网盘,下载后根据实际修改里面的参数,然后在系统-计划任务
里添加*/1 * * * * bash /root/AutoBangumi/qb_auto_rclone_openwrt.sh>/root/logs/crontab_qb.log
最后保存即可,注意修改脚本保存和日志路径
PS:开启定时任务前先运行测试看看有没有报错,然后根据提示安装需要的依赖
公网通过IPV6地址访问
设置ipv6
以下是主路由设置,旁路由请参考资料里的旁路由设置教程
WAN
协议选择 PPPoE,填写你的宽带账号和密码即可,高级设置 中的 获取 IPv6 地址 选择自动,勾选 使用默认网关 和 委托 IPv6 前缀; IPV6 分配长度 选择 已禁用
LAN
- 在
设备
中,配置设备br-lan
,网桥端口选择希望作为 LAN 口的网口,如eht1、eth2、eth3,保存即可 - 接口编辑lan,在
高级设置
中,勾选委托 IPv6 前缀
,IPV6 分配长度
选择64
,然后DHCP 服务器-IPv6设置
中,RA服务
选择服务器模式
,禁用DHCPv6 服务
、NDP 代理
和本地 IPV6 DNS 服务器
(IPV4 的 DNS 服务器地址可以提供 AAAA 解析,而且运营商给的 IPV6 前缀变化时,会有一小部分时间路由器的 IPV6 地址变化,而客户端没有及时更新,所以这里干脆禁用 IPV6 DNS 服务器地址,A 解析和 AAAA 解析都通过 IPV4 DNS 服务器地址解析),然后切换到IPV6 RA设置
,默认路由器
选择在可用的前缀上
,勾选启用 SLAAC
,取消勾选RA标记
中的所有
选项 - 最后保存并应用,然后打开
https://www.test-ipv6.com/
即可测试
参考资料
安装动态dns
由于运营商下发的ip地址是会变的,所以需要使用动态dns获取最新的ip地址
1 | opkg update |
然后设置解析,请参考这里
PS:如果是跟我一样是单网口旁路由的话,可能需要进行以下设置:
1 | 编辑-高级设置 |
保存并应用后点重新加载应该就可以正常运行了
防火墙设置
主路由设置
防火墙-端口转发或通信规则添加对应规则,推荐端口转发
1 | 端口转发: |
旁路由设置
因为我是旁路由搭建的,经测试发现只要主路由防火墙放开端口即可访问,所以下面都是在主路由设置的
主路由Padavan设置
打开高级设置-自定义设置-在防火墙规则启动后执行:
在logger -t "【防火墙规则】" "脚本完成"
前填入以下参数
1 | ip6tables -A FORWARD -p tcp --dport 自定义端口 -j ACCEPT # Autobangumi |
然后点击应用本页面设置,这时候没有意外的话在浏览器输入http://[路由器的ipv6地址]:端口
即可访问对应页面,最好是用手机流量访问测试能不能访问
PS:简单粗暴的把防火墙直接关了也不是不行但是不建议
总结
完成以上安装设置后,你的openwrt系统就具有自动下载订阅新番并上传网盘功能,并且可以通过公网ipv6地址在外面也能访问了!
注意事项
1、本教程为事后总结,可能有一些细节没写清楚,导致各种问题,请发挥自己的搜索能力和动手能力自己测试修改!
2、如果安装了openclash并使用了fakeip模式,请在覆写设置-DNS设置-Fake-IP-Filter
里面填入ip.sb
过滤掉,否则动态dns有可能获取的是代理ip,不建议使用meta内核,开了之后会导致有些页面无法访问,当然最好就是用REDIR-HOST
没那么多坑
3、建议能用了之后备份,出问题也能直接恢复