NAS & ODROID/NAS, ODROID

NAS - 트랜스미션(Transmission) + Flexget, 매주 자동으로 예능 드라마 받기

awesometic 2017. 9. 19. 14:06
반응형

잉여력을 높이고 있습니다

매주 챙겨보는 예능, 드라마를 자동으로 NAS가 받게 할 거에요

Flexget 이란 오픈 소스 프로그램이 있는데, 이 프로그램은 RSS를 이용해 특정 키워드가 포함된 파일을 정해진 위치에 받아요. 트랜스미션과 연동한다면 자동으로 트랜스미션에 추가해줄 수도 있어요

약 일주일 정도 테스트해봤는데 잘 됩니다.


우분투, OMV 사용자 모두 적용할 수 있습니다. 우분투나 OMV처럼 데비안 기반을 기준으로 진행할게요

일단 SSH로 접속해서 진행해야 해요


1. Flexget 설치

Flexget 공식 설치 가이드: https://flexget.com/InstallWizard/Linux

1) 필수 패키지 다운로드

Flexget은 파이썬 기반 프로그램이에요. 그래서 파이썬과 파이썬 패키지 매니저(PIP) 를 설치해야 합니다.

sudo apt-get install python3.5 python-pip

2) setuptools 업그레이드

setuptools를 업그레이드해야 머리아픈 일이 적어진다고 하네요.

sudo -H pip install --upgrade setuptools

3) Flexget 전역 설치

이제 설치하면 됩니다

sudo -H pip install flexget


2. Flexget 설정

Flexget 공식 설정 가이드: https://flexget.com/Configuration

여기서부턴 root 계정이면 안 됩니다. 만약 OMV라면 SSH 접속을 위한 사용자 계정을 따로 만들어야 해요. OMV 터미널에서 adduser 명령어를 사용하실 수도 있고, OMV 웹에서도 만들 수 있어요.

1) 설정 파일 생성

홈디렉토리 밑에 .flexget 이란 디렉토리를 만들어 진행하겠습니다.

mkdir .flexget

그리고 config.yml 파일을 만들어야 해요. 이 파일 안에 RSS 주소, 키워드 등을 넣으시면 됩니다.

vi ~/.flexget/config.yml

2) Transmission 연동 플러그인 설치

플러그인을 통해 Transmission과 연동하는 거에요. 패키지 형식으로 설치합시다.

sudo -H pip install transmissionrpc

3) 설정

여러 가지 규칙이 있어요. 한글로 잘 정리된 곳은 http://egloos.zum.com/mizane/v/5892524

귀찮으시다면 일단 제 설정을 복붙하셔서 조금만 고치세요.

# References
# - http://pds26.egloos.com/pds/201509/22/35/flexget.txt
# RSS
# - https://godpeople.or.kr/board/3238681

# A template for transmission
templates:
  torrent:
    transmission:
      host: localhost
      port: 9091
      username: ID
      password: PW

# TV comedies from tfreeca RSS
tasks:
  feeds:
    rss: { Your RSS URL here }
    content_filter:
      require: 
        - '*.mp4'
    regexp:
      accept:
        - '무한도전'
        - '미운 우리 새끼'
        - '비긴 어게인'
        - '아는 형님'
        - '해피 투게더'
        - '라디오스타'
        - '효리네 민박'
        - '나 혼자  산다'
      reject_excluding:
        - '720p'
        - 'NEXT'
    template: torrent

이런 식입니다. RSS 주소는 구글링하다가 어느 커뮤니티(갓피플, https://godpeople.or.kr/)에서 가져오게 됐네요. 감사합니다.

(170930 수정) RSS 서비스를 중지하신 걸로 보입니다. 일단 URL까지 내릴게요. ... 만 새로 정리하여 업로드하신 거군요. 제가 그 타이밍에 기가막히게 봤네요.

YAML 이라는 마크업 랭귀지를 처음 보는데, 컨셉 자체가 휴먼 리더블이라, Flexget의 설정 규칙만 안다면 누구나 쉽게 다룰 수 있을 것 같더라구요.

위의 내용에 대한 자세한 설명은.. http://pds26.egloos.com/pds/201509/22/35/flexget.txt :) 설명이 잘 되어 있어요.

바꾸고 싶다면, 문서 참고해서 마음껏 바꾸시면 됩니다. RSS 주소도 저 링크는 720P NEXT 릴 예능만 있으니까 원글을 봐주시구요.

이런 식으로, 맘에 들게끔 적고 저장하시면 됩니다.

4) 테스트 

설정이 잘 먹히나 테스트해봅시다.

flexget --test execute

이상이 있으면 INFO, VERBOSE 외에 WARNING? 뭐 이런 무서운 애들이 있을 겁니다. 그럼 다시 한번 설정 파일을 살펴보셔야 해요.

이상이 없으면 넘어갑니다.


3. 자동 실행

Flexget 공식 스케줄링 가이드: https://flexget.com/InstallWizard/Linux/Scheduling

flexget은 일단 그냥 프로그램으로 설치됩니다. 명령어처럼요. 명령어를 입력해야 1회 작동해요.

그래서 자동 실행을 위해 따로 스케줄링을 설정해줘야 합니다. cron 으로요. systemd의 timers도 사용할 수 있는데, 제가 주기적 자동 실행들을 모아놓은 곳이 cron이기 때문에 여기선 cron으로 설명드릴게요

일단 flexget의 명령어 경로를 알아냅시다.

which flexget
/usr/local/bin/flexget

이런 경로가 나올 거에요. 기억해뒀다가, 이제 crontab을 열어 일정을 입력합시다.

crontab -e

여기에 이렇게 적어주세요

@hourly /usr/local/bin/flexget --cron execute

저장하고 나가면 됩니다 :)


Flexget 설치/설정이 다 됐어요. 가만히 있으면 트랜스미션에 등록됩니다. RSS 사이트가 문제가 생기면 물론 잘 안 될 거에요, 그 땐 새로운 RSS사이트를 찾아 헤매셔야.. RSS 사이트를 스스로 만드는 방법을 알면 좋을텐데요


Flexget에, 제가 올린 트랜스미션 자동 분류/삭제 스크립트를 적용하면 진짜 아무 것도 안 하고 있어도 알아서 다 해줍니다. FTP, WebDAV, Plex 등등으로 꼬박꼬박 방영 다음날(안전빵) 스트리밍할 수 있네요


트랜스미션 스크립트가 조금 잘 안 될 때가 있긴 하지만 지금 여러가지 시도 중입니다... 그냥 삭제만 한다면 상관이 없을 것 같은데 자동으로 파일 분류하는 과정이 너무 오버헤드가 큰 건지 뭐 삭제가 가끔 잘 안 되네요.

반응형