- 逆向行駛 - https://520.be/ -

三戰FlexGet(CentOS 8 with Python 3.6.8)

cyber-security-warning
/* ================================================================ 🎨 深色科技風專屬調色盤 (Dark Tech Palette) - CentOS 教學專用 ================================================================ */ .my-article { --bg-card: #242426; --bg-panel: #1e1e20; --bg-input: #2a2a2d; --bg-highlight: #171717; --text-main: #e0e0e0; --text-muted: #d0d0d8; --color-blue: #4dabf7; --color-yellow: #ffd43b; --color-orange: #ff922b; --color-green: #51cf66; --color-red: #ff6b6b; --border-light: #4a4a4d; --border-dark: #333333;

font-family: 'Microsoft JhengHei', 'Consolas', 'Verdana', 'Google Sans Flex', 'Cascadia Code', sans-serif; max-width: 900px; margin: 2rem auto; background-color: var(--bg-card); color: var(--text-main); line-height: 1.8; border-radius: 20px; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5); padding: 36px 40px 48px; border: 1px solid var(--border-light); }

/* 標題與分隔線 */ .my-article h1 { color: #ffffff; border-bottom: 2px solid #555; padding-bottom: 12px; font-size: 28px; line-height: 1.5; margin-bottom: 24px; font-weight: 700; text-align: center; } .my-article h2 { color: var(--color-yellow); margin-top: 50px; font-size: 24px; text-align: center; font-weight: 700; background: #1a1a1c; padding: 12px; border-radius: 8px; border: 1px solid #444; } .my-article h3 { color: var(--color-blue); font-size: 20px; margin-top: 24px; margin-bottom: 12px; font-weight: 700; border-left: 4px solid var(--color-blue); padding-left: 12px; }

/* 引用框 (Blockquotes) */ .my-article .quote-info { border-left: 4px solid #777; background: #1a1a1a; padding: 16px 20px; border-radius: 8px; color: #ddd; margin: 20px 0; box-shadow: inset 0 2px 8px rgba(0,0,0,0.2); } .my-article .quote-warn { border-left: 4px solid var(--color-orange); background: #1a1a1a; padding: 16px 20px; border-radius: 8px; color: #fff; margin: 20px 0; box-shadow: inset 0 2px 8px rgba(0,0,0,0.2); } .my-article .quote-focus { border-left: 4px solid var(--color-yellow); background: #1a1a1a; padding: 16px 20px; border-radius: 8px; color: #fff; margin: 20px 0; box-shadow: inset 0 2px 8px rgba(0,0,0,0.2); }

/* 清單 (Lists - 強制使用 ul 取代 ol) */ .my-article .step-list { list-style: none; padding-left: 0; margin-bottom: 20px; color: #e0e0e0; } .my-article .step-list li { margin-bottom: 24px; font-size: 16.5px; line-height: 1.7; } .my-article .feature-list { list-style: none; padding-left: 0; } .my-article .feature-list li { margin-bottom: 12px; color: #ccc; padding-left: 28px; position: relative; } .my-article .feature-list li::before { content: "✔️"; position: absolute; left: 0; top: 0; }

/* 表格 (Tables) */ .my-article .table-wrap { overflow-x: auto; margin: 30px 0; border-radius: 10px; border: 1px solid var(--border-dark); } .my-article table { width: 100%; min-width: 100%; border-collapse: collapse; text-align: left; font-size: 15px; word-break: break-word; } .my-article thead { background-color: #2a2a2a; color: var(--color-yellow); } .my-article th, .my-article td { padding: 14px 16px; border: 1px solid var(--border-dark); } .my-article tbody { background-color: #111111; color: var(--text-muted); } .my-article tbody tr:nth-child(even) { background-color: rgba(255, 255, 255, 0.04); } .my-article tbody tr:hover { background-color: rgba(77, 171, 247, 0.15); transition: 0.2s ease; }

/* 連結與分隔線 */ .my-article a { color: var(--color-blue); text-decoration: none; font-weight: 600; border-bottom: 1px solid transparent; transition: 0.2s; } .my-article a:hover { color: #7ac0ff; border-bottom-color: var(--color-blue); } .my-article hr { border: 0; border-top: 1px solid var(--border-dark); margin: 40px 0; } .my-article .divider-icon { text-align: center; font-size: 24px; margin: -25px 0 30px; letter-spacing: 10px; }

/* 手機版 RWD */ @media (max-width: 600px) { .my-article { padding: 20px 16px; margin: 1rem; border-radius: 16px; } .my-article h1 { font-size: 22px; } .my-article h2 { font-size: 20px; } .my-article .table-wrap { overflow-x: auto; } }

🚀 三戰 FlexGet!CentOS 8 升級 Python 3 後的 BT 全自動追劇管家調教指南

🔥 一句話總結: 隨著 CentOS 8 的普及與 Python 3 的全面接管,我們最愛的 BT 自動下載神器 FlexGet 也迎來了架構上的變動。本篇將帶你重新打通任督二脈,讓你的伺服器繼續擔任 24 小時不知疲倦的超級追劇管家!

老讀者們應該都知道,我過去曾寫過兩篇關於 FlexGet 的實戰文章:

時光飛逝,隨著 CentOS 8 釋出已經超過一年(目前版本已來到 8.2.2004),相信許多熱血的玩家都已經打算,或是早就把系統給升級了!🚀🚄🏎🐱‍👤

💡 白話文教室:為什麼升級 CentOS 8 就要「三戰」FlexGet?
你可以把升級伺服器作業系統,想像成「搬到全新的高科技智慧住宅」。而在新家裡,系統預設的溝通語言已經從舊版的 Python 2 全面升級為 Python 3。為了讓我們的「數位採購管家(FlexGet)」能聽懂新家的指令繼續幫我們全自動抓 BT 種子,我們必須重新幫他報名語言學校,更新套件並微調設定檔。這就是我們今天要進行的任務!

在開始動手之前,請先確保你已經完成以下 先備動作,如果還沒,可以回頭參考這些打底教學:


🟩 🟩 🟩

🛠️ 實戰環節:升級與環境建置

  • ❶ 更新 Python 3 並安裝 FlexGet 相依套件
    第一步,我們要幫新家的管家準備好最新的工具箱。Pip3 就像是 Python 專屬的「軟體應用商店」,我們透過它來取得最新版的 FlexGet 與資料庫套件。

  • ❷ 建立連結與配置 FlexGet 設定檔
    安裝完成後,我們要幫系統建立一個捷徑,讓它隨時找得到 FlexGet。接著建立專屬的設定檔 config.yml

🚨 老司機警告:YAML 格式的縮排陷阱!
在編寫 .yml 檔案時,絕對不能用 Tab 鍵來縮排,必須使用「空白鍵 (Space)」! 只要多空一格或少空一格,程式就會直接罷工報錯。

以下是 config.yml 的內容範例,請根據你的環境修改:

📊 設定檔參數白話文解析

⚙️ 參數名稱 📖 實際作用與白話分解
templates: 這是給管家的「通用標準作業程序 (SOP)」。定義好一次後,下方的任務就能重複套用。
free_space: 安全機制!確保指定路徑 /home/admin/web 還有大於 10240 MB 的硬碟空間,避免把伺服器塞爆。
transmission: 告訴 FlexGet 抓到種子後,要交給本機的 Transmission 軟體負責下載,需正確填寫 usernamepassword
tasks: (CHD) 這就是「日常採購清單」。rss 填入你要監控的種子論壇訂閱網址。
regexp: 🎯 精準過濾器:透過正規表示式,告訴管家只下載標題包含 CHD/HDC 且畫質為 1080p 的神級片源,其他雜魚一律略過!

🟦 🟦 🟦

🩺 驗收成果與自動化排程

  • ❸ 測試 FlexGet 運作是否成功
    SOP 寫好之後,我們要先讓管家進行一次「無風險的彩排」。先檢查語法,再進行模擬測試(不會真的下載檔案)。

    如果執行完畢後,畫面上出現 ACCEPTED 相關字眼,就代表測試成功,管家已經成功辨識並準備攔截種子囉 😉

    參考原圖:

  • ❹ 設定定時排程 (Cronjob)
    最後一步,我們要利用 Linux 系統的 crontab 功能,設定一個「隱形鬧鐘」。讓伺服器 每 10 分鐘 就自動喚醒 FlexGet,去各大論壇巡邏一次 RSS 看有沒有新片出爐。

🎉 大功告成! 從現在開始,你的 CentOS 8 伺服器已經完美結合 Python 3 版本的 FlexGet。你唯一要做的,就是下班回家打開播放器,享受管家幫你全自動抓好的 1080p 高畫質大片啦!📺