在OpenWrt搭建追番系统

  • ~5.72K 字
  • 0 次阅读 次阅读
  • 0 评论 条评论
  1. 1. 安装docker
  2. 2. 使用docker-compose方式安装AutoBangumi
    1. 2.1. 新建一个docker-compose.yml文件,如下:
    2. 2.2. 启动
  3. 3. 安装qBittorrent
    1. 3.1. docker(推荐)
    2. 3.2. luci
  4. 4. Openlist
    1. 4.1. docker(推荐)
  5. 5. Rclone
    1. 5.1. 安装
    2. 5.2. 安装完毕后进行挂载设置
    3. 5.3. 设置完毕后开始挂载
    4. 5.4. 设置开机自动挂载
  6. 6. 自动上传
  7. 7. 公网通过IPV6地址访问
    1. 7.1. 设置ipv6
      1. 7.1.1. WAN
      2. 7.1.2. LAN
    2. 7.2. 参考资料
    3. 7.3. 安装动态dns
    4. 7.4. 防火墙设置
      1. 7.4.1. 主路由设置
      2. 7.4.2. 旁路由设置
        1. 7.4.2.1. 主路由Padavan设置
  8. 8. 总结
  9. 9. 注意事项

本文总结一下自己折腾在OpenWrt搭建AutoBangumi+qBittorrent+openlist+Rclone实现自动下载订阅新番并上传网盘功能的过程

安装docker

1
2
3
4
opkg update
opkg install docker docker-compose dockerd luci-lib-docker luci-app-dockerman
/etc/init.d/dockerd start #启动
/etc/init.d/dockerd enable #开机启动

然后去网络-防火墙-常规设置入站数据出站数据转发都改为接受,否则无法访问docker应用!

使用docker-compose方式安装AutoBangumi

AutoBangumi是基于 Mikan Project、qBittorrent 的全自动追番整理下载工具。只需要在 Mikan Project 上订阅番剧,就可以全自动追番。并且整理完成的名称和目录可以直接被 Plex、Jellyfin 等媒体库软件识别,无需二次刮削。
提示: 可用ANI-RSS替代

新建一个docker-compose.yml文件,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
version: '3.2'
services:
auto_bangumi:
container_name: AutoBangumi
environment:
- TZ=Asia/Shanghai
- PGID=1000
- PUID=1000
networks:
- auto_bangumi
ports:
- '自定义端口:7892'
volumes:
- ./config:/app/config
- ./data:/app/data
dns:
- 8.8.8.8
- 223.5.5.5
restart: unless-stopped
image: estrellaxd/auto_bangumi:latest

networks:
auto_bangumi:
volumes:
auto_bangumi:
external: false

启动

1
docker compose up -d

这个时候在管理界面Doccker-容器里面能看到AutoBangumi已经启动,这个时候浏览器输入http://ip:端口/即可打开管理界面,然后根据官方文档进行设置

安装qBittorrent

docker(推荐)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
version: "3.2"
services:
qbittorrentee:
image: superng6/qbittorrentee
container_name: qbittorrentee
environment:
- PUID=0
- PGID=0
- UMASK=022
- TZ=Asia/Shanghai
volumes:
- ./config:/config
- '/mnt/usbdisk/downloads:/downloads' #自行更改
- '/mnt:/mnt'
ports:
- 6881:6881
- 6881:6881/udp
- 7896:8080
restart: unless-stopped

luci

安装qBittorrent需要安装很多依赖,如下

1
2
3
4
5
6
7
8
9
libdouble-conversion_3.2.1-2_x86_64.ipk
libQt6Core_6.4.2-3_x86_64.ipk
libQt6Network_6.4.2-3_x86_64.ipk
libQt6Sql_6.4.2-3_x86_64.ipk
libQt6Xml_6.4.2-3_x86_64.ipk
qt6-plugin-libqopensslbackend_6.4.2-3_x86_64.ipk
qt6-plugin-libqsqlite_6.4.2-3_x86_64.ipk
qBittorrent-Enhanced-Edition_4.5.2.10-1_x86_64.ipk
luci-app-qbittorrent_git-24.061.45533-315c891_all.ipk

以上插件官方软件包可能没有,可前往这里下载,还有就是以上插件顺序可能不对,请根据提示安装就好,全部安装后网络存储会出现qBittorrent,这说明安装成功了,然后启动!

Openlist

docker(推荐)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// docker-compose.yml
services:
alopenlistist:
restart: unless-stopped
volumes:
- './openlist:/opt/openlist/data'
- '/mnt:/mnt'
ports:
- '5244:5244'
environment:
- PUID=0
- PGID=0
- UMASK=022
container_name: openlist
image: 'openlistteam/openlist'

Rclone

安装

1
2
opkg update
opkg install rclone

安装完毕后进行挂载设置

1
rclone config #根据提示操作,关键点是url要填路由器ip(如192.168.0.1)不要填127.0.0.0,挂载方式选择webDav,账号密码填openlist的,具体可以看openlist官网(https://doc.oplist.org/guide/drivers/webdav#WebDav)

设置完毕后开始挂载

1
2
3
4
mkdir /data/openlist
mkdir /mnt/logs
mkdir /mnt/tmp
rclone -v mount openlist:/ /data/openlist --config /root/.config/rclone/rclone.conf --cache-dir /mnt/tmp --allow-other --vfs-cache-mode writes --allow-non-empty --umask 000 --daemon --log-file /mnt/logs/rclone.log

解释:1、openlist:/为config设置的name(openlist)和挂载目录(/)组合
2、/data/openlist为挂载目录
3、/root/.config/rclone/rclone.conf为配置文件路径,正常来讲不用动
4、/mnt/tmp为缓存路径,请填写一个大容量目录
5、/mnt/logs/rclone.log为日志目录
命令输入完毕后,请自行前往对应目录看一下能否访问,如cd /data/openlist && ll能看到自己设置的硬盘目录即为成功挂载!

设置开机自动挂载

1
2
3
4
5
6
opkg update
opkg install procps-ng-ps fuse-utils grep # 安装 procps-ng-ps 可得到与linux发行版一样功能的 ps
wget https://raw.githubusercontent.com/sola614/Sundries/master/course/AutoBangumi/rcloned && vim rcloned #脚本修改自己成目录
mv rcloned /etc/init.d/rcloned
chmod +x /etc/init.d/rcloned
bash /etc/init.d/rcloned start

然后去系统-启动项-本地启动脚本添加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

  1. 设备中,配置设备br-lan,网桥端口选择希望作为 LAN 口的网口,如eht1、eth2、eth3,保存即可
  2. 接口编辑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标记中的所有选项
  3. 最后保存并应用,然后打开https://www.test-ipv6.com/即可测试

参考资料

主路由
旁路由

安装动态dns

由于运营商下发的ip地址是会变的,所以需要使用动态dns获取最新的ip地址

1
2
opkg update
opkg install luci-app-ddns ddns-scripts-cloudflare

然后设置解析,请参考这里
PS:如果是跟我一样是单网口旁路由的话,可能需要进行以下设置:

1
2
3
4
编辑-高级设置
IP 地址来源选择 URL
用于检测的 URL 填写 http://ipv6.ip.sb
事件网络选择 @LAN6

保存并应用后点重新加载应该就可以正常运行了

防火墙设置

主路由设置

防火墙-端口转发或通信规则添加对应规则,推荐端口转发

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
端口转发:
名称:随意
地址族限制:加宽一般情况都只有ipv6,选仅ipv6,其他根据情况选ipv4和ipv6
协议:TCP+UDP
源区域:选拨号上网的WAN
外部端口:自定义,后续通过这个端口访问
目标区域:选lan
内部IP地址:任意
内部端口:emby映射端口

通信规则:
名称:随意
协议:TCP+UDP
源区域:选拨号上网的WAN
源地址:不用管
源端口:不用管
目标区域:设备(输入)
目标地址:不用管
目标端口:emby映射端口,后续通过这个端口访问
操作:接受

旁路由设置

因为我是旁路由搭建的,经测试发现只要主路由防火墙放开端口即可访问,所以下面都是在主路由设置的

主路由Padavan设置

打开高级设置-自定义设置-在防火墙规则启动后执行:logger -t "【防火墙规则】" "脚本完成"前填入以下参数

1
2
3
ip6tables -A FORWARD -p tcp --dport 自定义端口 -j ACCEPT # Autobangumi
ip6tables -A FORWARD -p tcp --dport 自定义端口 -j ACCEPT # openlist
ip6tables -A FORWARD -p tcp --dport 自定义端口 -j ACCEPT # qbit

然后点击应用本页面设置,这时候没有意外的话在浏览器输入http://[路由器的ipv6地址]:端口即可访问对应页面,最好是用手机流量访问测试能不能访问
PS:简单粗暴的把防火墙直接关了也不是不行但是不建议

总结

完成以上安装设置后,你的openwrt系统就具有自动下载订阅新番并上传网盘功能,并且可以通过公网ipv6地址在外面也能访问了!

注意事项

1、本教程为事后总结,可能有一些细节没写清楚,导致各种问题,请发挥自己的搜索能力和动手能力自己测试修改!
2、如果安装了openclash并使用了fakeip模式,请在覆写设置-DNS设置-Fake-IP-Filter里面填入ip.sb过滤掉,否则动态dns有可能获取的是代理ip,不建议使用meta内核,开了之后会导致有些页面无法访问,当然最好就是用REDIR-HOST没那么多坑
3、建议能用了之后备份,出问题也能直接恢复

打赏
打赏提示信息
分享
分享提示信息