Ani-RSS 的工作原理和功能与 AutoBangumi非常类似,但是解决了不少AutoBangumi的痛点问题。作者超能肝,一天能发三四个版。(干翻 ab,ani-rss永存)
1. 前言
项目地址:https://github.com/wushuo894/ani-rss
官网:Ani-RSS
官方部署教程(推荐看看):快速开始
二次元狂喜!
2.部署(本文基于 Debian 12)
2.1 安装 docker
以下操作需要在 root 用户下完成,请使用 sudo -i
或 su root
切换到 root 用户进行操作。
首先,安装一些必要的软件包:
apt update
apt upgrade -y
apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates
然后加入 Docker 的 GPG 公钥和 apt 源:
Debian
curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
Ubuntu
curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
国内机器可以用清华 TUNA 的国内源:
Debian
curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
Ubuntu
curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
然后更新系统后即可安装 Docker CE 和 Docker Compose 插件:
apt update
apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
此时可以使用 docker version
命令检查是否安装成功:
2.2 安装 Docker Compose
因为我们已经安装了 docker-compose-plugin
,所以 Docker 目前已经自带 docker compose
命令,基本上可以替代 docker-compose
:
root@debian ~ # docker compose version
Docker Compose version v2.27.1
如果某些镜像或命令不兼容,则我们还可以单独安装 Docker Compose:
我们可以使用 Docker 官方发布的 Github 直接安装最新版本:
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
此时可以使用 docker-compose version
命令检查是否安装成功:
root@debian ~ # docker-compose version
Docker Compose version v2.27.1
2.3 修改 docker 配置
以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘 :
cat > /etc/docker/daemon.json << EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true
}
EOF
然后重启 Docker 服务:
systemctl restart docker
3. 部署 Ani-RSS
3.1 创建配置文件
mkdir -p /root/docker/ani-rss/config
也可以自己选择自己的下载目录,只需要和下面路径一致就可以
mkdir -p /root/docker/ani-rss/downloads (可选)
cd /docker/ani-rss
参数 | 作用 | 默认值 |
---|---|---|
PORT | 端口号 | 7789 |
CONFIG | 配置文件存放位置 | /config |
TZ | 时区 | Asia/Shanghai |
ps: 如果需要开启 文件已下载自动跳过 功能 请确保 qBittorrent 与本程序 docker 映射挂载路径一致
3.2 docker-compose.yaml 部署
强烈建议新开一个 qb 进行单独的下载操作,不要和其他项目占用的 qb 混用。
我这里提供一个镜像容器的地址吧。
swr.ap-southeast-1.myhuaweicloud.com/soyorin/ani-rss:latest
强烈推荐使用 qBittorrent。
创建docker-compose.yaml文件,内容如下:
vim docker-compose.yaml
services:
ani-rss:
container_name: ani-rss
volumes:
- /root/docker/ani-rss/config:/config
- /docker/ani-rss/downloads:/download # 下载的存储路径 需要和ani-rss保持一致
ports:
- 7789:7789
environment:
- PORT=7789
- CONFIG=/config
- TZ=Asia/Shanghai
restart: always
image: swr.ap-southeast-1.myhuaweicloud.com/soyorin/ani-rss:latest
qbittorrent:
image: swr.ap-southeast-1.myhuaweicloud.com/soyorin/qbittorrent:latest
container_name: qbittorrent-mikan
restart: always
tty: true
network_mode: bridge
hostname: qbitorrent
stop_grace_period: 10m
volumes:
- /docker/ani-rss/downloads:/download # 下载的存储路径 需要和ani-rss保持一致
tmpfs:
- /tmp
environment:
- QB_USERNAME=你的账户
- QB_PASSWORD=你的密码
- WEBUI_PORT=15768 #qb 的 web 端口
- BT_PORT=34567 # BT端口
- PUID=0
- PGID=0
ports:
- 15768:15768 # qb web 端口映射
- 34567:34567
- 34567:34567/udp
3.3 启动项目
docker compose up -d
查看是否成功
docker ps -a
4. 访问以及使用
默认 用户名: admin 密码: admin
访问上方 http:// ip: 7789 即可访问
4.1 修改密码
由于可以公网访问,所以修改我们的用户名与密码是必须的。其中 qbittorrent(在 docker-compose.yaml 里可以直接设置) 。Ani-RSS 的地址需要在 WEB-UI 中修改。
右上角-设置-登录设置
4.2 设置参考
4.2.1 连接设置参考
连接 qbittorrent,设置保存位置和存储方式。
都是字面意思,这里不再多解释,建议开启自动删除,拼音首字母。
保存位置需要和docker-compose.yaml 里设置的容器内部一致。
注意 设置里的地址不要末尾不要加/
自动删除已完成任务
当下载器中已下载并完成做种后删除任务,不会删除本地文件
同时下载数量限制
防止同时下载任务过多IO爆炸导致qb卡死
强烈建议视性能设置, 推荐 1-2
拼音首字母
用于整理番剧到A-Z文件夹中 如:
.
├── #
│ └── 【我推的孩子】
│ └── Season 2
│ ├── 【我推的孩子】 S02E12.mkv
│ ├── 【我推的孩子】 S02E13.mkv
│ ├── 【我推的孩子】 S02E14.mkv
│ ├── 【我推的孩子】 S02E15.mkv
│ ├── 【我推的孩子】 S02E16.mkv
│ ├── 【我推的孩子】 S02E17.mkv
│ ├── 【我推的孩子】 S02E18.mkv
│ ├── 【我推的孩子】 S02E19.mkv
│ └── 【我推的孩子】 S02E20.mkv
├── B
│ ├── 不时用俄语小声说真心话的邻桌艾莉同学
│ │ └── Season 1
│ │ ├── 不时用俄语小声说真心话的邻桌艾莉同学 S01E01.mp4
│ │ ├── 不时用俄语小声说真心话的邻桌艾莉同学 S01E02.mp4
│ │ ├── 不时用俄语小声说真心话的邻桌艾莉同学 S01E03.mp4
│ │ ├── 不时用俄语小声说真心话的邻桌艾莉同学 S01E04.mp4
│ │ ├── 不时用俄语小声说真心话的邻桌艾莉同学 S01E05.mp4
│ │ ├── 不时用俄语小声说真心话的邻桌艾莉同学 S01E06.mp4
│ │ ├── 不时用俄语小声说真心话的邻桌艾莉同学 S01E07.mp4
│ │ ├── 不时用俄语小声说真心话的邻桌艾莉同学 S01E08.mp4
│ │ ├── 不时用俄语小声说真心话的邻桌艾莉同学 S01E09.mp4
│ │ └── 不时用俄语小声说真心话的邻桌艾莉同学 S01E10.mp4
│ └── 败犬女主太多了!
│ └── Season 1
│ ├── 败犬女主太多了! S01E01.mp4
│ ├── 败犬女主太多了! S01E02.mkv
│ ├── 败犬女主太多了! S01E03.mkv
│ ├── 败犬女主太多了! S01E04.mkv
│ ├── 败犬女主太多了! S01E05.mkv
│ ├── 败犬女主太多了! S01E06.mkv
│ ├── 败犬女主太多了! S01E07.mkv
│ └── 败犬女主太多了! S01E08.mkv
设置参考
4.2.2 基础设置参考
RSS间隔(分钟)
RSS更新检查的间隔,单位 分钟
自动重命名
自动命名视频与字幕让其易于刮削
如:
2024-09-01 13:29:06.865 [rss-task-thread] INFO ani.rss.util.TorrentUtil - 添加下载 Wonderful 光之美少女! S01E31
2024-09-01 13:29:06.866 [rss-task-thread] INFO ani.rss.util.TorrentUtil - 下载种子 Wonderful 光之美少女! S01E31
2024-09-01 13:29:46.352 [rename-task-thread] INFO ani.rss.util.TorrentUtil - 重命名 [FLsnow][Wonderful_Precure!][31][1080P]/[FLsnow][Wonderful_Precure!][31][1080P].mkv ==> Wonderful 光之美少女! S01E31.mkv
2024-09-01 13:29:46.362 [rename-task-thread] INFO ani.rss.util.TorrentUtil - 重命名 [FLsnow][Wonderful_Precure!][31][1080P]/[FLsnow][Wonderful_Precure!][31][1080P].cht.ass ==> Wonderful 光之美少女! S01E31.cht.ass
2024-09-01 13:29:46.365 [rename-task-thread] INFO ani.rss.util.TorrentUtil - 重命名 [FLsnow][Wonderful_Precure!][31][1080P]/[FLsnow][Wonderful_Precure!][31][1080P].chs.ass ==> Wonderful 光之美少女! S01E31.chs.ass
2024-09-01 13:38:49.392 [rename-task-thread] INFO ani.rss.util.TorrentUtil - 删除已完成任务 Wonderful 光之美少女! S01E31
重命名间隔(分钟)
单位 分钟
自动跳过
自动检测季度文件夹下是否已经下载某集
支持的命名:
├─A
│ └─安达与岛村
│ ├─S1
│ │ 安达与岛村 S1E1.mp4
│ ├─S01
│ │ 安达与岛村 S01E02.mp4
│ ├─Season 1
│ │ S1E3.mp4
│ └─Season 01
│ S01E04.mp4
│ 安达与岛村(2020) S1E5.mp4
│ 安达与岛村(2020) S01E06.mp4
PS: 此选项 必须启用自动重命名。确保 下载工具 与 ani-rss 的 docker 映射挂载路径 保持一致
动推断剧集偏移
当添加RSS时会根据最小集数计算出集数偏移
如 无职转生 第二季 是从 第 0 集开始的 则自动识别偏移为 1
如 我推的孩子 第二季 有些字幕组是从第 12 集开始的 则自动识别偏移为 -11
主要看你的个人喜好决定是否开启
自动禁用订阅
根据 Bangumi 获取总集数 当所有集数都已下载时自动禁用该订阅
设置参考
4.2.3 全局排除设置
由于字幕组通常发布会连带好几个版本的,可以通过排除选择自己最喜欢的版本。
例如:
如果你不想下载繁日的版本,你可以在全局设置
当然你也可以对单独的番剧进行设置
4.3.4 TG通知设置
4.3.4.1 获取 Token
首先要去TG 的 BotFather
创建bot(跟着提示操作就好)
- 输入
/newbot
后回车它会回你以下内容Alright, a new bot. How are we going to call it? Please choose a name for your bot. - 这个名字是显示名称 (display name),不是唯一识别码,现在随便设置一下,之后可以通过
/setname
修改比如设置成Zhang san's sweety bot
- 接着会让你设置唯一名称。字符串必须 endsWith
bot
,比如abc_bot
或HelloWorldbot
都是合法的。如果你设置的名字已经被占用需要重新设置。比如你设置成了test_bot
Good. Now let’s choose a username for your bot. It must end inbot
. Like this, for example: TetrisBot or tetris_bot. - 恭喜!设置成功。会返回给你重要的 API token,务必要保存好它。另外你的 bot 的唯一 url 就已经生成:
https://t.me/test_bot
Done! Congratulations on your new bot. You will find it at t.me/test_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you’ve finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.Use this token to access the HTTP API:
12345678:sdfsfadsfasdfasdfasdfgdfhdfghfgh
Keep your token secure and store it safely, it can be used by anyone to control your bot.For a description of the Bot API, see this page: https://core.telegram.org/bots/api - 一些其他必要的命令
/setdescription
帮助你设置 bot 的描述/setuserpic
设置 bot 的头像。上传的图片 size 需要大于等于 150×150。而且上传图片需要选择压缩,不能上传文件!
4.3.4.2 获取 chatId
观察这个 url https://api.telegram.org/bot{token}/getUpdates
使用第二步获得的 token
替换上述 url 中的 {token}
然后得到新的 url,复制粘贴到浏览器地址栏,回车请求。不出意外你会得到如下 response
1234{
"ok": true,
"result": []
}
很好。这时你打开你的 bot,随便和它说一句话,比如给它发一句 “Hello World”,然后重新请求一遍上述的 url(替换过 token 的),然后浏览器调用 Ctrl + F 搜索 “id”:1 就能获取到 chatId
4.3.4.3 填入启用
点击测试,即可成功。
4.3.5 Bark 通知
4.3.5.1 部署 Bark
创建文件夹
mkdir -p /root/docker/bark
vim docker-compose.yaml
services:
bark-server:
image: finab/bark-server
container_name: bark-server
restart: always
volumes:
- ./data:/data
ports:
- "18999:8080"
之后输入 http://ip:8090/ping 访问了。如何有域名需求,自行设置反代。不做赘述
iOS
在 APP Store 里找到 Bark
打开 APP,默认指向了官方服务器 api.day.app,需要点右上角的 + 号来添加我们前面搭建的私有服务器:
输入你的 ip:端口测试连接并进行绑定
会显示不同内容的发送格式
# 推送内容
https://地址/Xy4ssdd2pARjLfFY/这里改成你自己的推送内容
# 推送标题
https://地址/Xy4ssdd2pARjLfFY/推送标题/这里改成你自己的推送内容
拿到地址后面类似 Xy4ssdd2pARjLfFY 一串数据就行。
填入Ani-RSS 就行。
4.4 如何洗版换源
通常我们追番讲究时效性,会选择Baha CR等片源,进而选择Ani进行订阅,但因为Baha是繁体也有翻译的问题,因此常常我们会优选高质量字幕组的作品进行入库整理。而Ani-RSS正好提供了该功能。
首先进行基础设置,打开备用RSS按钮,关闭自动跳过功能。
然后找到你当前订阅的番剧,设置字幕组的版本为主RSS,ANI等Baha等追番流媒体设置为备用RSS。
添加方式和 之前主RSS一致,选择Ani就行。
添加成功后,可以查看预览。这样当番剧更新,第一时间会从备用RSS进行下载,保证第一时间追番。当主RSS字幕组更新后,会将备用RSS的版本删除,将主RSS的版本入库整理。
5. 如果你是懒狗
参照 猫猫Emby服食用指南 向我申请。
穷人希望能支持下RRS推送到115网盘离线下载,穷人买不起NAS没有空间来支持RSS订阅下载到本地空间,现在市面上没有找到软件有这个功能,唯一接近的功能就是NasTool里面使用了115下载器了。但是由于这类软件特定的风险原因。导致原作者断更。但是不管是那款软件订阅,都得使用下载器下载到本地。目前Alist挂载网盘也是支持手动离线(它是开源的)。当然了,这只是一个路过的酱油的请求。游客动动嘴,作者跑断腿的情况肯定那是不存在的。如果功能设计上比较麻烦的话就当我没说过。
不建议
直接订阅推送到网盘,对于没有nas的人来说,很需要这项功能
可以支持合集的下载吗,有些字幕组发个2集的合集就不下载了
因为有的字幕组会中途弃坑,比较建议 一部番剧统一一个字幕组效果比较好
主要是宝可梦地平线几个字幕组多集连播会发个合集,用这个就不下载了,能不能给个选项起码可以开关选下不下合集啊
请问作者有考虑过支持无字幕的raw吗?比如说nyaa上的资源
请问这个程序是否可以自动甄别集数呀?比如说这个字幕组出了3个不同的流媒体,但都是同一集。是否可以直接筛选码率高的,而不是全部下载?
请问qb下载时只能下载到服务器本地目录而不能下载到rclone挂载的Googledrive该怎么解决?下载到挂载盘就提示错误😫
问一下作者在NAS上用Ani下载完以后一般咋同步到云(比如AWS S3 Bucket)上面?是要手动整嘛。我既下动漫又下电影电视剧,一个电影经常50G左右,我的NAS是Mac Mini,接的4盘位raid硬盘阵列全装的20TB WD Red Pro都快放不下了,毕竟不太敢开raid 0,用的是raid 1。但是存储到云而不是本地的话好像plex又没办法提供串流了,纠结
太棒了!干翻 ab,ani-rss永存!希望不要学ab作者!
感谢作者,跟着文章弄成功了