이 앱이 마음에 드시나요? ⭐️ 을(를) 제공해 주셔서 감사합니다.
디클루타르
목차
- 개요
- 종속성 및 힌트 및 FAQ
- 시작하기
- 설정 설명
- 크레딧
- 부인 성명
개요
Decluttarr는 레이더 및 소나르 및 Lidar 및 판독기 및 Whisparr 대기열을 정지/중복 다운로드 없이 유지합니다.
기능 개요:
- 메타데이터 다운로드가 중단된 다운로드를 자동으로 삭제합니다(및 다른 소스에서 다운로드 실행).
- 실패한 다운로드를 자동으로 삭제합니다(및 다른 소스에서 다운로드 실행).
- Radar/sonarr/etc에 속하는 다운로드를 자동으로 삭제합니다. 그동안 삭제된 항목('고아 다운로드')
- 여러 번 연속으로 중단된 것으로 확인된 후 중단된 다운로드를 자동으로 삭제합니다(& 다른 소스에서 다운로드 트리거).
- 느린 다운로드가 여러 번 연속으로 느린 것으로 확인되면 자동으로 삭제합니다(다른 소스에서 다운로드 실행).
- Radar/sonarr/etc에 속하는 다운로드를 자동으로 삭제합니다. 모니터링되지 않는 항목
- 형식 업그레이드가 아니기 때문에 가져오기에 실패한 다운로드를 자동으로 삭제합니다(즉, 더 나은 버전이 이미 존재함).
main.py를 실행하거나 docker 이미지를 가져와 로컬에서 실행할 수 있습니다. docker 폴더에서 샘플 docker-compose.yml을 찾을 수 있습니다.
종속성 및 힌트 및 FAQ
- Sonarr v4 및 Radarr v5(현재 '최신' 태그 대신 'nightly' 태그)를 사용하세요. 그렇지 않으면 특정 기능이 제대로 작동하지 않을 수 있습니다.
- qBittorrent는 권장되지만 필수는 아닙니다. qBittorrent를 사용하지 않으면 다음과 같은 제한 사항이 발생합니다.
- 느린 다운로드를 감지하면 *arr 앱에서 제공하는 속도가 사용됩니다. 이는 qBittorrent가 직접 쿼리할 때 반환하는 속도보다 정확도가 떨어집니다.
- 다운로드를 제거로부터 보호하는 기능(NO_STALLED_REMOVAL_QBIT_TAG)이 작동하지 않습니다.
- 개인 추적기를 무시하는 기능이 작동하지 않습니다
- "10/3번 발견됨"과 같은 이상한 오류가 표시되면 "잡는 동안 차단 목록에 있는 토렌트 해시 거부" 설정을 켜는 것이 좋습니다. 야간 Radarr/Sonarr/Readarr/Lidarr/Whisparr에서 옵션은 각 인덱서의 고급 옵션에 있는 설정/인덱서 아래에 있고, Prowlarr에서는 설정/앱 아래에 있으며 해당 앱의 고급 설정 아래에 있습니다.
- 깨진 토렌트가 제거되면 해당 토렌트에 속한 파일도 삭제됩니다.
- 모든 제거 유형에 걸쳐: 다른 소스로부터의 새로운 다운로드는 Radar/sonarr/lidarr/readarr/whisparr(사용 가능한 경우)에 의해 자동으로 추가됩니다.
- qBittorrent를 사용하는데 토렌트가 하나도 제거되지 않고 자세한 로그에 모든 토렌트가 NO_STALLED_REMOVAL_QBIT_TAG에 의해 보호된다고 나와 있는 경우, API 호출에 문제가 있는 qBittorrent 버전을 사용하고 있을 수 있으며 전환을 고려할 수 있습니다. 다른 qBit 이미지로 (#56 참조)
- 현재 '*Arr' 앱은 영어로만 지원됩니다. 자세한 내용은 이슈 #132를 참조하세요.
- yaml 문제가 발생하는 경우 닫힌 문제를 확인하세요. 다양한 표기법이 있으며, 발견한 문제가 문제 중 하나에서 이미 해결되었을 수도 있습니다. 문제를 파악한 후에는 여기에 다른 사람들을 도울 수 있도록 yaml을 자유롭게 게시하세요: #173
- delutarr는 단일 레이더/소나르 인스턴스만 지원합니다. 해당 *arr의 인스턴스가 여러 개 있는 경우 해결책은 여러 개의 deluclutarr도 실행하는 것입니다.
시작하기
이를 실행하는 방법에는 두 가지가 있습니다.
- docker-compose를 사용하는 도커 컨테이너로
- 저장소를 복제하고 스크립트를 수동으로 실행
두 가지 방법 모두 아래에 설명되어 있으며 그 아래에는 다양한 설정에 대한 설명이 있습니다.
방법 1: 도커
-
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" 버전은 테스트 전용이며 코드를 제공하거나 버그 수정을 지원할 때만 가져와야 합니다.
방법 2: 수동으로 실행
-
git clone -b main https://github.com/ManiMatter/decluttarr.git
사용하여 저장소를 복제합니다. - config 폴더 내의
config.conf-Example
이름을 config.conf
로 바꿉니다. - 필요에 따라
config.conf
조정하세요. - docker/requirements.txt(pip install -r 요구 사항.txt)에 나열된 라이브러리를 설치합니다.
-
python3 main.py
사용하여 스크립트를 실행합니다. 참고: docker-compose.yml을 통해 실행할 때 config.conf
는 무시됩니다.
설정 설명
일반 설정
(모든 기능에 걸쳐) 애플리케이션의 일반적인 동작을 구성합니다.
LOG_LEVEL
- 로깅이 수행되는 수준을 설정합니다.
-
INFO
Radar/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)
기능 설정
다운로드 대기열에 적용되는 정리 유형을 조정합니다.
REMOVE_TIMER
- 고아 및 중단된 다운로드에 대해 대기열을 확인하는 빈도를 설정합니다.
- 유형: 정수
- 단위: 분
- 필수 여부: 아니요(기본값은 10)
제거_실패
- 연결 없이 실패한 다운로드를 대기열에서 제거할지 여부를 조정합니다.
- 이러한 다운로드는 차단 목록에 추가되지 않습니다. 다른 소스의 새 다운로드는 Radar/sonarr/lidarr/readarr/whisparr(사용 가능한 경우)에 의해 자동으로 추가됩니다.
- 유형: 부울
- 허용되는 값: True, False
- 필수 여부: 아니요(기본값은 False)
REMOVE_FAILED_IMPORTS
- 가져오기에 실패한 다운로드를 대기열에서 제거할지 여부를 조정합니다.
- 예를 들어 더 나은 버전이 이미 있는 경우 이런 일이 발생할 수 있습니다.
- 참고: 가져오기 메시지에 FAILED_IMPORT_MESSAGE_PATTERNS에 나열된 경고가 포함된 경우에만 가져오기 실패로 간주합니다(아래 참조).
- 이러한 다운로드는 차단 목록에 추가됩니다.
- IGNORE_PRIVATE_TRACKERS 설정이 true이고 영향을 받은 토렌트가 개인 추적기인 경우 대기열 항목은 제거되지만 토렌트 파일은 유지됩니다.
- 유형: 부울
- 허용되는 값: True, False
- 필수 여부: 아니요(기본값은 False)
REMOVE_METADATA_MISSING
- 메타데이터 획득이 중단된 다운로드가 대기열에서 제거되는지 여부를 조정합니다.
- 이러한 다운로드는 차단 목록에 추가되므로 다시 요청되지 않습니다.
- 다른 소스로부터의 새로운 다운로드는 Radar/sonarr/lidarr/readarr/whisparr(사용 가능한 경우)에 의해 자동으로 추가됩니다.
- 유형: 부울
- 허용되는 값: True, False
- 필수 여부: 아니요(기본값은 False)
REMOVE_MISSING_FILES
- "파일 누락" 경고가 있는 다운로드가 대기열에서 제거되는지 여부를 조정합니다.
- 이러한 다운로드는 차단 목록에 추가되지 않습니다.
- 유형: 부울
- 허용되는 값: True, False
- 필수 여부: 아니요(기본값은 False)
REMOVE_ORPHANS
- 고아 다운로드가 대기열에서 제거되는지 여부를 조정합니다.
- 고아 다운로드는 더 이상 요청된 미디어에 속하지 않는 다운로드입니다(다운로드가 시작된 후 mediar/sonarr/lidarr/readarr/whisparr에서 미디어가 제거되었으므로).
- 이러한 다운로드는 차단 목록에 추가되지 않습니다.
- 유형: 부울
- 허용되는 값: True, False
- 필수 여부: 아니요(기본값은 False)
REMOVE_SLOW
- 느린 다운로드가 대기열에서 제거되는지 여부를 조정합니다.
- 느린 다운로드는 차단 목록에 추가되어 향후 다시 요청되지 않습니다.
- 참고: 유즈넷 다운로드에는 적용되지 않습니다(사용자가 특정 속도에 대해 비용을 지불하므로 속도 저하가 발생하지 않아야 함).
- 유형: 부울
- 허용되는 값: True, False
- 필수 여부: 아니요(기본값은 False)
제거_중단됨
- 연결 없이 중단된 다운로드를 대기열에서 제거할지 여부를 조정합니다.
- 이러한 다운로드는 차단 목록에 추가되므로 나중에 다시 요청되지 않습니다.
- 유형: 부울
- 허용되는 값: True, False
- 필수 여부: 아니요(기본값은 False)
REMOVE_UNMONITORED
- 모니터링되지 않는 미디어에 속하는 다운로드를 대기열에서 제거할지 여부를 조정합니다.
- 참고: 동일한 다운로드에 의존하는 모든 TV 프로그램이 모니터링되지 않는 경우에만 대기열에서 제거됩니다.
- 이러한 다운로드는 차단 목록에 추가되지 않습니다.
- 참고: 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에 설정된 간격에 따라 검색 작업당 처리되는 항목 수를 나타냅니다.
- 참고: 한도는 수배 목록당입니다. 따라서 Radarr와 Sonarr가 누락된 항목과 충족되지 않은 항목 모두에 대해 자동 검색으로 설정된 경우 실제 개수는 MAX_CONCURRENT_SCANS의 4배가 될 수 있습니다.
- "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}]
}
MIN_DOWNLOAD_SPEED
- 활성 다운로드에 대한 최소 다운로드 속도를 설정합니다.
- 두 번의 연속 확인 사이에서 다운로드된 파일 크기의 증가가 이 값보다 작은 경우 다운로드가 느린 것으로 간주되어 허용된 시도보다 더 자주 발생하면 제거됩니다.
- 유형: 정수
- 단위: 초당 KByte
- 필수 여부: 아니요(기본값은 100이지만 "REMOVE_SLOW"가 true인 경우에만 적용됩니다.)
PERMITTED_ATTEMPTS개
- 다운로드가 제거되기 전에 메타데이터 다운로드가 지연되거나 느리거나 중단된 것으로 포착되어야 하는 횟수를 정의합니다.
- 유형: 정수
- 단위: 스캔 횟수
- 필수 여부: 아니요(기본값은 3)
NO_STALLED_REMOVAL_QBIT_TAG
- 이 태그가 달린 qBittorrent 다운로드는 제거되지 않습니다.
- qBittorrent를 토렌트 관리자로 사용하지 않으면 기능을 사용할 수 없습니다.
- 모든 유형의 제거에 적용됩니다(즉, deluttar에 의해 자동으로 제거되는 항목은 없습니다).
- 참고: 정지된 토렌트를 수동으로 백업하고 실행하려면 "강제 재확인"을 시도할 수 있습니다.
- 태그는 qBittorrent에서 자동으로 생성됩니다(
QBITTORRENT_URL
에서 qBittorrent에 연결할 수 있어야 함). - 중요: 모니터링되지 않는 다운로드가 제거되지 않도록 보호합니다(멀티 시즌 팩과 관련됨).
- 유형: 문자열
- 필수 여부: 아니요(기본값은
Don't Kill
)
IGNORE_PRIVATE_TRACKERS
- 이것이 true로 설정된 경우 qBittorrent의 개인 토렌트는 대기열에서 제거되지 않습니다.
- qBittorrent를 사용하는 경우에만 작동합니다(전송 등에서는 작동하지 않음).
- 모든 유형의 제거에 적용됩니다(즉, deluttar에 의해 자동으로 제거되는 항목은 없습니다). 이에 대한 유일한 예외는 REMOVE_NO_FORMAT_UPGRADE입니다. 여기서 개인 추적기의 경우 대기열 항목이 제거됩니다(그러나 토렌트 파일은 유지됩니다).
- 참고: 정지된 토렌트를 수동으로 백업하고 실행하려면 "강제 재확인"을 시도할 수 있습니다.
- 유형: 부울
- 허용되는 값: True, False
- 필수 여부: 아니요(기본값은 True)
FAILED_IMPORT_MESSAGE_PATTERNS
- REMOVE_FAILED_IMPORTS와 함께 작동합니다(이 설정이 true인 경우에만 관련됨).
- 가져오기에 대한 경고가 있는 완료된 다운로드가 실패한 것으로 간주되어야 하는지 여부를 도구에서 결정하는 패턴을 정의합니다.
- 지정된 패턴 중 하나라도 대기열 항목의 메시지 중 하나에 포함되어 있으면 대기열 항목은 실패한 것으로 간주됩니다.
- 참고: 비어 있거나 지정되지 않은 경우 경고와 함께 보류 중인 가져오기는 실패한 것으로 간주됩니다.
- 유형: 목록
- 권장 값: ["기존에 대한 사용자 정의 형식 업그레이드가 아님", "기존에 대한 업그레이드가 아님"]
- 필수 여부: 아니요(기본값은 []이며, 이는 모든 메시지가 실패함을 의미)
레이더 섹션
다운로드 대기열을 정리해야 하는 레이더 인스턴스를 정의합니다.
RADARR_URL
- 인스턴스에 접근할 수 있는 URL
- 정의되지 않으면 이 인스턴스가 모니터링되지 않습니다.
RADARR_KEY
소나르 섹션
다운로드 대기열을 정리해야 하는 sonar 인스턴스를 정의합니다.
SONARR_URL
- 인스턴스에 접근할 수 있는 URL
- 정의되지 않으면 이 인스턴스가 모니터링되지 않습니다.
SONARR_KEY
Lidarr 섹션
다운로드 대기열을 정리해야 하는 Lidar 인스턴스를 정의합니다.
LIDARR_URL
- 인스턴스에 접근할 수 있는 URL
- 정의되지 않으면 이 인스턴스가 모니터링되지 않습니다.
LIDARR_KEY
섹션 읽기
다운로드 대기열을 정리해야 하는 readarr 인스턴스를 정의합니다.
READRR_URL
- 인스턴스에 접근할 수 있는 URL
- 정의되지 않으면 이 인스턴스가 모니터링되지 않습니다.
READARR_KEY
Whisparr 섹션
다운로드 대기열을 정리해야 하는 Whisparr 인스턴스를 정의합니다.
WHISPARR_URL
- 인스턴스에 접근할 수 있는 URL
- 정의되지 않으면 이 인스턴스가 모니터링되지 않습니다.
WHISPARR_KEY
qBittorrent 섹션
qBittorrent와 연결하기 위한 설정을 정의합니다. 다른 토렌트 관리자를 사용하는 경우 이 섹션을 주석 처리하세요(이로 인해 발생하는 기능 제한 위 참조).
QBITTORRENT_URL
- 인스턴스에 접근할 수 있는 URL
- 정의되지 않으면 NO_STALLED_REMOVAL_QBIT_TAG가 적용되지 않습니다.
QBITTORRENT_USERNAME
- qBittorrent에 로그인하는 데 사용되는 사용자 이름
- 선택 과목; qBittorrent에서 인증 우회가 활성화된 경우(예: 로컬 연결의 경우) 필요하지 않습니다.
QBITTORRENT_PASSWORD
- qBittorrent에 로그인하는 데 사용되는 비밀번호
- 선택 과목; qBittorrent에서 인증 우회가 활성화된 경우에는 필요하지 않습니다(예: 로컬 연결의 경우).
크레딧
- MattDGTL/sonarr-radarr-queue-cleaner에 의해 코드에서 확장된 중단된 다운로드를 감지하는 스크립트
- syncarr/syncarr에 의해 코드에서 확장된 구성을 읽는 스크립트
- Discord 채널에서 훌륭한 제품, API 문서 및 지침을 제공하는 SONARR/RADARR 팀 및 기여자
- 이 스크립트를 사용하여 다운로드가 중단된 메타데이터를 검색할 수 있도록 API에 추가 플래그를 추가해 주셔서 특히 감사드립니다.
- 팔 호환성을 위한 craggles17
- 향상된 문서를 위한 Fxsch / ReadMe
부인 성명
이 스크립트는 어떠한 보증도 받지 않으며 사용에 따른 책임은 사용자에게 있습니다.