Az van, hogy lusta ember vagyok. Persze beoltva infromatikus (a szó amit utálok, ha egy mondatban van velem) vénával, szóval a legrosszabb kombó. De jelen esetben szerencsés is. Általában elmondható rólam, rólunk, hogy sok sorozatot nézünk, igazából az elmúlt évben csak azt. Néha-néha egy film, de a gyerek és munka mellett este már abszolút csak egy 20-40 perces epizódra van erőnk, kedvünk (a tévére elalvásról szerencsére leszoktattam a páromat).
A Raspberry Pi bevezetésével már így is sokat finomodott a film/sorozat nézési technológia. Semmi pendrivera másolgatás és hasonlók. A gépre letöltjük, onnan nézzük. Amióta OSMC van rajta, és a Kodival vetítünk, a feliratokat sem kell „kézzel” letölteni, és odarakni hálózaton, maximum ha valami gebasz van. Szóval a Pi, és a Transmission webes felülete jó ideje bevált csapat, imádom. De a sorozatoknál már untam az ismétlődő munkát. Reggel letölteni a torrentet, felmásolgatni. Fúj. Van ennél biztosan jobb megoldás is.
Azt tudtam, hogy létezik módszer arra, hogy RSS alapján letöltse a kliens a kívánt dolgokat, de mindig túl bonyolultnak gondoltam, és persze lusta volta voltam jobban utána olvasni. Most azonban már tényleg elegem lett, „az én időm drága erre” kiálltás után nekiláttam a megoldás megkeresésének. Először is arra gondoltam (mint kiderült félig-meddig hibásan), hogy jó lenne egy olyan szolgáltatás, ahol össze tudom kattogtatni a sorozatokat, és elkészíteni belőle a saját, testre szabott RSS feedet, amivel már lehet táplálni a klienst. Az alapötlet jó, és számtalan ilyen szolgáltatás van. Én régebben a showRSS-t használtam, és még most is működik, sőt, most kap majd egy kis pofozást a felülete, szebb, és talán jobb lesz. Itt tehát fel tudjuk fenni a sorozatokat, amiket követünk, tudunk minőséget állítani neki, szóval totál testreszabott feedet kapunk. Na most kiderült, hogy ez totál felesleges.
Persze lehet használni a testre szabott feedet, de nem muszáj. Van ugyanis a Flexget nevű csoda, amit kifejezetten ilyen célra készített, bármit (torrent, podcast, sorozat, film, stb) automatizáló alkalmazás. Nincs más dolgunk, mint feltelepítjük, majd kényünk-kedvünk szerint konfiguráljuk. De tényleg. Nagyon sok oldalról megfogható az az egyszerű feladat, hogy itt vannak a sorozataim, töltsd le őket. Ahogy mondtam, az előbbi saját feed összerakása félig-meddig felesleges volt, mert a Flexget tud saját maga is szűrni. De még mennyire. Nemcsak sorozatra, hanem minőségre, méretre, kiskutyára, de talán még kiscicára is. Tehát a showRSS szép és jó, de totál felesleges. Elég bekötni egy masszívabb oldal TV rss feedjét (pl.: KAT), és majd a Flexget configban eldönteni, hogy mit, és milyen minőségben akarunk nézni. Így persze, ha új sorozatot akarunk hozzáadni a letöltési sorunkba, fel kell sshzni az eszközre, ami futtatja a Flexget-et, de azért ez bőven túlélhető feladat. De aki szeretné, használhatja a saját feedes megoldást is, ekkor a Flexgettel nem kell szűrni sorozatra, hanem mindent letöltetni.
A Flexget iszonyat sok mindent tud, és sok fajta klienssel tud kapcsolatba lépni, de én igazából csak pár dolgot állítottam be / fogok beállítani:
- sorozatok neve, hogy miket akarok nézni
- standard minőség (semmi 720p, 1080)
- a sorozat nevének megfelelő mappába töltse le a dolgokat
- a letöltést maga egyébként a Transmission végzi
- ha új dolog kerül be, dobjon egy értesítést a telefonra
Ugorjunk akkor gyorsan a telepítéshez. A leírásom feltételezi azt, hogy valamennyire értesz a linuxhoz, és mondjuk a Transmission már fel van telepítve (gui nem kell, csak a deamon elég nekünk). Nem lesz túl bonyolult:
sudo apt-get install python-pip
sudo pip install flexget
sudo pip install transmissionrpc
Ezek után ellenőrizzük, hogy tényleg sikeres volt-e a telepítés:
flexget -V
Nekem persze elszállt, de rövid utánaolvasás után kiderült, hogy orvosolható ez is:
sudo pip install –upgrade flexget
Ezek után már a Flexget működőképes, már csak egy config fájlt kell csinálni neki. Ezt több helyre rakhatjuk, mivel nekem Transmission van fent, odaraktam a configot is, /etc/transmission-deamon/config.yml.
A config fájl formtuma YAML, ami elsőre elég undorító, ugyanis nincsen semmilyen tagolás, hanem csak space-ekkel és behúzással válasszuk el a különböző blokkokat. A fő blokkban, a templatesben szabhatjuk meg, hogyan dolgozza fel az RSS fájlokat. Ezeket a task részen adhatjuk meg, akár többet is. Nekem van még egy harmadik is, azt csak azért nem másoltam be, mert privát tracker, és benne van a saját kulcsom is. Ezt egyébként alacsony prioritással futtatom, mert első sorban a két open trackerrről tölti le, amit kell. (A templates – tv blokkban a private_torrents azért is kell, mert ha ezt nem állítjuk yes-re, nem fogja letölteni a privát trackerről a fájlokat.)
A következő block a pushbullett, ami egy tök jó, ingyenes szolgáltatás többek között arra is, hogy a telefonunkra értesítést küldjünk. Nem kell más, csak telepíteni a telefonra az appot, regisztrálni, és az API kulcsunkat a konfigurációs fájlba elmenteni. A sorozatokhoz kapcsolodó beállítások a series blokkban vannak. Itt állíthatjuk be, hogy hova töltse le a fájokat a Transmission, milyen minőségben, és persze miket. A Transmission egyértelmű, általában a default beállításokkal telepített Transmissiont nem kell konfigurálni, tud rá csatlakozni a Flexget, ha megadjuk a felhasználó nevet és jelszót.
templates: tv: private_torrents: yes pushbullet: apikey: PUSHBULLET_API_KEY title: "[F] {{series_name}} {{series_id}}" body: "{{title}}\n\nSize: {{content_size}}MB" series: settings: tv: exact: yes propers: 3 days quality: hdtv <720p set: path: /media/USB-HDD/SOROZATOK/{{series_name}} tv: - Arrow - Big Band Theory - Game of Thrones - The Affair - The Knick - The Flash - The Big Bang Theory - American Horror Story - Greys Anatomy transmission: enabled: yes host: localhost port: 9091 username: TRANSMISSION_USER password: TRANSMISSION_PASS tasks: extra: priority: 1 rss: http://extratorrent.cc/rss.xml?cid=8&type=last template: tv kat: priority: 5 rss: https://kat.cr/tv/?rss=1 template: tv
Sikeres futtatás esetén valami hasonlót kéne látnunk:
(kattintásra nagyobb lesz a kép)
A Flexget egyébként rendkívül okos, szépen kiszűri a szemetet, megfelelő dolgokat tölt le, a konfig alapján. Egy epizódot nem tölt le kétszer, tudja, hogy mi van már leszedve, mi nincs. Ha részletesebb információt szeretnénk kapni, akkor a –verbose kapcsolóval is futtasuk.
A Flexget-et viszonylag könnyen működésre bírtam, de egy probléma volt a Rasberryvel, illetve pontosabban az OSMC-vel, hogy a cron nem futott le soha. Ebbe a problémába sokan belefutottak már, ahogy neten olvastam, de végül én csak a következő módon tudtam megoldani:
service cron start
Ezek után már működött a cron, csak be kellett állítani a bejegyzést:
crontab -e
Majd fel kell venni a megfelelő sort:
@hourly /usr/local/bin/flexget execute –cron
Természetesen vehetjük kisebbre is a futtatási időt, de nem érdemes. Ha debuggolni akarjuk, akkor a log fájlt szintén az /etc/transmisson-deamon könyvtárban találjuk, flexget.log néven. Első körben ennyi, persze lehet még sokkal-sokkal kifinomultabb flexget configot csinálni, akár fájl átnevezéssel, normalizálással, stb. Sőt, akár csinálhatunk email értesítést is, vagy napi összefoglalót a letöltött állományokról. Egy következő postban majd valószínűleg írok róla.
Pár hasznos link:
- http://pi.rook.hu/ (kis önreklám, bocsi)
- http://flexget.com/
- https://osmc.tv/
- http://kvz.io/blog/2007/07/29/schedule-tasks-on-linux-using-crontab/