Sonarr
Sonarr 은 TV 쇼, 드라마, 애니매이션 등의 시리즈를 자동으로 다운로드 받고 정리하는 프로그램입니다. 어떠한 드라마를 다운로드 받기 위해 어떤 드라마를 등록해놓기만 하면 자동으로 검색해서 다운로드 하고, 정리해서 저장하기 때문에 상당히 편리합니다.
Sonarr 시작
sysrc sonarr_enable="YES"
자동 시작 설정을 하고
service sonarr start
시작해 줍니다.
Sonarr WebUI
Sonarr 의 모든 설정은 WebUI 를 통해 진행됩니다.
http://jail.ip:8989
Sonarr 작동 방식
- 유저가 어떠한 시리즈를 검색합니다.
- Sonarr 는 IMDB 와 같은 TV 데이터베이스 사이트에서 해당 검색어로 검색합니다.
- 검색 결과를 보여 주면 유저는 원하는 시리즈를 선택해서 목록에 추가합니다.
- Sonarr는 정해진 주기마다 시리즈의 토렌트를 검색합니다. 이 때 Jackett 을 통해 검색을 수행합니다.
- 만약 설정한 필터에 맞는 결과를 찾을 경우 Transmission 과 같은 토렌트 클라이언트가 해당 토렌트를 다운로드 받게 합니다.
- 토렌트 클라이언트를 감시하다가 토렌트가 성공적으로 다운로드 완료되면 정해진 규칙에 따라 미디어가 저장될 디렉토리에 시리즈가 저장될 디렉토리를 만들고
- 다운로드 받은 미디어를 정해진 규칙에 따라 이름을 바꿔 복사합니다.
- 그 후 토렌트 클라이언트를 감시하다가 토렌트 시딩이 끝나면 토렌트를 자동으로 제거합니다.
자동으로 검색부터 다운로드와 정리까지 모두 해 주기 때문에 상당히 편리합니다.
Sonarr 의 설정
필요한 설정만을 서술합니다. 설정이 그다지 복잡하지 않고 GUI 로 설정이 가능하니 그다지 어렵지 않을 것입니다.
상단의 Settings 를 눌러 설정으로 이동합니다.
오른쪽 상단의 Advanced Settings 를 Shown 으로 변경해 주어야 모든 설정이 보입니다. 고급 설정을 켜 놓는 것을 추천합니다.
Media Management
Media Management 는 다운로드 받은 파일의 이름을 바꿀 것인지, 시리즈에 해당하는 디렉토리를 만들 것인지 등의 설정을 할 수 있습니다.
Episode Naming
에피소드의 이름을 설정합니다. 이 부분을 잘 설정해 주면 미디어를 아주 깔끔하게 정리할 수 있습니다.
- Rename Episodes : 에피소드의 이름을 바꿀 것인지 설정합니다. YES
- Replace Illegal Characters : 잘못된 문자를 바꿀 것인지 설정합니다. YES
- Standard Episode Format : ‘일반적인’ 에피소드의 이름 명명 규칙을 정합니다.
이름 명명 규칙은 기본값을 그대로 사용해도 깔끔한 정리가 가능하고, 입맛에 맞게 수정할 수도 있습니다.
오른쪽 + 를 누르면 명명 규칙에 추가 가능한 변수가 나타납니다. - Daily Episode Format : ‘매일 나오는(Daily)’ 에피소드의 이름 명명 규칙을 정합니다.
- Anime Episode Format : 애니매이션의 이름 명명 규칙입니다. 시리즈를 추가할때 애니매이션이라고 명시하면 애니매이션 명명 규칙을 따릅니다.
- Series Folder Format : 어떠한 시리즈의 폴더를 어떤 식으로 만들지 설정합니다. 만일 왕좌의 게임을 추가한다면 Game of Thrones 라는 디렉토리가 생성됩니다.
- Season Folder Format : 각 시즌의 디렉토리입니다. 만일 왕좌의 게임 시즌 3이 추가된다면 Game of Thrones 디렉토리 아래에 Season 03 의 형태로 디렉토리가 만들어집니다.
아래에 나타나는 Example 을 보면서 변경하시는 것이 좋습니다.
Folders
- Create empty series folders : 빈 디렉토리를 만들지 설정합니다. 설정해 두시면 수동으로 시리즈를 다운로드 받을 때 조금 더 편리합니다. YES.
- Delete empty folders : 빈 디렉토리를 삭제할지 설정합니다. NO.
Importing
- Import Extra Files : 미디어 파일 외의 다른 파일도 가져올지 설정합니다.
- Extra File Extensions : 가져올 추가적인 파일의 확장자를 설정합니다. smi 를 추가한다면 다운로드 받은 토렌트에 smi 파일이 있을 경우 가져옵니다.
File Management
- Download Propers : 현재 영상보다 더 높은 수준의 영상이 있을 경우 자동으로 업그레이드 합니다. (예를 들어 720p -> 1080p). YES.
- Analyse video files : 영상을 분석해서 영상 정보를 추출합니다. YES.
Permissions
- Permissions : 권한 설정입니다. 앞서 ACL 로 권한 설정을 하였으니 설정하지 않습니다.
Profile
Profile 은 어떤 화질의 영상을 받을 것인지 필터를 설정할 수 있습니다. 를 눌러 프로파일을 추가할 수 있습니다.
예를 들어 독일어 Bluray 1080p 영상만 받는 필터를 만들고자 한다면,
- 이름은 Bluray-1080p
- Language 는 German
- Qualities 는 Bluray-1080p
으로 설정하고 저장하면 됩니다.
Quality
Quality Definitions 에서는 용량 범위를 정할 수 있습니다. 1080p 화질의 경우 최대 5.86Gb 로 제한이 되어 있는데 제한 없음으로 해 주는 것이 좋습니다.
Indexers
앞서 만든 Jackett 의 인덱서를 추가할 수 있습니다.
세계 최대 토렌트 사이트인 zooqle 를 추가하도록 하겠습니다.
Jackett 설정
- Jackett 의 WebUI 로 이동해 Add indexer 을 눌러 zooqle 를 찾아 추가합니다.
- 추가된 zooqle 인덱서의 Copy Torznab Feed 버튼을 눌러 Torznab URL 을 복사합니다.
- 추가된 zooqle 의 를 눌러 카테고리 번호를 확인합니다. TV (5000), TV/Anime (5070)
- Jackett 의 오른쪽 상단의 API 키도 복사해 둡니다. thnioiwh4oo8huuy915aegxo075ndcqv
Sonarr 설정
Sonarr 의 WebUI로 이동해 를 눌러 인덱서를 추가합니다.
- 인덱서의 타입은 Torznab
- Name 은 zooqle
- URL 에 앞서 복사한 Torznab 링크를 입력합니다. http://192.168.1.11:9117/api/v2.0/indexers/zooqle/results/torznab/ 와 같은 형태입니다.
- API Key 에 앞서 복사한 Jackett 의 API Key 를 입력합니다.
- Categories 에 5000 을 입력합니다. 위에서 확인한 TV 카테고리의 카테고리 번호입니다.
- Anime Categories 에 5070 을 입력합니다. 위에서 확인한 TV/Anime 카테고리의 번호 입니다.
- 모두 입력한 후 하단의 Test 를 누르면 테스트가 진행됩니다. 문제가 없다면 오른쪽 하단에 ‘Testing zooqle success‘ 라는 문구가 나타납니다.
- 문제가 없다면 Save 를 눌러 저장합니다.
Download Client
클라이언트 추가
어떤 클라이언트를 이용해 다운로드 받을 것인지 설정합니다. 앞서 설치한 Transmission 을 추가하겠습니다.
을 눌러 추가합니다.- Client 의 타입은 Transmission.
- Name 은 Transmission
- Host 는 127.0.0.1
- Port 는 9091
- Url Base 는 /transmission/
- Username 과 Password는 앞서 설정한 것을 입력합니다.
- Directory 는 /mnt/tmp_download 그러니깐 임시 디렉토리를 저장 위치로 설정합니다.
- Test 를 눌러 테스트를 하고, 문제가 없다면 SAVE 를 눌러 저장합니다.
임시 다운로드 디렉토리에 다운로드 하는 이유는 2가지입니다.
첫 번째는 토렌트 시딩 시 메인 드라이브에 부하가 걸리는 것을 막기 위함이고, 두 번째는 일반 다운로드 디렉토리가 지저분해지는 것을 막기 위함입니다.
Sonarr 나 Radarr 은 다운로드 받은 미디어를 복사해 규칙에 따라 정리하기 때문에 임시 디렉토리에 받도록 하는 것이 깔끔합니다.
Completed Download Handling
Completed Download Handling 은 다운로드를 어덯게 통제할지를 설정합니다.
Remove 를 활성화 해 주어야 토렌트 시딩이 완료되었을 때 토렌트와 임시 디렉토리에 받은 데이터를 자동으로 삭제합니다.
Connections
Connections 에서는 PLEX Media Server 등에 알람을 보내도록 설정할 수 있습니다.
그런데 PLEX 와는 정상적으로 연결이 안 되는 듯 합니다. 필자의 환경에 무언가 문제가 있는 것일 수도 있습니다만…
Email 알림이나 Slack (또는 디스코드) 알람은 잘 작동하니 알림이 필요하다면 그것을 사용하는 것이 좋습니다.
General
General 에서는 일반적인 설정을 할 수 있습니다.
- URL Base 는 리버스 프록시 환경을 위한 것입니다. 이후 리버스 프록시와 연결하기 위해 URL Base 를 설정해 주겠습니다. /sonarr
- Security 는 Sonarr 에 인증을 걸 것인지를 정할 수 있습니다. 외부에서 사용할 생각이라면 설정해 주는 것이 좋습니다.
설정 저장하고 Sonarr 재시작
모두 설정했다면 Advanced Settings 버튼 옆에 있는 SAVE 버튼을 반드시 눌러 주세요. 이 버튼 안 누르면 설정 저장 안 됩니다.
저장했다면 Sonarr 를 재시작해야 합니다. 하지만 WebUI 에서 재시작을 누르지 마세요. 쉘에서 service sonarr restart
를 입력해 재시작 해 주세요.
mono 의 버그인지, sonarr 의 버그인지, 아니면 FreeBSD 와 궁합이 좋지 않은 것인지는 모르겠지만 WebUI 에서 재시작을 하면 CPU 사용량이 치솟습니다. 이는 radarr 나 jackett 과 같은 mono 를 사용하는 모든 프로그램이 그러합니다.
사용법
모두 설정했으니 실제로 시리즈를 받아 보도록 하겠습니다. 받을 영상은 ‘톰과 제리‘ 입니다.
시리즈 추가
Sonarr 의 메인 화면에서 을 눌러 시리즈를 추가할 수 있습니다.
검색
검색창에 ‘Tom and Jerry‘ 을 입력합니다. 잠시 기다려 주면 검색 결과가 나타날 것입니다. 그 중 1940년 Tom and Jerry 가 원하는 결과일 것입니다.
저장될 경로 설정
Path 부터 설정해 주어야 합니다. Patch 는 미디어를 저장할 위치를 의미합니다.
Add a different patch 를 선택해 새 경로를 추가합니다
을 눌러 찾아 보거나 직접 경로를 입력합니다. /mnt/ANI 나 /mnt/Drama입력했다면 을 눌러 결정합니다.
모니터링 설정
Monitor 는 이 시리즈를 어덯게 모니터링 할지 선택합니다.
- ALL 은 스페셜 에피소드를 제외한 ‘모든’ 에피소드를 전부 모니터링합니다. 안 받아진것부터, 받았다 해도 더 좋은 영상이 올라오면 그것을 다운로드받습니다.
- Future 는 ‘앞으로 방송될’ 에피소드를 모니터링하다가, 올라올 경우 받습니다.
- Missing 은 ‘아직 다운로드 받지 않은’ 에피소드를 모니터링 합니다. 기본값이고 가장 자주 쓰입니다.
- Existing 은 ‘현재 존재하는 파일’ 과 ‘앞으로 방송될’ 에피소드를 모니터링합니다.
- First Season 은 첫 번째 시즌만 모니터링 합니다.
- Lastest Season 은 최신 시즌만 모니터링 합니다.
- None 은 모니터링 하지 않습니다.
First Season 을 선택해 첫 번째 시즌만 다운로드 해 보겠습니다.
화질 설정
Profile 은 영상의 화질을 선택할 수 있습니다. HD-720p 로 해 보겠습니다.
시리즈 종류 설정
Series Type 은 이 시리즈의 종류입니다. Standard 로 하겠습니다.
디렉토리 생성 설정
Season Folders 는 이 시리즈에 해당하는 디렉토리를 만들 것인가를 묻는 것입니다. YES로 해 주세요. 안 그러면 미디어가 저장되는 디렉토리가 지저분해집니다.
원하는 대로 설정했다면 을 누르면 시리즈가 추가됩니다.
시리즈 목록 확인
상단의 Series 를 누르면 Sonarr 에 추가된 모든 시리즈의 목록을 볼 수 있습니다.
시리즈 세부 정보
Tom And Jerry 를 클릭하면 시리즈의 세부 정보로 이동합니다.
은 받은 파일의 퀄리티 정보를 재설정 하는 것입니다. HDTV-720p 라고 생각하고 받았는데 Bluray-1080p 라면 이곳에 들어가서 받은 파일의 퀄리티 정보를 Bluray-1080p 로 변환할 수 있습니다. 은 미디어가 저장될 경로를 스캔해 미디어 파일의 유무를 체크합니다. 은 받은 파일과 경로를 재설정합니다. 수동으로 미디어를 다운로드 받아 추가할 때 상당히 편리합니다. 은 현재 모니터링 하는 모든 시즌을 검색하고, 부합하는 결과가 있을 경우 다운로드 받습니다. 은 시리즈의 설정을 변경합니다. 모니터링을 할지 설정하거나, 프로파일을 바꾸거나 경로를 변경하는 등의 설정을 할 수 있습니다.
스크롤을 살짝 내려 주면 시즌마다 분류되어 있는 것을 알 수 있습니다. 는 선택이 되어 있는 상태이고, 은 선택되지 않은 상태입니다.
Show Episodes 를 누르면 시즌에 포함된 세부 정보가 표시니다.
표시된 각 에피소드마다 와 가 있는 것을 볼 수 있습니다. 전자는 자동 검색이고, 후자는 수동 검색입니다.
다운로드 명령 내리기
이렇게 추가해 놓으면 알아서 토렌트를 검색하고 다운로드 받습니다. 하지만 수동으로 다운로드 명령을 내릴 수도 있습니다. 다운로드 명령을 내려 보겠습니다.
그럼 첫 번째 시즌에 해당하는 Season 1940 을 받아 보겠습니다.
Season 1940 의 을 눌러 검색을 진행합니다.
그럼 잠깐의 자동 검색 후, 부합하는 결과를 찾아 다운로드가 시작됩니다. 다운로드 중에는 아래와 같이 다운로드의 상황이 표시됩니다.
transmission 의 webUI로 이동하면 정상적으로 다운로드 되는 것을 확인할 수 있습니다.
다운로드가 완료되면 다운로드 받은 파일이 자동으로 정리되어 저장됩니다. 톰과 제리가 저장된 디렉토리로 이동해 보면 보기 좋게 정리 되어 있는 것을 알 수 있습니다.
이후 Sonarr 는 Transmission 을 모니터링하면서 시딩이 끝나면 토렌트와 임시파일을 삭제합니다.
수동으로 다운로드 받아서 집어넣기
Sonarr 가 토렌트를 자동으로 찾아서 받기는 하지만, 제대로 검색이 안되는 것들은 다운로드가 불가능합니다.
예를 들어 톰과 제리 같은 경우는 저작권이 소멸되어 유튜브에서 무료로 볼 수 있기 때문에 검색 결과가 나오지 않거나 검색 결과에 있다 해도 다운로드가 엄청나게 느리거나 다운로드 되지 않습니다.
검색에 안 나오는 것들을 수동으로 받아서 집어 넣을 수 있습니다.
톰과 제리를 Sonarr 에서 다운로드 하는 것을 실패해, 유튜브에서 톰과 제리를 다운로드 받았다고 가정하겠습니다.
ANI 디렉토리에 Tom and Jerry/s01 이라는 디렉토리를 만들어 다운로드 받은 영상을 집어넣었습니다.
001 Puss Gets the Boot [1940].mkv 002 The Midnight Snack [1941].mkv 003 The Night Before Christmas [1941].mkv (...) 044 Love That Pup [1949].mkv 045 Jerry's Diary [1949].mkv 046 Tennis Chumps [1949].mkv
집어넣은 다음 Sonarr 의 Tom and Jerry 의 를 눌러 디스크를 스캔해 주면 영상이 추가되었다고 나타납니다.
이 상태로도 충분히 잘 정리되어 있기는 하지만, Sonarr 는 이름을 재설정 할 수 있는 기능을 제공합니다.
시즌의 을 누르면 현재 경로와 재설정할 경로가 표시됩니다. Organize 를 누르면 규칙에 따라 정리됩니다.
Tom and Jerry - S1940E01 - Puss Gets The Boot SDTV.mkv Tom and Jerry - S1940E02 - The Midnight Snack SDTV.mkv Tom and Jerry - S1940E03 - The Night Before Christmas SDTV.mkv (...) Tom and Jerry - S1940E44 - Love That Pup SDTV.mkv Tom and Jerry - S1940E45 - Jerry's Diary SDTV.mkv Tom and Jerry - S1940E46 - Tennis Chumps SDTV.mkv
훨씬 보기 좋고 깔끔해졌습니다.
Radarr
Radarr 은 Sonarr 의 포크로서 영화 다운로드에 특화되어 있습니다. 그래서 Sonarr 와 많은 부분이 동일하지만, 약간 다릅니다.
Radarr 시작
sysrc radarr_enable="YES"
자동 시작 설정을 하고
service radarr start
시작해 줍니다.
Radarr 설정
Radarr 은 7878 을 WebUI 포트로 사용합니다.
http://jail.ip:7878
Sonarr 을 알아보았으니 Radarr 도 상당히 익숙할 것입니다.
Radarr 은 영화를 다룬다는 특징 때문에 Sonarr 와는 조금 다릅니다. Sonarr 없는 내용만 다룹니다.
상단의 Settings 를 눌러 설정으로 이동합니다.
Advanced Settings 를 Shown 으로 변경해 주세요.
Media Management
Movie Naming
기본적으로 이름 재설정이 꺼져 있습니다. Rename Movies 을 켜 주시는 것이 좋습니다.
Include Quality와 Replace Spaces 를 모두 설정해 주면 깔끔하게 정리됩니다.
Custom Formats
Custom Formats 은 사용자 정의 포멧으로서 프로파일과 거의 유사하게 작동합니다. 예를 들어 x264 로 인코딩 된 영상을 선택하기 위해서는 +를 눌러 이미 만들어져있는 x264 탬플릿을 선택하거나, 직접 만들 수 있습니다. 간단하게 말해서, 좀더 세분화되고 사용자 정의된 영상 타입을 선택할 수 있습니다.
List
List 는 자동으로 영화의 리스트를 추가해 주는 옵션입니다. 예를 들어 TMDb의 인기 영화를 목록에 추가하면 현재 TMDb 에서 인기가 좋은 영화를 자동으로 목록에 추가합니다.
다른 설정은 Sonarr 와 동일합니다.
사용법
그럼 영화를 받아 보도록 하겠습니다. 받을 영화는 ‘쉰들러 리스트‘ 입니다.
추가하는 방법은 Sonarr 와 동일합니다. 경로, 화질 등을 선택해 준 후 추가하면 되지요.
추가했다면 세부 정보를 확인해보도록 하겠습니다.
Sonarr 와는 레이아웃이 조금 다릅니다. 시즌 대신 History, Search, Files, Titles 라는 메뉴가 있습니다.
- History 이 영화의 기록입니다. 파일을 다운로드 받거나 삭제하면 로그가 남습니다.
- Search 는 영화를 수동으로 검색하는 메뉴입니다. 원하는 버전을 골라 받을 수 있기 때문에 상당히 편리합니다.
- File 은 현재 미디어 파일의 정보를 표시합니다.
수동검색
Radarr 의 경우는 영화를 다운로드 받는 것이고, 영화는 TV 시리즈와 달리 받아야 할 파일이 단 하나이기 때문에 수동 검색이 상당히 용이합니다. Search 를 눌러 수동으로 검색해 보겠습니다.
몇 개의 영상이 하나 검색되었습니다.
이 검은 색이면 다운로드가 가능한 것입니다. 검은색 () 을 누르면 즉시 다운로드가 시작되고, 노란색()의 경우는 강제 다운로드가 가능합니다.강제 다운로드
맨 밑의 토렌트를 시도해보겠습니다.
토렌트에 문제가 있다고 판단될 경우 가 표시됩니다. 에 커서를 올리면 무슨 문제 때문에 거절했는지 표시됩니다.
이 경우에는 Schindler s List – La lista di Schindler 라는 제목 때문입니다. Schindler’s List 라는 이름을 기대했는데 La lista di Schindler 라는 부제가 붙은 덕에 ‘이 토렌트가 쉰들러 리스트가 맞는지 모르겠다.’ 라고 말하고 있는 것입니다.
확인 결과 이것은 쉰들러 리스트가 맞습니다. 을 눌러 강제 다운로드를 시도하겠습니다.
강제 다운로드를 시도할 시 위와 같은 메세지가 나타납니다. 받으려는 토렌트의 언어를 설정한 다음, Force Download 를 눌러 주면 다운로드가 시작됩니다.
Radarr 도 Sonarr 와 동일하게 다운로드가 완료되면 이름을 재설정해서 저장하고, 토렌트의 시딩이 끝나면 토렌트를 자동으로 삭제합니다.
여담
Sonarr 와 Radarr 은 매우 편리한 프로그램입니다만, 조금 문제가 있습니다. 바로 한국 예능과 같은 한국 프로그램은 다운로드가 잘 안된다는 것입니다.
이유는 아주 간단합니다. 한국 예능은 해외 토렌트 사이트에 거의 올라가지 않습니다. 올라간다 해도 영어로 올라가는 것이 아니라, 한국어로 올라갑니다. 즉, 자료가 없고, 있다 해도 검색이 제대로 되질 않습니다. 한국 환경이 토렌트보다는 웹하드를 많이 사용하는데다가, 한국 프로그램을 보는 사람이 거의 한국인밖에 없다 보니 올라가지 않는 것입니다.
과거에는 Jackett 에서 한국 토렌트 사이트 몇 개를 지원했습니다만, 대대적인 단속으로 대부분의 토렌트 사이트들이 박살이 난 뒤로는 한국 사이트가 지원이 되지 않고 있습니다.
이건 별 해결 방법이 없습니다. 한 개발자분이 한국형 PVR 인 SJVA 를 개발하시긴 했는데, FreeBSD 에서 설치하려면 조금 귀찮습니다. 도커 쓰는걸 권장하는데 도커는 FreeBSD 에서 안돌아갑니다. 그래서 몇번 쓰다가 치워서 좋은지는 잘 모르겠습니다.
마치면서
Sonarr 와 Radarr 을 사용하는 방법에 대해 알아보았습니다. 다음 포스팅은 이러한 서비스들을 리버스 프록시에 연결할 것입니다.