目標
- 自動下載新番種子
- 種子自動加入 Transmission 下載隊列
- 新番文件自動重命名到 Plex 兼容格式
- 通過 Plex AniDB agent 自動獲取新番相關信息
總結:基於 FlexGet 和 Transmission 的全自動追番方案
實現方法
- 通過 FlexGet 讀取 RSS,自動下載種子文件,通過正則自動剔除無效字符
- 通過 FlexGet 的 transmissionrpc 插件自動將種子傳送到 Transmission
- Transmission 下載完成後觸發腳本,自動將種子重命名為 Plex 可識別格式
- 通過 Plex 的第三方插件 Hama.bundle 自動獲取新番相關訊息
配料表
- 裝有 macOS 的電腦一部
- Plex
- Transmission
- FlexGet
配置 FlexGet(2021 版)
最新版本配置採用 FlexGet 內置的 manipulate 方法,對 RSS 直接修改為符合 Plex 查詢標準的文件名,避免了使用 Transmission 調用外掛腳本的方案,下面的正則可根據實際場景進行修改:
bangumi:
template: torrent
manipulate:
- title:
# remove underscores
replace:
regexp: '_'
format: ''
- title:
replace:
regexp: '★'
format: ''
- title:
extract: '^[\[【].*?[\]】](.*)'
- title:
replace:
regexp: '【'
format: '['
- title:
replace:
regexp: '】'
format: ']'
- title:
replace:
regexp: '】'
format: ']'
- title:
replace:
regexp: '(?:\[|【)(简体|簡體|繁体|繁體|简日双语|繁日雙語|GB|BIG5|MP4)(?:\]|】)'
format: ''
- title:
replace:
regexp: '(?:\[|【|第)(\d\d)(?:\]|】|話|话)'
# format: 's01e\1'
format: '\1'
- title:
# replace `][` to ` ` (space)
replace:
regexp: '\]\['
format: ' '
- title:
# remove leftover brackets
replace:
regexp: '[\[\]【】]'
format: ' '
- title:
replace:
regexp: '(?:.*字幕 (?: 组|組))'
format: ''
- title:
replace:
regexp: '\[(?:.+? 月新? 番)'
format: ''
set:
path: /Volumes/Gizur/Downloads/Anime/{{ series_name }}
content_filename: '{{ series_name }} - {{ series_id|pad(2) }}'
magnetization_timeout: 45
series:
- スーパーカブ:
alternate_name: 本田小狼與我 Super Cub
- ダイナ莊びより:
alternate_name: 恐龍日和
- 回復術士のやり直し 〜即死魔法とスキルコピーの超越ヒール〜:
配置 FlexGet(2013 版,無需再看)
FlexGet 的安裝方法和自動運行請參考參考 官方文檔,寫的很詳細
配置文件如下,要點在於 presets.global.transmission.path
,為了能讓 Plex 識別和方便管理,每一個動畫 要分別放在相應命名的目錄。其中 {{task}}
對應的就是 tasks
下的新番標題:
presets:
global:
accept_all: true
transmission:
host: localhost
port: 9091
addpaused: No
ratio: 0.01
removewhendone: Yes
path: "/Volumes/Backups HD/Anime/{{task}}/"
tasks:
WHITE ALBUM2:
rss: http://bt.ktxp.com/rss-search-%E6%BE%84%E7%A9%BA%E5%AD%A6%E5%9B%AD+%E7%99%BD%E8%89%B2%E7%9B%B8%E7%B0%BF+2+MP4+720p.xml
アウトブレイク・カンパニー:
rss: http://bt.ktxp.com/rss-search-%E6%BE%84%E7%A9%BA%E5%AD%A6%E5%9B%AD+%E8%90%8C%E8%90%8C%E4%BE%B5%E7%95%A5%E8%80%85+MP4+720p.xml
ガリレイドンナ:
rss: http://bt.ktxp.com/rss-search-%E6%BE%84%E7%A9%BA%E5%AD%A6%E5%9B%AD+%E4%BC%BD%E5%88%A9%E7%95%A5%E5%B0%91%E5%A5%B3+%E7%AE%80%E4%BD%93+MP4+720p.xml
キルラキル:
rss: http://bt.ktxp.com/rss-search-%E6%A5%B5%E5%BD%B1%E5%AD%97%E5%B9%95%E7%A4%BE+Kill+La+Kill+BIG5+MP4+720p.xml
京騒戯画:
rss: http://bt.ktxp.com/rss-search-WOLF+%E4%BA%AC%E9%AA%9A%E6%88%8F%E7%94%BB+GB+720P+MP4.xml
凪のあすから:
rss: http://bt.ktxp.com/rss-search-%E5%8B%95%E6%BC%AB%E5%9C%8B+%E4%BE%86%E8%87%AA%E9%A2%A8%E5%B9%B3%E6%B5%AA%E9%9D%9C%E7%9A%84%E6%98%8E%E5%A4%A9+720P+%E7%B9%81%E9%AB%94+MP4.xml
境界の彼方:
rss: http://bt.ktxp.com/rss-search-%E6%BE%84%E7%A9%BA%E5%AD%A6%E5%9B%AD+%E5%A2%83%E7%95%8C%E7%9A%84%E5%BD%BC%E6%96%B9+%E7%AE%80%E4%BD%93+MP4+720p.xml
夜桜四重奏 ~ハナノウタ~:
rss: http://bt.ktxp.com/rss-search-%E6%A5%B5%E5%BD%B1%E5%AD%97%E5%B9%95%E7%A4%BE+%E5%A4%9C%E6%AB%BB%E5%9B%9B%E9%87%8D%E5%A5%
配置 Transmission
如果使用了 2021 版的方案,請略過本段
Transmission 本身不需要進行過多配置,為了避免下載隊列越來越多,記得勾選下載完成後從隊列刪除這個選項。下面是其對應的 post-process 腳本:
#!/bin/sh
# Search all subdirectories
# Use rename -n for dry-run
cd /Volumes/Backups\ HD/Anime
find . -name '*.mp4' -print0 | xargs -0 /usr/local/bin/rename -f 's/\[(.*)\]\[(.*)\]\[(\d{2})\].*$/$2 - $3\.mp4/'
上述腳本會通過正則將 [Fansub][Title][Episode]*.mp4
這樣的格式替換為 Plex 可識別的 Title - Episode.mp4
格式,例如 [WOLF&HYSUB][Kyousougiga][00][GB][720P][MP4].mp4
就會被替換為 Kyousougiga - 00.mp4
配置 Plex w/ Hama Agent
注意!,已棄用 AniDB agent,改為 Hama Agent 。詳情請訪問最新文章:Hama (HTTP Anidb Metadata Agent) and Plex Media Server – 2014-04-09
訪問 Plex 論壇 下載 AniDB agent 并安裝,通過 Plex 的 web 界面進行管理即可
完成配置後可通過下列指令進行 dry run 測試:
flexget -c ~/.flexget/config.yml --test execute
以下是效果圖: