Automatycznie pobieranie torrentów z RSS

Opisów dotyczących pobierania plików z feedów popełniłem co najmniej dwa(pierwszy,drugi). Wykorzystałem w nich naprawdę potężne narzędzie jakim jest FlexGet oraz swietny klient torrentów transmission. Jednak dotyczyły to dużych Linuksów, poniżej opisy dotyczące OpenWrt.

Taka funkcjonalność jest przed wszystkim niezwykle wygodna, jednak żeby z niej skorzystać trzeba dysponować większą przestrzenią na dysku, dlatego zaleca się przeniesienie systemu na dysk zewnętrzny.

Musimy zainstalować następujące pakiety:

opkg update
opkg install python python-sqlite3

FlexGet

Oprócz pakietów wymaganych(python itd.), instalujemy.

opkg update
opkg install python-openssl subversion-client python-expat

Pobieramy najnowszą - niestabilną wersję FlexGet za pomocą svn. Ścieszka jest dowolna, tutaj domyślny katalog domowy usera 'root'

cd /root/
svn co http://svn.flexget.com/trunk flexget-dev

Instalujemy FlexGet, trochę bo trwa

cd flexget-dev
python bootstrap.py

Instalujemy transmissionrpc, umożliwiający współprace z transmission

bin/easy_install transmissionrpc

Tworzymy plik konfiguracyjny, w którym umieszczamy feed RSS i wybrane seriale, filmy

mkdir /root/.flexget
nano /root/.flexget/config.yml

PRZYKŁAD 1:

presets:
  tv_bt:
    series:
      settings:
         hdtv:
           quality: hdtv
         720p:
           quality: 720p
    hdtv:
      - Fringe
      - Smallville
    720p:
      - Lie to Me
      - The Event
    set:
      path: /mnt/sdb1/%(series_name)s
  transmissionrpc:
    host: 127.0.0.1
    port: 9091
    removewhendone: True
feeds:
  shows_torrent:
    rss: http://rss.bt-chat.com/?cat=9
    preset: tv_bt

W tym przykładzie działanie jest proste. Pobiera odpowiednie seriale z wybranych jakościach obrazu. Pobrane plik są automatycznie usuwane z klienta i przenoszone do /mnt/sdb1/(Nazwa-Serialu).

PRZYKŁAD 2:

global:
  email:
    from: from@gmail.com
    to: to@gmail.com
    smtp_host: smtp.gmail.com
    smtp_port: 587
    smtp_login: true
    smtp_username: gmailUser
    smtp_password: gmailPassword
    smtp_tls: true
presets:
  tv_bt:
    series:
      settings:
         hdtv:
           quality: hdtv
         720p:
           quality: 720p
    hdtv:
      - Fringe
      - Smallville
    720p:
      - Lie to Me
      - The Event
    set:
      path: /mnt/sdb1/%(series_name)s
  transmissionrpc:
    host: 127.0.0.1
    port: 9091
    removewhendone: True
feeds:
  shows_torrent:
    rss: http://rss.bt-chat.com/?cat=9
    preset: tv_bt
    email:
      active: True
      

Przykład podobny do pierwszego z tą różnicą, że zostaniemy poinformowani o pobranym pliku emailem(tutaj gmail).

Na stronie projektu jest przedstawione jak wykorzystać FlexGet z transmission w sposób bardziej zaawansowany.

Możemy sprawdzić czy układ pliku jet poprawny

bin/flexget --check

lub pobrać wybrane torrenty (opcja -v czyli tryb verbose - więcej informacji w tym błędy)

bin/flexget -v

ewentualnie ciche działanie

bin/flexget -q

Automatyzacja

Pozostaje dodać wszystko do crona

crontab -e
*/30 * * * * /root/flexget_dev/bin/flexget -q
zastosowania/transmission-rss.txt · ostatnio zmienione: 2011/02/08 17:34 przez arteq
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0
Profesjonalny Hosting