레이블이 flexget인 게시물을 표시합니다. 모든 게시물 표시
레이블이 flexget인 게시물을 표시합니다. 모든 게시물 표시

2016년 3월 6일 일요일

qnap nas에 flexget 설치하고 사용하는 방법-2번째




RSS 설정에 관한 글.......역시 뽐뿌에 있다가 삭제된 글...
http://egloos.zum.com/mizane/v/5892524

OMV에 transmission을 설치해서 토렌트를 받게하는 건 좋은데, 아쉽게도 rss 기능이 없다. rss 기능을 쓰면 원하는 영상을 알아서 받아주므로 손 안대고 코푸는 격..!!
Flexget은 rss에서 .torrent 파일을 다운받아 watch폴더로 쏴주는 역할을 한다.
좀 더 잉여로운 생활을 위해서 힘을 냈다.

 공유 폴더에 다운로드 폴더를 지정해준다. 이러면 다운로드 폴더 바로 아래에 watch 폴더가 생성되며, transmission은 watch폴더에서 .torrent파일을 자동으로 감지하고 토렌트를 추가해준다. 이 watch폴더의 경로는 추후 필요하니 미리 알아두자. 다음 커맨드를 입력한다.

cd /media
ls

복잡한 이름의 폴더가 나오면 메모장에 복붙해둔다. 아, SSH 사용은 필수다.
watch폴더의 경로는 다음과 같다.
/media/[복잡한 이름]/[다운로드 폴더 이름]/watch/

이제 flexget을 설치하자. root 계정으로 로그인 후 먼저 업데이트부터.
apt-get update

파이썬을 설치한다.
apt-get install python

파이썬 설치 후 버전 확인.
python -V
2.7.3이 나왔다.

마저 설치한다.
apt-get install python-pip
apt-get install flexget

flexget이 제대로 설치되었는지 확인한다.
flexget -V

The 'functools32' distribution was not found and is required by jsonschema 오류가 나서 다음 커맨드를 입력했다.
pip install functools32 

다시 제대로 설치되어있는지 확인했다.
flexget -V
1.2.354가 떴다. (2015년 9월 현재)

이제부터는 루트계정 사용하지 말라고 한다. 새 유저를 만들자. 이것저것 설정해줄..필요는 없고 아이디와 비번만 설정하면 된다.
adduser [사용자명]

사용자 등록이 끝나면 사용자 계정으로 로그인한다.
su [사용자명]

flexget이 실행되려면 설정파일이 필요하다. 홈디렉토리에 설정 파일을 만든다. 

우선 설정 파일 저장용 디렉토리를 만든다. 홈디렉토리는 ~이고, 숨김폴더라 폴더 이름 앞에 .이 붙었다.
mkdir ~/.flexget

설정 파일을 만들고 편집한다. nano 에디터를 사용했다.
nano ~/.flexget/config.yml

Flexget은 3단계로 실행된다. input > filter > output
input 단계에서는 말 그대로 뭐든 불러들여서 entries로 만든다. 이 상태에서 불러들여온 entries는 undecided 상태이다. rss가 대표적이지만 그 외에도 여럿 있다.
filter 단계에서는 여러가지 필터를 통해 undecided 상태의 entries를 accept할지, reject할지 정한다. accept도, reject도 안 하면 output단계에서 ignore 해버리니 주의.
output 단계에서는 filter 단계에서 accept된 파일을 어떻게 할지 정한다. 다운로드하거나 트랜스미션으로 전송하거나 등등. Reject되거나 Undecided 상태의 entries는 이 단계에서 Ignore된다. 

간단하게 예제를 만들어보았다.
tasks: #일을 만든다
  [feeds]: #그 일의 이름은 feeds다. (한글이나 기호로도 할 수 있지만 비추.)
    rss: [url]  #rss를 url에서 받아온다.
    regexp:  #Regular Expression(=regexp) 필터를 생성한다. 
      accept:  #다음 단어만 accept 한다.
        - [단어] #필터용 단어 입력
    download: [경로] #해당 파일을 받아 지정한 경로에 다운로드한다.
* 필터에 관한 자세한 설명은 다음 링크를 참조. http://flexget.com/wiki/Plugins#Filters

나는 다음과 같이 만들었다.
tasks:
  feeds:
    rss: http://www.leopard-raws.org/rss.php
    regexp:
      accept:
        - gangsta
        - gintama
    content-size:
      min: 200
      max: 1000
    download: /media/123-34-1231-14-24-123456/Downloads/watch/
*들여쓰기를 한 단계 추가할 때마다 탭이 아니라 스페이스 두 번을 치면 된다. 스페이스 한 번도 아니다.

leopard-raws의 rss는 최근 30개만을 알려주는데, 그 중에서 gangsta와 gintama를 accept하여 200-1000MB 사이의 파일만 다운로드했다. rss에 해당 단어가 없으면 전부 undecided상태로 남아 output단계에서 ignore되고 아무 일도 일어나지 않는다. 

저장경로는 아까 구한 watch 폴더 경로에 저장한다. (/media/[복잡한 이름]/[다운로드 폴더 이름]/watch/) 붙여넣기는 PuTTY에서 오른쪽 클릭, 저장은 Ctrl+O, 종료는 Ctrl+X

저장이 끝나고 문법에 맞는지 확인해본다.
flexget check

제대로 돌아가는지 테스트해본다.
flexget --test execute

제대로 작동하는 걸 확인하면 데몬 모드로 돌리고 세 시간마다 실행되도록 바꾼다.
다시 한 번 설정 파일을 편집한다.
nano ~/.flexget/config.yml

맨 아래에 다음과 같이 추가했다.
schedules:
  - tasks: '*'
    interval:
      hours: 3
'*'는 모든 tasks를 지칭한다. 특정 task만을 지칭할 경우 아까 적은 task 이름을 적는다. 나같은 경우는 feeds.
hours대신에 minutes/hours/days/weeks 등이 쓰인다.

데몬 모드로 돌린다.
flexget daemon start -d

잘 돌아가는지 확인한다.
flexget daemon status

그냥 한 번 실행해보려면
flexget execute

데몬모드로 안 돌리고 cron으로 매 시간마다 실행되게 할 수 있다. 터미널에서 해도 되지만 omv 관리웹의 Scheduled Jobs에서 편하게 할 수 있다. 
시스템 -예약된 작업:: 작업을 추가하고 다음 이미지에 나온대로 설정하면 된다.
Minute에 0은 매시 0분에 실행된다는 뜻이다. 매시 10분에 실행하려면 10으로 고치면 된다. 옆에 Every N Minute는 말 그대로 N분마다 실행하라는 뜻이다. 나같은 경우는 한 시간마다 매시 0분에 실행하도록 설정해놨다. 그리고 중요한 건 아래 user부분. root가 아닌 아까 만들었던 사용자로 설정하면 되고, 그 아래는 어떤 작업을 반복할 것인가를 묻는 말이다. Flexget은 데비안의 경우 대부분 /usr/local/bin/flexget 경로에 설치되므로 
/usr/local/bin/flexget --cron execute
라고 적어준다. 혹시라도 flexget의 위치를 확인하고자 한다면 터미널에서 which flexget이라고 입력하면 된다.

+ 뽐뿌의 상냥한 누군가가 flexget글을 올렸는데, 해킹사태로 탈퇴하셨는지 글이 날아갔다. 여기에 그 분의 닉네임은 삭제하고 백업만 모셔둔다 ㅜㅜ flexget.txt 
+ 그리고 참고한 글 세 개
Flexget 홈페이지의 위키. http://flexget.com/wiki
Transmission에서 RSS를 받아보자!! http://ti.5mango.com/1
Flexget을 통한 RSS기능 연동하기 http://sea8529.blog.me/100191148222
+ 직접적인 관련은 없지만 이번 건으로 리눅스를 처음 접한 나에게 아주 도움이 됐던 글 ㅜㅜ
리눅스의 기본 명령어들 http://www.emh.co.kr/content.pl?linux_basic_commands

qnap nas에 flexget 설치하고 사용하는 방법



qnap에서 flexget를 설치 사용하는 방법에 관해서
뽐뿌에 게시된 글이다..

인터넷 글을 그대로 붙여넣기 한 거라서 글 작성자에게 미안한 마음 한가득...



http://www.ppomppu.co.kr/zboard/view.php?id=nas&no=14568


다운로드스테이션(qget)을 사용하는 유일한 이유는 rss를 이용한 자동 다운이었습니다.
하지만 flexget을 설치하면 transmission을 통해서 같은 작업을 할 수 있기 때문에 검색을 통해 방법을 찾아 봤습니다.
이미 뽐뿌나스게시판에 비슷한 게시글들이 있어서 쉽게 했네요.
제 나스인 TS 231을 기준으로 작성하였으나 qnap것들은 비슷할 것으로 생각됩니다.
그외 나스 사용자들은 참고로 보시면 되겠습니다.


이미 제가 먼저올린 글을 보시고 optware를 설치한 상태여야 합니다.
아래 명령을 따라하면 flexget을 설치할 수 있습니다.

ipkg install python27
ipkg install py27-setuptools
easy_install-2.7 flexget

우리는 트랜스미션을 사용하므로,

easy_install-2.7 transmissionrpc

여기까지 잘 되었다면 다음 명령과 명령에 대한 반응이 이렇게 나옵니다.
/share/CACHEDEV1_DATA/.qpkg/Optware/local/bin/flexget -V

1.2.312
You are on the latest release.

이후,  /opt/local/ 경로에 config.yml을 작성합니다라고 되어 있지만 인식하지 못합니다.
()아마 이게 되는 qnap 나스도 있을건데 제 ts231은 안되네요. )
/root/.flexget/ 경로에 config.yml을 넣습니다.(없으면 폴더를 만드세요.)

작성 요령은 아래 링크를 참조하세요.
헉키님의 config.yml강좌(regexp주의) http://www.ppomppu.co.kr/zboard/view.php?id=nas&page=1&divpage=3&search_type=sub_memo&keyword=rss&no=5378
원쉰님의 rss 강좌: http://www.ppomppu.co.kr/zboard/view.php?id=nas&page=1&divpage=3&search_type=sub_memo&keyword=rss&no=14341

tasks:
  Infinite Challenge:
    rss: http://fullrss.net/a/http/torrentdn.com/bbs/rss.php?k=720p+with&b=
    regexp:
      accept:
        - '무한도전'
    transmission:
      host: 192.168.0.xxx
      port: 9091
      username: 'youradmin'
      password: 'youradminpassword'

          
대충 무엇을 받으려는지 아실겁니다.
이제 이 rss에서 필터링된 토렌트가 트랜스미션에 넘어가도록 설정합니다.

cd /etc/config/
vi crontab

(vi에서는 instert키를 누르면 editing모드가 됩니다.)

30 * * * * /share/CACHEDEV1_DATA/.qpkg/Optware/local/bin/flexget --cron execute
라고 마지막 줄에 넣습니다.
매 30분 마다 실행됩니다. ()이후 별표는 시간 날짜 월 주 단위를 나타냅니다.)
( esc를 누릅니다. :을 누르고 wq를 쳐서 나옵니다.)




RSS 등록에 관한 글 역시 뽐뿌발
http://www.ppomppu.co.kr/zboard/view.php?id=nas&page=1&divpage=3&search_type=sub_memo&keyword=rss&no=14341


이거 등록해놓으면 토렌트 등록되는 드라마나 예능등을 자동으로 받아옵니다. 

(쏘드레방님 조언으로 원글 수정합니다. 지난번에 보신 분들은 수정된 내용으로 다시 설정하세요)

(꼭 시놀/해놀이 아니더라도 다른 NAS 들도 같은 기능 있을겁니다)



다음은 사용법

토렌트dn에서 검색결과로 지원하길래 꼼수 좀 이용했네요. 

(바로 등록은 되질 않아 RSS Feeds 만들어 주는 사이트를 경유합니다)

리스트에서 용량은 제대로 뜨지 않으나, 정상 작동은 합니다.

사용법은 다운로드 스테이션 에서 

RSS Feeds 선택하고 + 로 추가 눌러서..

http://fullrss.net/a/http/torrentdn.com/bbs/rss.php?k=720p+with&b=

주소를 등록 하면 일단 " 720p with "  들을 긁어옵니다.



(자동으로 모든항목 다운로드 체크하면 등록되는 모든 720p with 자료를 다 긁어오니 선택하지 말고 다음단계로..)

등록후에 다운로드 필터를 열고 추가해줍니다.

이름은 대충 자신이 알아볼수 있게만 쓰면 되고..

일치 : 부분이 검색어 이니 잘 생각해서 검색어를 써줍니다. 

원하는 파일이 '띡샤를 잡시다' 라면 '띡샤를' 요 부분만 등록해주면 되겠죠~

필요에따라 대상 폴더까지 세세하게 만들어놓으면 당연히 자동으로 분류되서 들어갑니다~



사용시에 다음과 같이 다운로드 스테이션 설정에서 RSS 업데이트 간격을 적당히 설정하세요.

설정한 시간마다 새로 올라온 글을 자동으로 체크하고, 받고자 등록해둔 검색어가 들어간 파일이 있으면 자동으로 다운로드 합니다





시놀에서 읽혀지는 RSS 피드 만들기..

1. http://torrentdn.com/사이트의 상단 검색창에서 원하는 단어를 입력하고, 검색할 게시판을 드롭다운 메뉴에서 고른후 Search.



(예시는 HDTV 720p 검색어를 토렌트영화 게시판에서 검색)

2. 하단의 자동다운로드RSS 창에서 해당 주소 카피 (Ctrl+C)



3. 바로 쓸수 없는 주소를 RSS 피드를 제작하는 사이트를 통해 바꾸어줍니다. (여기서는 http://fullrss.net/ 이용)

해당 사이트의 주소창에 아까 2에서 카피한 주소를 넣고 컨버트를 누르면 나오는 Feed 주소를 이용하면 되나..

더 간단히는 그냥 눈치껏 써도 됩니다.

아까 2에서 카피한 주소는 http://torrentdn.com/bbs/rss.php?k=HDTV+720p&b=torrent_movie

시놀에 등록해야할 주소는 http://fullrss.net/rss/http/torrentdn.com/bbs/rss.php?k=HDTV+720p&b=torrent_movie   입니다.

잘보니 http://fullrss.net/rss/ 를 카피한 주소앞에 추가해주고, 카피했던 주소의 http:// 에서 :/ 를 지워주면 되겠네요~

이런식으로 등록합니다. 검색어를 적당히 잘 넣어서 피드를 제작해주면 되겠습니다

Citizen Eco-Drive CA0030-61E

Glass Type Sapphire Case Material Titanium Super Titanium (Ti + IP) Strap Material Titanium Super Titanium (Ti + IP) Movement ...