🚀 再戰 FlexGet!打造 24 小時全自動 BT 追劇下載機
🔥 一句話總結懶人包: 手動找種子下載已經落伍了!透過 FlexGet 這套超強大的自動化腳本工具,只要設定好一次,伺服器就會像個不知疲倦的數位管家,全天候自動幫你把最新的影集、電影通通抓回家!
最近我把手邊的伺服器系統全面改換成 💻 CentOS 6.5,畢竟 CentOS 6 系列已經相當穩定,而老舊的 5 系列只支援到 2017 年,真的是時候汰換升級了!剛好這次系統內建的 Python 環境已經原生升級到 ⚙️ Python 2.6.6,省去了我們手動編譯更新的麻煩手續,只要能讓 FlexGet 順利運作就行了 🤓。
但好死不死,這次剛好碰上 FlexGet 進行了全面大改版,🚨 舊版的設定檔格式已經完全不相容、無法再使用了! 系統會直接報錯罷工,所以只好摸摸鼻子,把設定檔重新研讀、重寫一遍 🤖🤓🤖。
💡 白話文教室:什麼是 FlexGet?它能幹嘛?
如果把 BT 下載軟體(像是 Transmission 或 qBittorrent)比喻成「負責搬貨的貨運司機」,那麼 FlexGet 就是你的 💯 專屬數位採購管家。以前你必須自己上網逛論壇、找種子檔、點擊下載;現在,你只要給 FlexGet 一份「採購清單」(各大影音論壇的 RSS 訂閱網址),它就會定時去各大網站巡邏。只要發現有符合你口味的新影集出爐,它就會自動把任務丟給貨運司機去載,你下班回家只要打開資料夾,影片就已經準備好在那裡了!
⚠️ 溫馨提醒: 科技日新月異,如果您使用的是較新的 Linux 發行版,請優先參考本站的最新版教學:
👉 2020年10月6日 – 三戰FlexGet(CentOS 8 與 Python 3.6.8 架設篇)
🛠️ 基礎建設:為管家準備工作環境
就像請管家來上班前,你得先幫他準備好辦公桌跟基本文具。因為 FlexGet 是由 Python 語言編寫的,所以我們得先把 Python 的執行環境和套件管理工具安裝到位。
-
❶ 安裝系統基本套件
先把 Python 的開發包和 SQLite 資料庫套件裝起來,這是讓系統能讀懂腳本的基石。
1yum install -y python-devel python-pip python-setuptools sqlite-devel -
❷ 升級 PiP 套件管理員
PiP 就像是 Python 專屬的「App Store 軟體應用商店」,為了避免安裝時出現各種靈異報錯,我們必須先把它更新到最新版。
1pip install -U pip && pip install -U setuptools -
❸ 正式安裝 FlexGet 主程式
基礎建設弄好後,只要一行指令,就能把我們的主角請進伺服器裡啦!
1pip install flexget
📜 核心靈魂:編寫 FlexGet 任務設定檔 (config.yml)
軟體裝好了,但這位管家現在還不知道你要抓什麼。我們必須建立一個名為 config.yml 的設定檔,這就像是給管家的 👌「標準作業程序 (SOP) 手冊」。裡面會清楚記載要去哪裡找檔案、抓到後要交給哪個軟體處理。
-
❹ 建立設定檔目錄與空檔案
123mkdir -p /root/.flexgettouch /root/.flexget/config.ymlvi /root/.flexget/config.yml
🚨 老司機警告:YAML 格式的縮排陷阱!
編寫 .yml 結尾的檔案時,⛔ 絕對不能用鍵盤的 Tab 鍵來縮排,必須乖乖使用「空白鍵 (Space)」!
YAML 的層級關係非常嚴格,只要多空一格或少空一格,程式就會看不懂而直接報錯罷工。
請參考以下的範例內容,將它貼入 config.yml 中並依據你的環境進行修改:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
tasks: CHD: rss: http://chdbits.org/torrentrss.php?rows=10&cat401=1&sta3=1&aud6=1&search=2013&search_mode=2&linktype=dl&passkey=ooxx accept_all: yes free_space: path: /usr/src/transmission space: 5168 transmission: host: localhost port: 5566 username: 填入Transmission設定檔中的rpc-username password: 填入Transmission設定檔中的rpc-password |
📊 FlexGet 設定檔參數白話文解析
| ⚙️ 參數名稱 | 📖 實際作用與白話分解 |
|---|---|
| tasks: | 所有任務的開頭宣告。告訴系統:「接下來我要交代任務清單囉!」 |
| CHD: | 這是你自己取的「任務名稱」,你可以隨便取,例如 Anime_Download。 |
| rss: | 🔑 關鍵採購清單! 填入各大 PT 站或 BT 論壇提供的 RSS 訂閱專屬網址。 |
| accept_all: | 設為 yes 表示「只要出現在這份清單上的東西,我全都要!」完全不挑食。 |
| free_space: | 硬碟空間的安全檢查機制。指定下載路徑與最小剩餘空間(例如 💾 5168 MB),避免把伺服器硬碟塞爆導致系統崩潰。 |
| transmission: | 指定要把抓到的種子檔交接給 Transmission 這套 BT 軟體,並確實填入登入用的 username 與 password。 |
🩺 驗收成果:測試與排程設定
-
❺ 測試 FlexGet 運作是否成功
SOP 手冊寫好之後,我們要先讓管家「彩排」一次,看看他有沒有看懂。使用 check 檢查設定檔語法,再用 –test 進行模擬執行(這個指令只會演習測試,不會真的下載東西)。
123flexget -Vflexget checkflexget --test execute如果畫面上跑出成功的提示,且沒有出現紅色的 ERROR,就代表大功告成啦 🤓!
-
❻ 定時排程:啟動自動化鬧鐘
最後一步,也是自動化的靈魂。我們要利用 Linux 系統內建的 crontab 功能,設定一個💯「隱形鬧鐘」。讓系統每 ⏱️ 10 分鐘 就把管家叫醒,去讀取一次 RSS 看有沒有新東西。進入排程編輯模式:
1crontab -e或者直接一鍵寫入排程內容(每 10 分鐘自動執行一次):
1crontab -l | { cat; echo "*/10 * * * * /usr/bin/flexget execute --cron"; } | crontab -
🧹 日常維護與延伸學習
-
❼ 日常更新 FlexGet
開源軟體會一直出新版來修復 Bug,未來只要想幫 FlexGet 升級,輸入以下指令即可:
12pip install -U flexgetflexget -V
💡 進階玩家看過來:
FlexGet 的威力遠不止於此,它還可以串接 IMDb 評分來決定要不要下載(例如低於 7 分的爛片拒抓)、過濾畫質(只抓 1080p 或 4K 版本)、甚至可以搭配 Telegram 機器人,在下載完成時傳訊息到手機通知你喔!
逆向行駛 最愛的最殘酷、最美的最虛無

