2024. május 8., szerda

Gyorskeresés

Flexget + Transmission, avagy az RSS használata

Írta: | Kulcsszavak: transmission . flexget . rss

[ ÚJ BEJEGYZÉS ]

A Flexget egy nagyon sokoldalú program, mellyel YAWL (Yet Another Workflow Language) szintaktikában megírt kis vezérlő fájlokkal szinte bármilyen letöltésre képes, de mi most elsősorban torrentek (azon belül is egy itthon nem elérhető sorozat és linux disztribúciók) letöltésére fogjuk használni. Ha valakinek többre van szüksége, akkor érdemes megnézni a hivatalos Cookbookot ahol számos példa található. A következő leírást én WD My Cloudon teszteltem, ott tökéletesen működik.

Először is be kell állítanunk, hogy a Transmission figyeljen egy mappát és az oda bekerülő torrenteket automatikusan indítsa el. Ehhez állítsuk meg a transmission daemont:
/etc/init.d/transmission-daemon stop

Ezután MC-vel (vagy ahogy jól esik) keressük meg a Transmission konfig fájlját:
/etc/transmission-daemon/settings.json

A következő sorokat kell módosítanunk: (ha nincs benne alapból, akkor pedig hozzáadni)
"watch-dir": "",
"watch-dir-enabled": false
}

erre:
"watch-dir": "/amit/figyelnél/mappa/",
"watch-dir-enabled": true
}

Mentsük el (CTRL+X), majd indítsuk el a daemont:
/etc/init.d/transmission-daemon start

A Transmissionnel már nincs több dolgunk, jöhet a Flexget telepítése és beállítása.

1. lépés: A python verziójának ellenőrzése (2.6-2.7 közötti verzió szükséges!)
python -V

Ha nem a fent említett verziónk van, akkor:
sudo apt-get install python2.6

2. lépés: Python setuptools telepítése.
sudo apt-get install python-setuptools

3. lépés: Jöhet a Flexget telepítés
sudo easy_install flexget

Ha minden rendben ment, akkor hozzunk létre a root könyvtárunkban egy .flexget mappát, ezen belül pedig egy config.yml fájlt.

Az én konfig fájlom jelenleg így néz ki, de ez természetesen átalakítható/bővíthető:

presets:
tv:
series:
720p:
- The Walking Dead
exists: /amit/figyelnél/mappa/
download: /amit/figyelnél/mappa/

egyeni:
accept_all: yes
exists: /amit/figyelnél/mappa/
download: /amit/figyelnél/mappa/

tasks:
torrentoldalneve:
headers:
Cookie: "uid=**; pass=**"
rss:
url: http://azrsscíme/akármi.xml
preset:
- tv

egyeni:
rss: http://személyesrsscíme/akármi2.xml
preset:
- egyeni

VÁLTOZOTT A FLEXGET! Konfig fájlra példa a cikk végén!

tv --> Maga a preset neve.
720p --> Minőség beállítása, itt lehet még Best-et írni, akkor mindig a legjobb minőségűt keresi. Ezzel a módszerrel az összes utána következő kötőjellel megadott sorozatot (fontos, hogy ugyanott kezdődjenek egymás alatt) ebben a minőségben szedi.
exists --> Egy szimpla ellenőrzés, hogy a letöltendő torrent létezik-e már abban a mappában, ahová töltenél.
download --> Értelemszerűen oda tölti a torrenteket.

accept_all: yes --> Egyéni RSS-nél fontos, hogy minden oda bekerülő bejegyzést fogadjon el, ne legyen kiértékelés

Taskoknál a megnevezések, mint torrentoldalneve és egyeni csak a megkülönböztetést szolgálják.
A torrantoldalneve task-ban látható, hogy hol kell megadni az uid-t és a pass-t, mint bejelentkezési adatot. Ezt a böngészőnkből tudjuk kinyerni, csak az adott oldal cookie-ját kell megkeresni.
url: --> Fontos, hogy közvetlen letöltéses RSS feed-et adjunk ide meg.
preset:
-tv --> Itt hozzárendeljük ezt a taskot a már előzőleg megadott tv presethez.

Az egyéni RSS-nél nincs szükség bejelentkezési adatokra, mert az a link személyes, másnak nem adható ki.

Ha kész vagyunk mentsük el és jöhet a tesztelés. Érdemes megadni valami olyan sorozatnevet, ami benne van az utolsó 100-ban, hogy lássuk jól működik-e a kiértékelés, illetve az egyéni rss-hez is érdemes valamit hozzáadni a próba kedvéért. A következő paranccsal lehet indítani a tesztet:
flexget -v --test

Ki fog értékelni minden bejegyzést, és ha talál egyezést, akkor ezt közölni is fogja velünk.
Ha a tesztben minden rendben volt, akkor érdemes elindítani rendesen is, hogy tényleg megindul-e a letöltés, rendben vannak-e a bejelentkezési adatok.

Ha minden rendben volt, akkor már csak egy dolgunk van: időzíteni a flexget futását.

Keressük meg hol fut a FlexGet és másoljuk ki a visszaadott címet:
which flexget

Valami ilyesmit kell kapnunk: /usr/local/bin/flexget

Nyissuk meg a crontab fájlját:
crontab -e

A végére szúrjuk be a következő sort:
*/5 * * * * /usr/local/bin/flexget -c /root/.flexget/config.yml execute --cron

Itt az 5-ös szám az 5 percenkénti frissítést jelenti, érdemes utánanézni a szabályzatban, hogy mi az a frissítési gyakoriság amit még az adott oldal enged.
Mentsük el a fájlt és már működik is :)

Az új konfig fájl:

tasks:
task1:
headers:
Cookie: "uid=**; pass=**"
rss:
url: http://oldal.neve/rss.xml
series:
720p:
- The Walking Dead
exists: /amit/figyelnél/mappa/
download: /amit/figyelnél/mappa/

task2:
rss: http://oldal.neve/egyeni.xml
accept_all: yes
exists: /amit/figyelnél/mappa/
download: /amit/figyelnél/mappa/

Copyright © 2000-2024 PROHARDVER Informatikai Kft.