喜歡這個應用程式嗎?感謝您給它⭐️
德克盧塔爾
目錄
- 概述
- 依賴項、提示和常見問題解答
- 入門
- 設定說明
- 製作人員
- 免責聲明
概述
Decluttarr 讓雷達、聲納、光達、讀取和 Whisparr 佇列免於停滯/冗餘下載
功能概述:
- 自動刪除卡住下載元資料的下載(並觸發從其他來源下載)
- 自動刪除失敗的下載(並觸發從其他來源的下載)
- 自動刪除屬於radar/sonarr/等的下載。在此期間已刪除的項目(「孤立下載」)
- 在發現連續多次停止下載後自動刪除停止的下載(並觸發從另一個來源的下載)
- 在連續多次發現慢速下載後自動刪除慢速下載(並觸發從其他來源下載)
- 自動刪除屬於radar/sonarr/等的下載。不受監控的項目
- 自動刪除匯入失敗的下載,因為它們不是格式升級(即已經存在更好的版本)
您可以透過啟動 main.py 或拉取 docker 映像來在本機上運行它。您可以在 docker 資料夾中找到範例 docker-compose.yml。
依賴項、提示和常見問題解答
- 使用 Sonarr v4 和 Radarr v5(目前為「每晚」標籤而非「最新」),否則某些功能可能無法正常運作
- 建議使用 qBittorrent,但不是必需的。如果您不使用 qBittorrent,您將遇到以下限制:
- 當偵測到慢速下載時,將使用 *arr 應用程式提供的速度,這比 qBittorrent 直接查詢時返回的速度不太準確
- 允許保護下載不被刪除的功能 (NO_STALLED_REMOVAL_QBIT_TAG) 不起作用
- 忽略私人追蹤器的功能不起作用
- 如果您看到奇怪的錯誤,例如“發現 10 / 3 次”,請考慮打開“抓取時拒絕阻止列出的 Torrent 哈希”設定。在夜間Radarr/Sonarr/Readarr/Lidarr/Whisparr 上,該選項位於每個索引器的高級選項中的設定/索引器下,在Prowlarr 上,該選項位於設定/應用程式下,然後是相應應用程式的進階設定
- 當損壞的種子被刪除時,屬於它們的檔案也會被刪除
- 在所有刪除類型中:由radar/sonarr/lidarr/readarr/whisparr(如果可用)自動新增來自其他來源的新下載
- 如果您使用 qBittorrent 並且沒有任何 torrent 被刪除,並且詳細日誌表明所有 torrent 都受到 NO_STALLED_REMOVAL_QBIT_TAG 的保護,即使它們沒有受到保護,您可能使用的 qBittorrent 版本在 API 呼叫方面存在問題,您可能需要考慮切換到不同的qBit 影像(參見#56)
- 目前,“*Arr”應用程式僅支援英語。有關更多詳細信息,請參閱問題 #132
- 如果您遇到 yaml 問題,請檢查已關閉的問題。有不同的表示法,很可能您發現的問題已經在其中一個問題中解決。一旦你解決了你的問題,請隨時發布你的 yaml 來幫助其他人:#173
- declutarr 僅支援單一雷達/聲納實例。如果您有這些 *arrs 的多個實例,解決方案是同時執行多個 decluclutarrs
入門
有兩種方法可以運行它:
- 作為帶有 docker-compose 的 docker 容器
- 透過克隆存儲庫並手動運行腳本
下面解釋了這兩種方式,並且下面有對不同設定的解釋
方法一:Docker
- 製作
docker-compose.yml
文件 - 使用以下內容作為基礎,並根據您的需求調整設置
version: "3.3"
services:
decluttarr:
image: ghcr.io/manimatter/decluttarr:latest
container_name: decluttarr
restart: always
environment:
TZ=Europe/Zurich
PUID=1000
PGID=1000
## General
# TEST_RUN=True
# SSL_VERIFICATION=False
LOG_LEVEL: INFO
## Features
REMOVE_TIMER: 10
REMOVE_FAILED: True
REMOVE_FAILED_IMPORTS: True
REMOVE_METADATA_MISSING: True
REMOVE_MISSING_FILES: True
REMOVE_ORPHANS: True
REMOVE_SLOW: True
REMOVE_STALLED: True
REMOVE_UNMONITORED: True
RUN_PERIODIC_RESCANS: '
{
"SONARR": {"MISSING": true, "CUTOFF_UNMET": true, "MAX_CONCURRENT_SCANS": 3, "MIN_DAYS_BEFORE_RESCAN": 7},
"RADARR": {"MISSING": true, "CUTOFF_UNMET": true, "MAX_CONCURRENT_SCANS": 3, "MIN_DAYS_BEFORE_RESCAN": 7}
}'
# Feature Settings
PERMITTED_ATTEMPTS: 3
NO_STALLED_REMOVAL_QBIT_TAG: Don't Kill
REMOVE_SLOW: True
MIN_DOWNLOAD_SPEED: 100
FAILED_IMPORT_MESSAGE_PATTERNS: '
[
"Not a Custom Format upgrade for existing",
"Not an upgrade for existing"
]'
## Radarr
RADARR_URL: http://radarr:7878
RADARR_KEY: $RADARR_API_KEY
## Sonarr
SONARR_URL: http://sonarr:8989
SONARR_KEY: $SONARR_API_KEY
## Lidarr
LIDARR_URL=http://lidarr:8686
LIDARR_KEY=$LIDARR_API_KEY
## Readarr
READARR_URL=http://readarr:8787
READARR_KEY=$READARR_API_KEY
## Whisparr
WHISPARR_URL=http://whisparr:6969
WHISPARR_KEY=$WHISPARR_API_KEY
## qBitorrent
QBITTORRENT_URL: http://qbittorrent:8080
# QBITTORRENT_USERNAME=Your name
# QBITTORRENT_PASSWORD=Your password
- 在檔案所在目錄中執行
docker-compose up -d
建立 docker 容器 注意:始終拉取「最新」版本。 「dev」版本僅用於測試,僅在貢獻程式碼或支援錯誤修復時才應拉取
方法二:手動運行
- 使用
git clone -b main https://github.com/ManiMatter/decluttarr.git
- 將 config 資料夾內的
config.conf-Example
重新命名為config.conf
- 根據您的需求調整
config.conf
- 安裝 docker/requirements.txt 中所列的函式庫 (pip install -rrequirements.txt)
- 使用
python3 main.py
運行腳本 注意:透過 docker-compose.yml 運行時會忽略config.conf
設定說明
常規設定
配置應用程式的一般行為(跨所有功能)
日誌等級
- 設定進行日誌記錄的級別
INFO
將只顯示應用於 Radarr/sonarr/lidarr/readarr/whisparr 的變更VERBOSE
顯示正在執行的每項檢查,即使沒有應用任何更改DEBUG
顯示非常精細的信息,僅在調試時需要- 類型:字串
- 允許的值:CRITICAL、ERROR、WARNING、INFO、VERBOSE、DEBUG
- 是否強制:否(預設為 INFO)
測試運行
- 讓您可以安全地試用此工具。如果處於活動狀態,下載內容不會被刪除
- 類型:布林值
- 允許值:True、False
- 是否強制:否(預設為 False)
SSL_驗證
- 為所有 API 呼叫開啟或關閉 SSL 憑證驗證
True
表示 SSL 憑證驗證已開啟- 警告:請務必注意,停用 SSL 驗證可能會產生安全隱患,因為它會使系統容易受到中間人攻擊。只能在受控且安全的環境中進行,其中風險已充分理解和減輕
- 類型:布林值
- 允許值:True、False
- 是否強制:否(預設為 True)
功能設定
控制將哪種類型的清理應用於下載佇列
移除定時器
- 設定檢查佇列是否存在孤立下載和停滯下載的頻率
- 類型:整數
- 單位:分鐘
- 是否強制:否(預設為 10)
移除_失敗
- 控制是否從佇列中刪除沒有連線的失敗下載
- 這些下載不會添加到封鎖清單中 - 雷達/聲納/雷射雷達/readarr/whisparr(如果可用)會自動添加來自其他來源的新下載
- 類型:布林值
- 允許值:True、False
- 是否強制:否(預設為 False)
刪除_失敗_導入
- 控制匯入失敗的下載是否從佇列中刪除
- 例如,當已經存在更好的版本時,可能會發生這種情況
- 注意:僅當導入訊息包含 FAILED_IMPORT_MESSAGE_PATTERNS 上列出的警告時才認為導入失敗(見下文)
- 這些下載已新增至封鎖清單中
- 如果設定 IGNORE_PRIVATE_TRACKERS 為 true,且受影響的 torrent 是私人追蹤器,則佇列項目將被刪除,但 torrent 檔案將保留
- 類型:布林值
- 允許值:True、False
- 是否強制:否(預設為 False)
刪除元資料缺失
- 控制是否從佇列中刪除卡住獲取元資料的下載
- 這些下載被加入到封鎖清單中,這樣就不會被重新要求
- radar/sonarr/lidarr/readarr/whisparr(如果可用)會自動新增來自其他來源的新下載
- 類型:布林值
- 允許值:True、False
- 是否強制:否(預設為 False)
REMOVE_MISSING_FILES
- 控制是否從佇列中刪除帶有“檔案遺失”警告的下載
- 這些下載不會加入到封鎖清單中
- 類型:布林值
- 允許值:True、False
- 是否強制:否(預設為 False)
REMOVE_ORPHANS
- 控制是否從佇列中刪除孤立下載
- 孤立下載是那些不再屬於任何請求媒體的下載(因為下載開始後媒體已從radar/sonarr/lidarr/readarr/whisparr 中刪除)
- 這些下載不會加入到封鎖清單中
- 類型:布林值
- 允許值:True、False
- 是否強制:否(預設為 False)
移除_SLOW
- 控制是否從佇列中刪除緩慢的下載
- 緩慢下載將被添加到封鎖清單中,以便將來不會重新請求它們
- 注意:不適用於 usenet 下載(由於使用者為一定的速度付費,因此不應出現速度緩慢的情況)
- 類型:布林值
- 允許值:True、False
- 是否強制:否(預設為 False)
REMOVE_STALLED
- 控制是否從佇列中刪除沒有連接的停滯下載
- 這些下載被添加到封鎖清單中,以便將來不會再次要求它們
- 類型:布林值
- 允許值:True、False
- 是否強制:否(預設為 False)
REMOVE_UNMONITORED
- 控制是否從佇列中刪除屬於不受監控媒體的下載
- 注意:只有當依賴相同下載的所有電視節目均不受監控時,才會從佇列中刪除
- 這些下載不會加入到封鎖清單中
- 注意:由於 sonarr 不支援多季節包,因此如果您下載了一個包,您應該使用
NO_STALLED_REMOVAL_QBIT_TAG
來保護它,這將在下面進一步解釋 - 類型:布林值
- 允許值:True、False
- 是否強制:否(預設為 False)
RUN_PERIODIC_RESCANS
- 控制是否自動觸發對遺失或尚未達到截止值的項目的搜索
- 注意:目前只支援 Radarr/Sonarr(Lidarr 取決於:Lidarr/Lidarr#5084 / Readarr 取決於:Readarr/Readarr#3724)
- 類型:字典
- 是否強制:否(預設不自動觸發搜尋)
- “SONARR”/“RADARR”開啟對應實例的自動搜尋
- “MISSING”/“CUTOFF_UNMET”開啟自動搜尋那些想要的項目(預設為True)
- “MAX_CONCURRENT_SCANS”指定每次掃描中要搜尋的最大項目數。該值指示每次搜尋操作處理的項目數,該操作根據 REMOVE_TIMER 設定的時間間隔發生。
- 注意:限制是根據通緝名單決定的。因此,如果雷達和聲納都設定為自動搜索,無論是針對遺失的還是截止的未滿足項目,實際計數可能是 MAX_CONCURRENT_SCANS 的四倍
- 「MIN_DAYS_BEFORE_RESCAN」控制在考慮再次掃描某個項目之前需要經過的天數
- 注意:RUN_PERIODIC_RESCANS將始終搜尋那些搜尋時間最長的項目
RUN_PERIODIC_RESCANS: '
{
"SONARR": {"MISSING": true, "CUTOFF_UNMET": true, "MAX_CONCURRENT_SCANS": 3, "MIN_DAYS_BEFORE_RESCAN": 7},
"RADARR": {"MISSING": true, "CUTOFF_UNMET": true, "MAX_CONCURRENT_SCANS": 3, "MIN_DAYS_BEFORE_RESCAN": 7}
}'
有不同的 yaml 表示法,一些使用者建議使用以下替代表示法。如果您遇到問題,請先檢查已關閉的問題,然後再開啟新問題(例如,#173)
- RUN_PERIODIC_RESCANS=[
{
"SONARR":[{"MISSING":true, "CUTOFF_UNMET":true, "MAX_CONCURRENT_SCANS":3, "MIN_DAYS_BEFORE_RESCAN":7}],
"RADARR":[{"MISSING":true, "CUTOFF_UNMET":true, "MAX_CONCURRENT_SCANS":3, "MIN_DAYS_BEFORE_RESCAN":7}]
}
最低下載速度
- 設定活動下載的最低下載速度
- 如果兩次連續檢查之間下載檔案大小的增加小於此值,則下載被視為緩慢,並且如果發生次數超過允許的嘗試次數,則下載被刪除
- 類型:整數
- 單位:千位元組每秒
- 是否強制:否(預設為 100,但僅在「REMOVE_SLOW」為 true 時強制執行)
允許的_嘗試次數
- 定義在刪除元資料之前必須捕獲下載元資料被視為停止、緩慢或卡住的次數
- 類型:整數
- 單位:掃描次數
- 是否強制:否(預設為 3)
NO_STALLED_REMOVAL_QBIT_TAG
- qBittorrent 中標有此標籤的下載不會被刪除
- 當不使用 qBittorrent 作為 torrent 管理器時,此功能不可用
- 適用於所有類型的刪除(即 decluttarr 不會自動刪除任何內容)
- 注意:您可能需要嘗試“強制重新檢查”以手動備份並運行卡住的種子
- 標籤會在 qBittorrent 中自動建立(需要在
QBITTORRENT_URL
上可存取 qBittorrent) - 重要提示:還可以保護不受監控的下載不被刪除(與多季包相關)
- 類型:字串
- 是否強制:否(預設
Don't Kill
)
IGNORE_PRIVATE_TRACKERS
- 如果設定為 true,qBittorrent 中的私有 torrent 將不會從佇列中刪除
- 僅在使用 qBittorrent 時有效(不適用於傳輸等)
- 適用於所有類型的刪除(即 decluttarr 不會自動刪除任何內容);唯一的例外是 REMOVE_NO_FORMAT_UPGRADE,其中對於私人追蹤器,佇列項目被刪除(但 torrent 檔案已保留)
- 注意:您可能需要嘗試“強制重新檢查”以手動備份並運行卡住的種子
- 類型:布林值
- 允許值:True、False
- 是否強制:否(預設為 True)
FAILED_IMPORT_MESSAGE_PATTERNS
- 與 REMOVE_FAILED_IMPORTS 一起使用(僅當此設定為 true 時才相關)
- 定義模式,工具會根據這些模式來決定是否應將包含匯入警告的已完成下載視為失敗
- 如果佇列項目的訊息之一包含任何指定模式,則佇列項目被視為失敗
- 注意:如果留空(或未指定),則任何帶有警告的此類待處理導入均被視為失敗
- 類型:列表
- 建議值:[「不是現有的自訂格式升級」、「不是現有的升級」]
- 是否強制:否(預設為[],表示所有訊息均失敗)
雷達部分
定義應整理下載佇列的radarr實例
RADARR_URL
- 可以存取實例的 URL
- 如果沒有定義,則不會監控該實例
RADARR_KEY
聲納部分
定義應整理下載佇列的聲納實例
SONARR_URL
- 可以存取實例的 URL
- 如果沒有定義,則不會監控該實例
SONARR_KEY
光達部分
定義應整理下載佇列的光達實例
LIDARR_URL
- 可以存取實例的 URL
- 如果沒有定義,則不會監控該實例
光達_KEY
讀取部分
定義應整理下載佇列的 readarr 實例
READARR_URL
- 可以存取實例的 URL
- 如果沒有定義,則不會監控該實例
READAR_KEY
維斯帕爾區
定義whisparr實例,應在其上整理下載佇列
WHISPARR_URL
- 可以存取實例的 URL
- 如果沒有定義,則不會監控該實例
WHISPARR_KEY
qBittorrent 部分
定義與 qBittorrent 連接的設定如果使用不同的 torrent 管理器,請註解掉此部分(請參閱上面由此產生的功能限制)
QBITTORRENT_URL
- 可以存取實例的 URL
- 如果未定義,則 NO_STALLED_REMOVAL_QBIT_TAG 無效
QBITTORRENT_USERNAME
- 用於登入 qBittorrent 的用戶名
- 選修的;如果啟用了 qBittorrent 上的身份驗證繞過(例如本機連線),則不需要
QBITTORRENT_PASSWORD
- 用於登入 qBittorrent 的密碼
- 選修的;如果啟用了 qBittorrent 上的身份驗證繞過(例如本機連線),則不需要
製作人員
- 用於偵測停滯下載的腳本由 MattDGTL/sonarr-radarr-queue-cleaner 擴充程式碼
- 用於讀取透過syncarr/syncarr在程式碼上擴充的配置的腳本
- SONARR/RADARR 團隊和貢獻者在他們的 Discord 頻道中提供了出色的產品、API 文件和指導
- 特別感謝他們在 API 中添加了一個額外的標誌,允許此腳本檢測下載卡住查找元數據
- craggles17 用於手臂相容性
- Fxsch 改進文件/自述文件
免責聲明
該腳本不提供任何保證,您使用它的風險由您自行承擔