https://fairysen.com/788.html
想象一下打开一个网页,点开搜索框输入想看的电影或者电视剧,只需要点一个按钮,过几分钟对应的高清资源就已经呈现在你的影视库中,刮削完毕,字幕配好,你可以随时在家里的大屏幕或手机的小屏幕上欣赏。上周花了两天时间研究了下这套自动化流程,之前一直是手动去 PT 站下载资源然后用 TinyMediaManager 整理文件并刮削元数据,这显然不够优雅。
我发现了三种实现这个流程的方案,并对这些方案进行了测试,并总结了它们各自的优缺点。最终,我选择了第一种方案,因为它是最成熟和完善的。需要注意的是,我使用 Firefox 浏览器容器来登录 PT 站点并获取 Cookie,你也可以用本地浏览器来实现,如非必要可以不装这个容器,比较占资源。
方案一
qBittorrent + Jackett + Radarr & Sonarr + ChineseSubFinder + Jellyfin + Jellyseerr
说明
qBittorent没什么好说的,一个常用的 BT 下载器,同类的还有 Transmission。
Jackett
老牌资源索引器,用于对接 PT、BT 站搜索资源,对于 PT 站支持较好;同类的还可选 Prowlarr,但是对 PT 站支持一般,比如 M-Team 站在 Jackett 上可以成功添加但在 Prowlarr 添加失败(2022-07-24),优点是支持中文,可以对接 Radarr 和 Sonarr 一键设置 Indexer,如果你同时使用大量的 Indexer,使用上会方便很多。
Radarr/Sonarr
Radarr/Sonarr,一个负责电影,一个负责剧集(电视剧和番剧),是整套系统能够全自动的关键。可以自动整合资源索引器和下载器,当找到了资源时,自动推送到下载器中下载资源;当下载完成时,自动刮削供影视库使用并调用 API 来更新影视库内容,支持配置信息通知。
ChineseSubFinder
字幕下载器,网上的资源很多并不自带中文字幕,当资源下载完毕后,中文字幕会根据资源的名称自动匹配并下载下来,同类还有 Bazarr。
Jellyfin
完全免费的影视库,提供了解析资源文件/文件夹,利用 IMDB/TMDB/TVDB 等影视索引网站索引你的本地资源(即刮削),并播放的功能。同类的还有 Emby、Plex、Kodi,除了 Kodi 另外两个影视库部分功能需要付费才可使用。本地播放推荐 Kodi,苹果全家桶用户强烈推荐 Infuse(需要付费订阅但不贵)。
Jellyseerr/Overserr
整合了 Radarr/Sonarr 的搜索,提供了一个统一的搜索框,让你不用关心到底是 Sonarr 还是 Radarr 负责这类资源,你只需要提供个名字就好。同时还整合了影视库,让你知道什么样的资源已经在库中,而且界面美观易上手。Jellyseerr/Overserr 本质是一样的,只是 Jellyseerr 对接的是 Jellyfin,Overserr 对接的是 Plex,同类的还可选 Ombi(适合 Emby/Plex)。
分析
优点:
免费开源,方案成熟度高,拥有较多插件的对接支持
搜索界面美观易用,支持手机 APP 管理(Radarr & Sonarr Companion / LunaSea / nzb360),可以同步影音库账号
刮削体验优秀,电影刮削对中文支持友好,支持自动中文重命名和资源整理
可以实现对资源的监控,自动追番追剧,自动下载和高画质升级
支持中文字幕的自动下载
缺点:
剧集刮削对于国产剧和番剧支持不好,剧集 INFO 信息和资源整理不支持中文(可以仅开启 Sonarr 的资源整理,让影音库刮削信息),Sonarr WebUI 不支持中文
对于 PT 站的支持一般,主要是命名不符合 Sonarr 的规范,如果资源标题中没有季信息,就无法识别匹配资源,所以下载剧集时基本什么都搜不到,添加多个 BT 站可以缓解
对于老剧老番支持一般,因为资源主要是来源于 BT 站,比较老的剧集由于没人保种,质量参差不齐,可以手动下载后再导入 Sonarr 自动整理
剧集分季不符合国人习惯,Sonarr 的剧集元数据是从 TVDB 拉取的,例如国内【全职猎人 2011】只分为一季,在 Sonarr 上分成了三季
部署
部署教程网上部署教程很多,我这里不做赘述,仅提供 docker-compose 配置文件
https://leishi.io/blog/posts/2021-12/home-nas-media-center/
问题参考
硬链接配置
Sonarr 高级整理
Radarr 重命名文件夹和文件为中文
添加代理
配置文件
version: '3'
services:
# 资源下载器
# qBittorrent: https://hub.docker.com/r/linuxserver/qbittorrent
qbittorrent:
image: linuxserver/qbittorrent:latest
container_name: qbittorrent
hostname: qbittorrent
restart: always
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
- WEBUI_PORT=6080
ports:
- 6080:6080
- 56881:56881
- 56881:56881/udp
volumes:
- ./qbittorrent/config:/config
- /volume1/video:/video # 影音&下载根目录
# 资源索引器
# Jackett: https://hub.docker.com/r/linuxserver/jackett
jackett:
image: linuxserver/jackett:latest
container_name: jackett
hostname: jackett
restart: always
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
- AUTO_UPDATE=true
ports:
- 9117:9117
volumes:
- ./jackett/config:/config
# 资源索引器
# Prowlarr: https://hub.docker.com/r/linuxserver/prowlarr
# prowlarr:
# image: linuxserver/prowlarr:develop
# container_name: prowlarr
# hostname: prowlarr
# restart: always
# environment:
# - PUID=1026
# - PGID=101
# - TZ=Asia/Shanghai
# ports:
# - 9696:9696
# volumes:
# - ./prowlarr/config:/config
# 资源索引器插件(解决 CloudFlare 5秒盾)
# FlareSolverr: https://hub.docker.com/r/flaresolverr/flaresolverr
flaresolverr:
image: flaresolverr/flaresolverr:latest
container_name: flaresolverr
hostname: flaresolverr
restart: always
environment:
- TZ=Asia/Shanghai
- LOG_LEVEL=info
# 火狐浏览器(可以不装)
# Firefox: https://hub.docker.com/r/fogforest/firefox
firefox:
image: fogforest/firefox:latest
container_name: firefox
hostname: firefox
restart: always
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
ports:
- 3005:3000
volumes:
- ./firefox/config:/config
shm_size: "1gb"
# 资源刮削器(电影)
# Radarr: https://hub.docker.com/r/linuxserver/radarr
radarr:
image: linuxserver/radarr:latest
container_name: radarr
hostname: radarr
restart: always
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
ports:
- 7878:7878
volumes:
- ./radarr/config:/config
- /volume1/video:/video # 影音&下载根目录
# 资源刮削器(电视剧&番剧)
# Sonarr: https://hub.docker.com/r/linuxserver/sonarr
sonarr:
image: linuxserver/sonarr:latest
container_name: sonarr
hostname: sonarr
restart: always
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
ports:
- 8989:8989
volumes:
- ./sonarr/config:/config
- /volume1/video:/video # 影音&下载根目录
# 字幕刮削器
# ChineseSubFinder: https://hub.docker.com/r/allanpk716/chinesesubfinder
chinesesubfinder:
image: allanpk716/chinesesubfinder:latest
container_name: chinesesubfinder
hostname: chinesesubfinder
restart: always
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
- PERMS=true
- UMASK=022
ports:
- 19035:19035
- 19037:19037
volumes:
- ./chinesesubfinder/config:/config
- /volume1/video:/media # 影音&下载根目录
# 影音库
# Jellyfin: https://hub.docker.com/r/nyanmisaka/jellyfin
jellyfin:
image: nyanmisaka/jellyfin:latest
container_name: jellyfin
hostname: jellyfin
restart: always
devices:
- /dev/dri:/dev/dri
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
ports:
- 8096:8096
volumes:
- ./jellyfin/config:/config
- /volume1/video:/media # 影音&下载根目录
# 资源聚合搜索
# Jellyseerr: https://hub.docker.com/r/fallenbagel/jellyseerr
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
hostname: jellyseerr
restart: always
environment:
- TZ=Asia/Shanghai
- LOG_LEVEL=debug
ports:
- 5055:5055
volumes:
- ./jellyseerr/config:/app/config
watchtower:
image: containrrr/watchtower:latest
container_name: watchtower
hostname: watchtower
restart: always
command: -c -s "0 3 * * *"
environment:
- TZ=Asia/Shanghai
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
default:
driver: bridge
name: video_net
方案二
qBittorrent + Jackett + NASTool + ChineseSubFinder + Jellyfin
说明
NASTool媒体库资源归集整理工具,替代了方案一的 Radarr & Sonarr,由国人开发对中文支持很好
分析
优点:
开源免费,版本迭代很快,有现成的群晖套件,部署相对简单
对 PT 站非常友好,支持自动登录保号签到,聚合资源搜索匹配,支持限制做种时间
专为中文环境优化,支持国产剧集和动漫,重命名和刮削准确率高,剧集分季符合国人习惯,支持细化分类,高质量文件自动覆盖
支持与豆瓣联动,在豆瓣中标记想看后台自动检索下载,未出全的自动加入订阅,资源自动实时追新
支持 ServerChan、微信、Telegram、Bark 等图文消息通知,符合国内网络环境,支持通过微信、Telegram 远程控制订阅和下载
支持对接 Emby/Jellyfin/Plex,通知播放状态
缺点:
不支持对接 Jellyseerr/Overserr,期待后续更新
可能存在一些影响体验的小 BUG(2022-07-24)
部署
部署教程作者提供了部署文档和视频教程
https://github.com/jxxghp/nas-tools/wiki
配置文件
version: '3'
services:
# 资源下载器
# qBittorrent: https://hub.docker.com/r/linuxserver/qbittorrent
qbittorrent:
image: linuxserver/qbittorrent:latest
container_name: qbittorrent
hostname: qbittorrent
restart: always
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
- WEBUI_PORT=6080
ports:
- 6080:6080
- 56881:56881
- 56881:56881/udp
volumes:
- ./qbittorrent/config:/config
- /volume1/video:/video # 影音&下载根目录
# 资源索引器
# Jackett: https://hub.docker.com/r/linuxserver/jackett
jackett:
image: linuxserver/jackett:latest
container_name: jackett
hostname: jackett
restart: always
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
- AUTO_UPDATE=true
ports:
- 9117:9117
volumes:
- ./jackett/config:/config
# 资源索引器插件(解决 CloudFlare 5秒盾)
# FlareSolverr: https://hub.docker.com/r/flaresolverr/flaresolverr
flaresolverr:
image: flaresolverr/flaresolverr:latest
container_name: flaresolverr
hostname: flaresolverr
restart: always
environment:
- TZ=Asia/Shanghai
- LOG_LEVEL=info
# 资源刮削归集整理
# NASTool: https://github.com/jxxghp/nas-tools/wiki
nastools:
image: jxxghp/nas-tools:latest
container_name: nastools
hostname: nastools
restart: always
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
- UMASK=022
ports:
- 3010:3000
volumes:
- ./nastools/config:/config
- /volume1/video:/video # 影音&下载根目录
# 字幕刮削器
# ChineseSubFinder: https://hub.docker.com/r/allanpk716/chinesesubfinder
chinesesubfinder:
image: allanpk716/chinesesubfinder:latest
container_name: chinesesubfinder
hostname: chinesesubfinder
restart: always
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
- PERMS=true
- UMASK=022
ports:
- 19035:19035
- 19037:19037
volumes:
- ./chinesesubfinder/config:/config
- /volume1/video:/media # 影音&下载根目录
# 影音库
# Jellyfin: https://hub.docker.com/r/nyanmisaka/jellyfin
jellyfin:
image: nyanmisaka/jellyfin:latest
container_name: jellyfin
hostname: jellyfin
restart: always
devices:
- /dev/dri:/dev/dri
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
ports:
- 8096:8096
volumes:
- ./jellyfin/config:/config
- /volume1/video:/media # 影音&下载根目录
watchtower:
image: containrrr/watchtower:latest
container_name: watchtower
hostname: watchtower
restart: always
command: -c -s "0 3 * * *"
environment:
- TZ=Asia/Shanghai
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
default:
driver: bridge
name: video_net
方案三
qBittorrent + Movie Robot + ChineseSubFinder + Jellyfin
说明
Movie Robot
分析
优点:
几乎拥有方案二的所有优点,支持智能订阅下载,个人感觉 WebUI 比 NASTool 好看点
支持 Emby\Jellyfin 影音库的深度删除,支持中文演员刮削
多用户多种渠道均支持订阅,支持对接 Jellyseerr/Overserr
设置简单,对 PT 用户友好,无需 Jackett,支持绝大多数站点的对接和养护
缺点:
闭源收费,开始是开源的,后来闭源开启捐赠(128 元),目前涨价成 168 元(2022-07-24)
部署
部署教程参考官方提供的 Wiki 文档即可
https://yee329.notion.site/yee329/Movie-Robot-Wiki-9abef8c648c840fca47a0bf308957f85
配置文件
version: '3'
services:
# 资源下载器
# qBittorrent: https://hub.docker.com/r/linuxserver/qbittorrent
qbittorrent:
image: linuxserver/qbittorrent:latest
container_name: qbittorrent
hostname: qbittorrent
restart: always
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
- WEBUI_PORT=6080
ports:
- 6080:6080
- 56881:56881
- 56881:56881/udp
volumes:
- ./qbittorrent/config:/config
- /volume1/video:/video # 影音&下载根目录
# 资源索引器
# Jackett: https://hub.docker.com/r/linuxserver/jackett
jackett:
image: linuxserver/jackett:latest
container_name: jackett
hostname: jackett
restart: always
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
- AUTO_UPDATE=true
ports:
- 9117:9117
volumes:
- ./jackett/config:/config
# 资源索引器插件(解决 CloudFlare 5秒盾)
# FlareSolverr: https://hub.docker.com/r/flaresolverr/flaresolverr
flaresolverr:
image: flaresolverr/flaresolverr:latest
container_name: flaresolverr
hostname: flaresolverr
restart: always
environment:
- TZ=Asia/Shanghai
- LOG_LEVEL=info
# 资源刮削归集整理
# Movie Robot: https://github.com/pofey/movie_robot
movie_robot:
image: yipengfei/movie-robot:latest
container_name: movie_robot
hostname: movie_robot
restart: always
environment:
- TZ=Asia/Shanghai
- LICENSE_KEY=KoRxhz1z6QhzXvowb8Kp4q6wRa0klzVjUaT9qcQZbjHt8GzSOeZbd8DRMW4HX4psMwnDYiWgh8bigjc56OaiqzKR9gnHmSGJYbcdmoE7hlDPfjs4HVZdxdOVHFdCAL1v # 试用Key
ports:
- 1329:1329
volumes:
- ./movie-robot/data:/data
- /volume1/video:/video # 影音&下载根目录
# 字幕刮削器
# ChineseSubFinder: https://hub.docker.com/r/allanpk716/chinesesubfinder
chinesesubfinder:
image: allanpk716/chinesesubfinder:latest
container_name: chinesesubfinder
hostname: chinesesubfinder
restart: always
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
- PERMS=true
- UMASK=022
ports:
- 19035:19035
- 19037:19037
volumes:
- ./chinesesubfinder/config:/config
- /volume1/video:/media # 影音&下载根目录
# 影音库
# Jellyfin: https://hub.docker.com/r/nyanmisaka/jellyfin
jellyfin:
image: nyanmisaka/jellyfin:latest
container_name: jellyfin
hostname: jellyfin
restart: always
devices:
- /dev/dri:/dev/dri
environment:
- PUID=1026
- PGID=101
- TZ=Asia/Shanghai
ports:
- 8096:8096
volumes:
- ./jellyfin/config:/config
- /volume1/video:/media # 影音&下载根目录
watchtower:
image: containrrr/watchtower:latest
container_name: watchtower
hostname: watchtower
restart: always
command: -c -s "0 3 * * *"
environment:
- TZ=Asia/Shanghai
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
default:
driver: bridge
name: video_net
补充说明
网络
网络访问不通畅的可以用小猫咪,懂的用,不懂的请勿操作
version: '3'
services:
***:
image: dreamacro/***-premium
container_name: ***
hostname: ***
restart: always
environment:
- TZ=Asia/Shanghai
ports:
- 7890:7890 # http
- 7891:7891 # sock5
- 9090:9090 # rest api
volumes:
- ./***/config:/root/.config/***
***_web:
image: haishanh/yacd
container_name: ***_web
hostname: ***_web
restart: always
environment:
- TZ=Asia/Shanghai
ports:
- 80:80
depends_on:
- ***
BT 站
要想资源质量高下载快,建议去寻找高质量的 PT 站
BitTorrent Tracker 列表:XIU2/TrackersListCollection
网站
地址
类型
萌番组
https://bangumi.moe/
动漫
蜜柑计划
https://mikanani.me/
动漫
动漫花园
https://dmhy.org/
动漫
漫猫动漫
http://www.comicat.org/
动漫
ACG.RIP
https://acg.rip/
动漫
Nyaa.si
https://nyaa.si/
动漫
EZTV
https://eztv.re/
综合
RARBG
https://rargb.to/
综合
海盗湾
https://thepiratebay.org/
综合
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议