22 Listopada 2024 04:45:31
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· [S] Asus RT-AC56U
· DIR868l OFW asus vs ...
· Szukam zaproszenia n...
· [MOD] FreshTomato-AR...
· Asus RT-AC5300 ,prob...
· archer c6 v3.20
· [S] Nighthawk R7000P...
· [S]Asus RT-AC5300 - ...
· Tanie N100 na promce...
· net z telefonu wifi+...
· Tomato - bugi/proble...
· HUAWEI z światłowodem
· Asus TUF-AX3000_V2 p...
· rt-ax88upro częste ...
· [Howto] Xpenology na...
· Jaki router pod Open...
· Ruter z tomato
· Czy to jeszcze NAS?
· RT AC66U B1
· Wireguard na FreshTo...
Najpopularniejsze obecnie wątki
· Szukam zaproszeni... [19]
· DIR868l OFW asus ... [8]
· [S] Asus RT-AC56U [0]
Ankieta
Jaki procesor posiada twój router?

Broadcom MIPSEL
Broadcom MIPSEL
36% [151 głosów]

Broadcom ARM
Broadcom ARM
52% [219 głosów]

Atheros
Atheros
5% [22 głosów]

Marvell
Marvell
1% [4 głosów]

Ralink
Ralink
1% [3 głosów]

Intel/AMD/VIA
Intel/AMD/VIA
1% [5 głosów]

Żaden z powyższych
Żaden z powyższych
4% [15 głosów]

Ogółem głosów: 419
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
18.191.189.124
Zobacz wątek
OpenLinksys » :: PORTAL :: » Tutoriale
 Drukuj wątek
Flexget na tomato (rss feeds dla transmission i nie tylko)
krisan
Słowem wstępu.

To pierwsze moje takie dzieło tutaj, mam nadzieję, że komuś się przyda.

Jeśli ktoś z Was używał uTorenta i rss-ów do automatycznego ściągania torentów, to pewnie bardzo boleśnie odczuł brak takiej możliwości w transmission. Jednak Flexget w zupełności zapełnia tą lukę: może się łączyć po z transmission-daemon po sieci i przesyłać plik *.torrent, jak i zapisywać go do katalogu tzw 'watch-dir' transmission.

To nie wszystkie z możliwości Flexgeta. Więcej na ten temat tutaj: http://flexget.com


1. Wstępne założenia, zalecenia, uwagi.
1.1. wymagana instalacja optware (w moim przypadku jego lokacja to katalog domyślny /opt) Więcej, np tu.... http://openlinksys.info/forum/viewthr...ad_id=7607
1.2. zalecana aktualna lista pakietów i zaktualizowane pakiety (ipkg update i ipkg upgrade)
1.3. poniższe kroki instalacyjne przeprowadziłem na swoim ruterze i zagwarantowały bezproblemowe na nim działanie
1.4. uwaga: Flexget jak i sam Python wymagają wydajnego procesora oraz odpowiedniej ilości RAM-u do działania. Instalację przeprowadzałem i testowałem na routerze Asus RT-16N (zaobserwowane minimalne wykorzystanie pamięci to ok 17MB). Nie gwarantuję, że na innym routerze będzie działać :-)
1.5 Instalacja na podstawie http://flexget.com/wiki/Install
1.6 Dodatkowe informacje : http://flexget.com, http://openlinksys.info/forum/viewthr...d_id=10204


2. Instalacja (z shell-a lub z menu Tools/System)

2.1 Instalacja Pythona (oficjalnie Flexget wspiera Pythona 2.5 - 2.6 (2.7)
Jeśli nie mamy pewności czy Python jest zainstalowany na routerze to można wykonać polecenia:

Cytat

python2.5 -V
python2.6 -V
python2.7 -V
python -V

aby upewnić się którą wersję posiadamy.

Cytat

ipkg install python26
python2.6 -V
Python 2.6.7


2.2 Instalacja narzędzia do zarządzania paczkami Python-a (easy_install)

Cytat

ipkg install py26-setuptools

(ścieżka do aplikacji Pythona to /opt/local/bin)

2.3 Instalacja Flexget-a

Cytat

easy_install flexget
(easy_install-2.6 flexget)

I idziemy sobie zrobić kawę :)...
... a jeśli nie to... instalowane są teraz wszystkie powiązane i wymagane paczki Pythona ( w najnowszych wersjach). Jeśli instalowaliśmy jakieś z nich w przeszłości poprzez np ipkg py26_* i ich wersja się zgadza - to dana paczka nie będzie instalowana.
Instalacja za pomocą easy_install uprasza znacznie instalowanie 'aplikacji' napisanych w Pythonie. Nie musimy się martwić, że jakiegoś modułu Pythona nie ma dostępnego w repozytorium Tomato. Easy_install (nie tylko easy_install to potrafi ale także inne -> p6.3) zainstaluje brakujące z głównego repozytorium pakietów Pythona (pypi.python.org).


Weryfikacja poprawności instalacji Flexget-a:

Cytat

/opt/local/bin/flexget -V

- powinno wyświetlic aktualną wersję:
1.0r2440

Gdyby w podanej lokacji (czyli /opt/local/bin) nie było flexget-a (a także innych paczek/packages zainstalowanych za pomocą easy_install) , to można go poszukać wykonując komendę:

Cytat

find /opt -iname flexget



2.4 Doinstalowanie paczki wymaganej do komunikacji z transmission-daemon (ta instalacja nie jest wymagane jeśli będziemy się komunikować z transmission za pomocą 'watch-dir'):

Cytat

easy_install transmissionrpc



3. Plik konfiguracyjny i uruchamianie flexget-a.
Bez tego pliku flexget nam nie będzie działał.
Nie ma sensu na tym etapie wchodzić w szczegóły wewnętrzne konfiga. Najlepiej zacząć od przykładowego konfiga i go stopniowo przerabiać korzystając z dokumentacji na flexget.com - wtedy zrozumiemy i odkryjemy jak mocnym narzędziem jest flexget.

3.1 Tworzenie pliku konfiguracyjnego ...
Plik konfiguracyjny tworzymy w formacie YAML (a co to jest YAML? -> http://en.wikipedia.org/wiki/YAML).
- wcięcia za pomocą (dwóch) znaków spacji (zamiast 'tab'-ów)
- flexget ma budowę wtyczek (funkcjonalności, takich jak obsługa seriali telewizyjnych, filmów, e-booków, epg, plików, rss
- plik konfiguracyjny na poziomie głównym zawiera dwa elementy:
. feeds - może być ich jeden lub więcej, każdy może się odnosić do jednego lub więcej 'presets',
jeden feed można porównać do jednego linku do dowolnego rss-a
. presets - jeden lub więcej, pomocne do konfiguracji feedów

Na początek proponuję wykorzystać przykładowy config

PRZYKŁADOWY PLIK KONFIGURACYJNY NA KOŃCU WIADOMOŚCI

W katalogu z plikiem konfiguracyjnym będzie również utworzony log z operacji oraz plik bazy danych flexget-a - który jest sercem aplikacji.

3.2 ... i uruchamianie flexget-a
/opt/local/bin/flexget -c pelna_sciezka_do_pliku_konfiguracyjnego
Nie trzeba podawać parametru -c i ścieżki - flexget wtedy będzie szukał swojego pliku jakim jest config.yml m. in. w bieżącym katalogu (czyli w tym przypadku /opt/local/bin/), ale ze względu na to, że flexget utworzy też w tej lokacji swój log: flexget.log oraz bazę danych db-config.sqlite to proponuję jednak korzystać z innej lokacji.


3.3 Parametry do testowanie poprawności konfiguracji
--check sprawdza poprawność pliku konfiguracyjnego (wskazuje zakazane, a wprowadzone TAB-y)
--test uruchamia flexget-a, ale niczego nie zapisuje



4. Praca z Flexget-em

4.1 Proponuję utworzyć skrypt za pomocą którego jednym poleceniem będziemy uruchamiać Flexget-a i wrzucić go do katalogu do którego jest ustawiona ścieżka (np. /opt/bin).
Przykładowy skrypt 'flexget.sh' do uruchamiania:

NA KOŃCU WIADOMOŚCI


4.2 Flexgeta i cron:
Jeśli flexget.sh to nazwa naszego skryptu uruchamiającego flexget-a (a którego zainstalowaliśmy w p. 2.3) to możemy utworzyć harmonogram do automatycznego uruchamiania flexget-a zgodnie z naszym zapotrzebowaniem :)

Przykładowo:
wprowadzając polecenie (lub wpisując do np: Scripts/Firewalls):

Cytat

cru a skrypt-flexget "10 8,12,22 * * * flexget.sh --cron"

gdzie:
cru a - polecenie systemowe dodające (bo parametr 'a') nowe zadanie do tablicy cron-a,
skrypt-flexget - wymyślona przyjazna nazwa
"10 8,12,22 * * * flexget.sh --cron"
uruchamia codziennie o 8:10, 12:10, 22:10 polecenie 'flexget.sh --cron'
Parametr Flexget-a --cron powoduje zaprzestanie generowania dodatkowych informacji, co szczególnie nadaje się w tej sytuacji.


5. Flexget i Web GUI
Można korzystać z flexget-a także poprzez interfejs webowy. W tym celu zamiast flexget uruchamiamy flexget-webui (czyli flexget z rozdziału 3 zamieniamy na flexget-webui):
- oba korzystają z tej samej bazy danych
- oba mogą korzystać z tego samego pliku konfiguracyjnego.
- flexget-webui ma większe wymagania systemowe (RAM, dodatkowe zadania)

5.1 Uruchamianie Web GUI

Domyślna nazwa użytkownika i hasło to flexget. Port - 5050 (http://IP_ROUTERA:5050 lub http://NAZWA_ROUTERA:5050)
Niestety, interfejs jest w początkowej fazie rozwoju i nie zawsze działa stabilnie.
Z poziomu interfejsu można edytować plik konfiguracyjny.

5.2 Przegląd wybranych zakładek Web GUI:
Configure - edycja pliku konfiguracyjnego
- feed/presets: dodawanie, usuwanie, modyfikacja, zmiana nazw
Execute - wykonywanie poleceń znanych z konsolowej wersji flexget-a:
-- now - przetworzenie pliku konfiguracyjnego
Schedule - ustawienie kiedy poszczególne feed-y mają być uruchamiane (co ile minut)
Series, Movies, Archive - Informacje o ściągniętych Serialach TV. Filmach, Plikach
Shutdown - zakończenie działania transmision-webui, zwolnienie zasobów

Cytat

root@router:/opt/bin# flexget-webui.sh -h
Usage: flexget-webui [options]

Options:
-h, --help show this help message and exit
-V, --version Print FlexGet version and exit.
--bugreport Use this option to create a detailed bug report, note
that the output might contain PRIVATE data, so edit
that out
-c CONFIG Specify configuration file. Default is config.yml
--port=PORT Run FlexGet webui in port [default: 5050]
-d, --daemonize Causes webui to daemonize after starting
--no-auth Runs without authentication required (dangerous).
--username=USERNAME Username needed to login [default: flexget]
--password=PASSWORD Password needed to login [default: flexget]


5.3 Dostęp z internetu (na podstawie http://openlinksys.info/forum/viewthread.php?thread_id=12673)

Cytat

iptables -A INPUT -p tcp --dport 5050 -j ACCEPT


5.4 W celu zmniejszenia zużycia pamięci (i liczby zadań) proponuję uruchamiać flexget-webui z parametrem -d.



6. Inne

6.1 Aktualizacja Flexget-a: easy_install -U flexget
6.2 Deinstalacja: 2 sposoby:
- fizyczne kasowanie (nie zalecam)
- usuwanie za pomocą pip uninstall flexget (wymaga wcześniej instalacja pip-a za pomocą: easy_install pip)
6.3 Aktualizacja/deinstalacja paczek powiązanych z flexgetem które zostały zainstalowane w czasie instalacji flexget-a (p.2.3): patrz 6.1 i 6.2
- w celu przejrzenia zainstalowanych paczek proponuję zainstalować narzędzie pythonowe yolk: eazy_install yolk - wykonanie polecenia "yolk -l" (mała litera L) wyświetli wszystkie zainstalowane Packages w Pythonie
6.4 Alternatywy dla setuptools (easy_install): pip, distribute (więcej info na: pypi.python.org)


7. Na koniec.

7.1 W razie wykrycia błędów/nieścisłości - proszę pisać, będę w miarę możliwości edytował i uzupełniał/poprawiał.
7.2 Masz ciekawy konfig i sposób wykorzystania flexget-a? Pisz.
7.3 Flexget-a można wykorzystać również na NAS-ach, można pod Cygwin-em (Windows) potestować. Szczególnie jak na routerze nie działa.

Połączony z 23 październik 2011 01:49:36:
flexget.sh


#!/bin/sh

[color=#006600]# RUN - weryfikuje czy python2.6 jest uruchomione
# FLEX_CONFIG - sciezka do ISTNIEJACEGO pliku konfiguracyjnego
# FLEX_SCRIPT - sciezka do zainstalowanego Flexget-a
[/color]RUN=`(pidof python2.6 | wc -c)`
FLEX_CONFIG=/opt/local/bin/conf/.flexget/config.yml
FLEX_SCRIPT=/opt/local/bin/flexget
[color=#00cc00]# FLEX_SCRIPT=/opt/local/bin/flexget-webui[/color]

if [ "$RUN" == "0" ] then
  logger Starting Flexget ...
  $FLEX_SCRIPT -c $FLEX_CONFIG "$@"
  logger Flexget is stopped.
else
  echo "Python(Flexget) jest uruchomiony, pomijam uruchamianie!"
fi



config.yml:

feeds:
  feed-shows-przyklad1:
    preset:
      - pr-myseries-list1
      - tv-output-bt
    priority: 11
    quality: hdtv
    rss: http://www.ezrss.it/feed/
  feed-shows-przyklad1A:
    preset:
      - pr-myseries-list1
      - tv-output-bt
    priority: 10
    rss: http://www.ezrss.it/search/index.php?show_name=Bones&show_name_exact=true&date=&quality=HDTV&quality_exact=true&mode=rss

  feed-shows-przyklad2:
    preset:
      - pr-myseries-list2
      - tv-output-download
    priority: 50
    quality: hdtv
    rss: http://www.ezrss.it/feed/

  feed-shows-przyklad2A:
    preset:
      - pr-myseries-list2
      - tv-output-bt
    priority: 51
    rss: http://www.ezrss.it/search/index.php?show_name=Dexter&show_name_exact=true&date=&quality=HDTV&quality_exact=true&mode=rss

presets:
  pr-myseries-list1:
    series:
      - Alphas
      - Bones:
          watched:
            episode: 13
            season: 5
      - Criminal Minds:
          exact: true
          watched:
            episode: 23
            season: 5
  pr-myseries-list2:
    series:
      - CSI New York:
          exact: true
          watched:
            episode: 22
            season: 7
      - CSI:
          exact: true
          watched:
            episode: 22
            season: 11
      - Dexter:
          watched:
            episode: 12
            season: 4

  tv-output-bt:
    add_trackers:
      - http://tracker.publicbt.com/announce
      - http://tracker.openbittorrent.com:80/announce
      - http://tracker2.istole.it:6969/announce
      - http://tracker.ccc.de:80/announce
      - http://genesis.1337x.org:80/announce
    regexp:
      reject:
        - .rar
        - .zip
    transmission:
      host: 192.168.1.4
      password: t0rrent
      port: 8080
      ratio: 50
      username: torrent
  tv-output-download:
    download: /nas/torrents-watch-dir/


Połączony z 13 listopad 2011 19:22:19:
fajny tutek gratuluje i w miare mozliwosci prosze o wiecej :)

ja napotkalem na jeden problem opisze rozwiazanie dla potomnych :). Przy wpisywaniu easy_install flexget albo easy_install-2.6 flexget pojawil mi sie nasatepujacy blad. Nie wystepowalo to w czystej optware ale przy zaistalowanym pyLoadzie ktory korzysta z pythona juz tak.


error: /opt/local/lib/python2.5/site-packages (in --site-dirs) is not on sys.path


aby to naprawic nalezy zmodyfikowac plik /opt/lib/python2.6/distutils/distutils.cfg


site-dirs =/opt/local/lib/python2.5/site-package

zamienic na

site-dirs =/opt/lib/python2.6/site-package

Edytowany przez Adooni dnia 13-11-2011 19:22
[small]Asus RT-N16: http://tomato.groov.pl/tomatoanon.php...0c5eb9d583
Tomato Firmware 1.28.0000 MIPSR2-12x K26 USB VPN

[b][color=#000099]Siemens Gigaset C475IP VoIP & Land
 
krisan
Dzięki Adooni za powyższe uzupełnienie. Coś mi świta, że miałem z tym w przeszłości problem i zrobiłem link symboliczny aby rozwiązać


8. Problemy z uruchomieniem flexget-a

Często powodem poniższych komunikatów:


If you're sure there is no other instance running, delete {Ścieżka-Do-katalogu=pliku=konfiguracyjnego}/.config-lock


lub



jest za mała ilość dostępnej pamięci (RAM) na routerze. Powodem może być też długo działający transmission-daemon (np. w wersji 2.41) który prawdopodobnie nie zwalnia przydzielonych sobie zasobów -restart transmission pomaga.
[small]Asus RT-N16: http://tomato.groov.pl/tomatoanon.php...0c5eb9d583
Tomato Firmware 1.28.0000 MIPSR2-12x K26 USB VPN

[b][color=#000099]Siemens Gigaset C475IP VoIP & Land
 
kocio07
Bardzo dobry tutek, instalacja poszła bez najmniejszych problemów. Teraz tylko zrobić dobry config i ogień Grin
Asus RT-N16 1.28.0000 MIPSR2-083V-PL K26 USB AIO + NAS Synology DS112 DSM 4.1-2567
 
eRd
Ja mam problem z zainstalowaniem flexgeta. Otrzymuję taki komunikat:

error: /opt/local/lib/python2.5/site-packages (in --site-dirs) is not on sys.path

Mam zainstalowanego pythona, pythona25, a teraz doinstalowałem pythona27 oraz py27setup-tools i po wykonaniu polecenia easy_install-2.7 flexget otrzymuję właśnie ten komunikat.
WRT54GL v 1.1 Tomato Firmware 1.28.0005 108 ND VPN + 11 użyszkodników na kablu + 1 wifi Wink
Netgear WNR3500L v1 @500MHz Tomato Firmware 1.28.0000 MIPSR2-108 K26 USB BTgui-VPN
PAP2T soft 5.1.6 LS / IPFON
Zotac HD-ID11 (ION2),
 
krisan
@eRD Pod koniec pierwszego mojego posta Adooni wskazał problem i sposób jego rozwiązania. Ja w drugim poście opisałem alternatywny sposób jego rozwiązania. Jeśli nie zadziałają daj znać.
 
eRd
Ale gafę strzeliłem. Nie doczytałem posta do końca, bo się wyłożyłem już na początku :D W takim razie próbuję dalej ;) Dzięki
Zainstalowało się, ale nie mam pojęcia jak stworzyć ten plik .yml. Będę jutro próbował dalej to odpalić. Dodam tylko, że do rutorrenta wystarczyło wrzucić jedną wtyczkę do katalogu z programem, a potem w w gui dodać link do rss, więc było znacznie prościej. :(

EDIT:
Stworzyłem sobie plik config.yml w katalogu /opt/local/bin o takiej treści:

feeds:
  tv-shows:
    rss: http://showrss.karmorra.info/rss.php?user_id=xxx&hd=0&proper=0
    series:
      - house
    download: ~/nas/pobrane/torty

i po odpaleniu
flexget --check o trymuję komunikat:
2012-02-19 10:50 WARNING manager There are no feeds to execute, please add some feeds

Co z tym fantem zrobić? Potrzebuję przynajmniej na początek najprostszego configa jaki jest możliwy, a potem będe go sobie modyfikował ewentualnie.
Dlaczego lepiej żeby plik config nie był w tym samym katalogu co flexget i w jakim w takim razie proponujesz go umieścić?
Edytowany przez eRd dnia 19-02-2012 11:04
WRT54GL v 1.1 Tomato Firmware 1.28.0005 108 ND VPN + 11 użyszkodników na kablu + 1 wifi Wink
Netgear WNR3500L v1 @500MHz Tomato Firmware 1.28.0000 MIPSR2-108 K26 USB BTgui-VPN
PAP2T soft 5.1.6 LS / IPFON
Zotac HD-ID11 (ION2),
 
krisan

Cytat

eRd napisał(a):
2012-02-19 10:50 WARNING manager There are no feeds to execute, please add some feeds
Co z tym fantem zrobić? Potrzebuję przynajmniej na początek najprostszego configa jaki jest możliwy, a potem będe go sobie modyfikował ewentualnie.

Plik config.yml istnieje, ale jest pusty lub nie zawiera feeds-ów. Dlatego podaj jawnie ścieżkę do konfiga przez parametr -c. Prawdopodobnie korzysta z innego pliku konfiguracyjnego, niż ty przygotowałeś.
W twoim przypadku, najprostszym konfigiem byłby (nie mam konta na kammora, więc na szybko mój link+ścieżka do watchdir):

feeds:
  tv-shows:
    rss: http://showrss.karmorra.info/feeds/36.rss
    series:
      - house
    download: /mnt/data/torrents-watch-dir

Pamiętaj, że większość RSS-ów ma ok 30 pozycji, więc w ten sposób nie ściągniesz więcej niż jest na RSS-ie. Rozwiązaniem jest wykorzystanie RSS-a lub normalnej strony ze wszystkimi pozycjami przy pobieraniu nowej pozycji.


Cytat

Dlaczego lepiej żeby plik config nie był w tym samym katalogu co flexget i w jakim w takim razie proponujesz go umieścić?

Deklarując jawnie ścieżkę jako parametr - ty masz program pod kontrolą, a nie on ciebie - idealny przykład powyżej. Dodatkowo nie mieszasz pliku konfiguracyjnego i logu i bazy flexgeta z pozostałymi binariami w opt/bin.
Proponuję stworzyć skrypt wywołujący flexget-a, np. jeśli chcesz aby ścieżka do konfiga była /opt/bin to wtedy masz (zmodyfikowany przykład z końcówki pierwszego postu):

#!/bin/sh

# RUN - weryfikuje czy python2.6 jest uruchomione
# FLEX_CONFIG - sciezka do ISTNIEJACEGO pliku konfiguracyjnego
# FLEX_SCRIPT - sciezka do zainstalowanego Flexget-a

# Sprawdza czy Python w wersji 2.6 uruchomil skrypt Flexgeta:
RUN=`(pidof python2.6 | wc -c)`
#FLEX_CONFIG=/opt/local/bin/.flexget/config.yml
FLEX_CONFIG=/opt/bin/config.yml
FLEX_SCRIPT=/opt/local/bin/flexget

if [ "$RUN" == "0" ] then
  logger Starting Flexget ...
  $FLEX_SCRIPT -c $FLEX_CONFIG "$@"
  logger ... flexget is stopped.
else
  echo "Python(Flexget) jest już uruchomiony, pomijam uruchamianie!"
fi

Proponuję uruchamianie flexgeta z parametrem -v (verbose) oraz --bugreport aby uzyskać więcej informacji. W pliku flexget.log w katalogu w którym masz plik konfiguracyjny flexget-a będziesz też miał dodatkowe informacje.
[small]Asus RT-N16: http://tomato.groov.pl/tomatoanon.php...0c5eb9d583
Tomato Firmware 1.28.0000 MIPSR2-12x K26 USB VPN

[b][color=#000099]Siemens Gigaset C475IP VoIP & Land
 
eRd
Mniej więcej doszedłem do sedna, ale teraz pojawia się pytanie. Korzystając z tej prostej wersji configa dodaje mi cały ostatni sezon do pobierania. Jeżeli w transmission usunę te już niepotrzebne obejrzane do tej pory odcinki to flexget to zapamięta? Jak korzystałem z rtorrenta+rutorrenta to po takim usunięciu już ich kolejny raz nie pobierał. Czy w tym przypadku jest podobnie?
Widzę, że w tej bardziej rozbudowanej wersji configa jest informacja o pomijaniu odcinków starszych niż np. s05e12, ale jeżeli te pobrane odcinki przenoszę do innego katalogu jak już się ściągną to znów będą pobierane?
Nie wiem czy jasno to opisałem, ale mam nadzieję, że wiesz o co mi chodzi :)

EDIT:
Zapamiętuje, że pliki już były dodawane do kolejki, więc jak na moje potrzeby świetnie sprawdza się prosty Config. Dodam sobie jeszcze do schedulera skrypt wywołujący flexgeta i będzie cacy :D

To teraz kilka słów wyjaśnień z mojej strony... Może się komuś przyda
Dotychczas miałem na dysku /nas folder pobrane, a w nim żeby nie śmiecić plikami .torrent dodałem folder torty.
Żeby transmission wiedziało, że ma sobie zaczytywać te pliki musiałem dodać watchdir w tomato (USB and NAS->BitTorrent Client->Custom configuration). W polu tym dodałem:

"trash-original-torrent-files": true,
"watch-dir": "/nas/pobrane/torty/",
"watch-dir-enabled": true,

Jak widać oprócz watch-dir dodałem jeszcze trash-original-torrent-files co pozwala znów utrzymać porządek. Dzięki tej funkcji zaraz po tym jak transmission doda plik do kolejki pobierania plik .torrent jest usuwany z folderu torty. Pamiętajcie o przecinkach po kolejnych poleceniach!
Wiele dodatkowych funkcji transmission można zgłębić po naciśnięciu napisu transmission zaraz nad napisem custom config - bardzo fajne i wygodne, że link się tam znalazł - brawa dla deweloperów.

Teraz jeśli chodzi o config...
W katalogu /opt/local/bin/.flexget stworzyłem plik config.yml, a w katalogu /opt/local/bin plik flexget.sh (z nadanymi prawami do wykonywania).
Oto treść moich plików:
config.yml

feeds:
  tv-shows:
    rss: http://showrss.karmorra.info/rss.php?user_id=xxx&hd=0&proper=0
    series:
      - xxx
      - xxx
      - xxx
      - xxx
      - xxx
      - xxx
      - xxx
    download: /nas/pobrane/torty

, gdzie xxx w linku to będzie nasze id (link generujemy na stronie showrss.karmorra.info w zakładce feeds w pozycji your feed address). Iksy po myślnikach to tytuły seriali zgodne z tytułami na stronie showrss w zakładce your shows.

flexget.sh

#!/bin/sh

# RUN - weryfikuje czy python2.6 jest uruchomione
# FLEX_CONFIG - sciezka do ISTNIEJACEGO pliku konfiguracyjnego
# FLEX_SCRIPT - sciezka do zainstalowanego Flexget-a

# Sprawdza czy Python w wersji 2.6 uruchomil skrypt Flexgeta:
RUN=`(pidof python2.6 | wc -c)`
FLEX_CONFIG=/opt/local/bin/.flexget/config.yml
FLEX_SCRIPT=/opt/local/bin/flexget

if [ "$RUN" == "0" ] then
  logger Starting Flexget ...
    $FLEX_SCRIPT -c $FLEX_CONFIG "$@"
      logger ... flexget is stopped.
      else
        echo "Python(Flexget) jest już uruchomiony, pomijam uruchamianie!"
        fi


Nareszcie udało mi się to złożyć w całość. Zobaczymy jutro czy wszystko działa jak należy :D Swoją drogą szkoda, że w transmission nie ma bezpośrednio rssa, bo bardzo ułatwiłoby to zadanie.
Dzięki krisan jeszcze raz za pomoc.
Edytowany przez eRd dnia 19-02-2012 15:43
WRT54GL v 1.1 Tomato Firmware 1.28.0005 108 ND VPN + 11 użyszkodników na kablu + 1 wifi Wink
Netgear WNR3500L v1 @500MHz Tomato Firmware 1.28.0000 MIPSR2-108 K26 USB BTgui-VPN
PAP2T soft 5.1.6 LS / IPFON
Zotac HD-ID11 (ION2),
 
krisan
To co robisz w transmission, ba , to co robisz poza flexgetem, nie wpływa na (nie)ściąganie tego, co zdefiniowałeś w configu Flexget-a. Flexget-a to absolutnie nie obchodzi. Flexget sam zapamiętuje to co ściągnął. Jak przyjrzysz się logowi - zobaczysz jak działa jego logika.

Warto też skorzystać z opcji konfiguracyjnych samych rss-ów/url-i oferowanych na stronach - dzięki czemu można wybrać, np. rozdzielczość, dystrybucję, format, itd itp.

Przyjrzyj się i przeanalizuj jeszcze raz config z pierwszego posta. Tam znajdują się definicje 4-ech feedów (3 przykłady - łączenie bezpośrednie z transmission, czwarty wykorzystuje watchdir-a). Każdy jest prawie identyczny dlatego w celu uniknięcia powtarzania się pewnych fragmentów niektóre z nich wrzuciłem do 'presets'. Główna różnica to link do strony www/rss.

I taka uwaga na koniec - wykorzystanie Flexgeta ma sens do ściągania materiałów (czy to jak w tym przypadku seriali, czy też aktualizacji oprogramowania, dystrybucji np. Linuxa, źródeł...) które co jakiś czas pojawiają się w nowszej (kolejnej) wersji. Nie ma sensu tworzyć reguł dla ściągnięcia jakiś historycznych plików torrent. Wtedy najlepiej ręcznie go załadować do transmission.
[small]Asus RT-N16: http://tomato.groov.pl/tomatoanon.php...0c5eb9d583
Tomato Firmware 1.28.0000 MIPSR2-12x K26 USB VPN

[b][color=#000099]Siemens Gigaset C475IP VoIP & Land
 
eRd
Niestety, ale po odpaleniu flexget.sh przestaje działać mi watchdir. Dodaję plik do watchdira, ale go transmission nie zaczytuje. Co może być nie tak?
WRT54GL v 1.1 Tomato Firmware 1.28.0005 108 ND VPN + 11 użyszkodników na kablu + 1 wifi Wink
Netgear WNR3500L v1 @500MHz Tomato Firmware 1.28.0000 MIPSR2-108 K26 USB BTgui-VPN
PAP2T soft 5.1.6 LS / IPFON
Zotac HD-ID11 (ION2),
 
krisan
1. jak uruchamiasz transmission? (transmission-daemon). Transmission wbudowane czy optware?
2. W zależności od odpowiedzi powodem może być zły konfig, żle sformatowany, brak "watch-dir-enabled": true (bo np. nadpisywanie jest plik konfiguracyjny) - jest jakaś funkcja w gui która sprawdza czy transmission działa, ona ci może mieszać, jeśli uruchamiasz ręcznie transmission. Jeśli "watch-dir-enabled": true jest ostatnim parametrem, może przecinek miesza?

3. Alternatywne rozwiązanie: Wykonujesz punkt 2.4 z pierwszego mojego postu tutaj, a następnie zamiast:

    download: /watchdirpath/
dajesz:

      host: 127.0.0.1*
      password: TenSamCoDoGUI/www
      port: TenSamCoDoGUI/www
      username: TenSamCoDoGUI/www
      opcjonalnie_inny_parametr: ijegowartoasc

parametry opcjonalne i opis wszystkich masz tutaj:
http://flexget.com/wiki/Plugins/trans...ansmission

4. Ja aktualnie używam flexget&transmission mniej więcej tak:
- transmission wyłączony kompletnie z GUI
- własny plik konfiguracyjny transmission
- transmission z optware, uruchamiany z /opt/bin/.... -g config

W schedulerze mam uruchomioną sekwencję (można to też dodać do cron-a poprzez cru):
A.) Skrypt sprawdzający czy są wykonywane jakieś zadanie w transmission
- jeśli tak, to: usuwa zakończone, resumuje wstrzymane zadania (czasem po dodaniu torenta, ten wisi spauzowany aż się nie zrobi resume)
B.) Sprawdza zadania: jeśli nie ma (brak zadań) - restart transmission, a gdy transmission wyłączony to go uruchamia
C.) Uruchomienie flexgeta (używam opcji z p. 3 zamiast watchdir-a)
D.) Ponownie Skrypt sprawdzający czy są wykonywane jakieś zadanie w transmission
- jeśli tak, to: usuwa zakończone, resumuje wstrzymane zadania
E.) Sprawdza zadania - jeśli nie ma(brak zadań) - killuje transmission
F.) można by tu wrzucić wywołanie napiprojekt.


* jeśli masz "rpc-whitelist-enabled": true, pamiętaj aby dodać
"rpc-whitelist": "127.0.0.1,
lub odpowiedni IP/host w zależności od konfiguracji sieci
Edytowany przez krisan dnia 25-02-2012 00:45
 
eRd
1. Transmission wbudowane w gui.
2. Jak nie daje przecinka na końcu to się transmission wcale nie chce załadować, a jak dam przecinek to działa i w pliku .json jest to ostatnie polecienie - co ciekawe bez przecinka. Wtedy watchdir działa bez zarzutu do momentu odpalenia flexgeta.
Na razie zrezygnowałem z watchdira na rzecz drugiej możliwości. Zobaczymy jak się będzie sprawować. Skoro już mam to transmission wbudowane to chciałbym właśnie z niego korzystać. Jeżeli dodawanie torrentów bezpośrednio do gui transmission będzie działać to na tym spocznę Smile

EDIT:
Wykorzystanie drugiej opcji z logowaniem flexgeta do transmission działa bez zarzutu. Jaką macie prędkość pobierania ustawioną dla transmission? U mnie po ustawieniu 1000kB/s potrafił się klient wyłączyć Wink W zasadzie to aż tak szybko nie potrzebuję ściągać, ale z drugiej strony dysk szybciej by w idle przechodził Grin
Teraz ustawiłem na 500 i zobaczymy jak ze stabilnością.
Edytowany przez eRd dnia 29-02-2012 17:17
WRT54GL v 1.1 Tomato Firmware 1.28.0005 108 ND VPN + 11 użyszkodników na kablu + 1 wifi Wink
Netgear WNR3500L v1 @500MHz Tomato Firmware 1.28.0000 MIPSR2-108 K26 USB BTgui-VPN
PAP2T soft 5.1.6 LS / IPFON
Zotac HD-ID11 (ION2),
 
krisan
@eRd
1 Mb/s, podobnie się zdarza, tylko że klient wylatuje, zamiast grzecznego wyłączenia :>

Możesz wpisać do schedulera/cron polecenia/skrypt który ci będzie sprawdzał czy transmission wyleciał - jeśli tak, to uruchamiasz transmission.

Proponuję też takie sprawdzanie wrzucić przed wywołaniem flexget-a.
[small]Asus RT-N16: http://tomato.groov.pl/tomatoanon.php...0c5eb9d583
Tomato Firmware 1.28.0000 MIPSR2-12x K26 USB VPN

[b][color=#000099]Siemens Gigaset C475IP VoIP & Land
 
eRd
Tak jak napisałem, aż taka prędkość nie jest mi nadzwyczaj potrzebna Wink Ciekawy tylko byłem ile potrafi taki router uciągnąć. Czy taki skrypt to nie to samo co funkcja keep alive?
WRT54GL v 1.1 Tomato Firmware 1.28.0005 108 ND VPN + 11 użyszkodników na kablu + 1 wifi Wink
Netgear WNR3500L v1 @500MHz Tomato Firmware 1.28.0000 MIPSR2-108 K26 USB BTgui-VPN
PAP2T soft 5.1.6 LS / IPFON
Zotac HD-ID11 (ION2),
 
Adooni
@eRd widzisz keep alive sprawdza czy transmission jest w procesach jak nie to go włącza. Problem w tym że ciagle ale juz nie tak czesto dzieki pracy Shibby'iego po prostu transmission sie zwiesza pozostaje w procesach ale nie odpowiada i przydaje sie skrypt do wlaczania wylaczania transmission ustawiony co 1-2h np.
Orange 300/50 Mb/s + ONT Terminal
HPE MS gen8 Proxmox 7.0-11 VMs: Router OPNsense 23.X-amd64 and OMV
HPE MicroServer gen8: Xeon E3-1265Lv2, 16GB (2x KTH-PL316E/8G), HP 331T, 4x4TB WD RED
Asus RT-AC68U AccessPoint
 
Przejdź do forum
Zaloguj
Wprowadź adres e-mail lub nazwę użytkownika

Hasło



Nie masz jeszcze konta? Zarejestruj się.

Zapomniałeś/aś hasła?
Aktualnie online
· Gości online: 78

· Użytkowników online: 0

· Łącznie użytkowników: 24,115
· Najnowszy użytkownik: Ja
Czat
Musisz się zalogować, aby opublikować wiadomość.

Maniek91PL
06-11-2024 22:37
dzięki !Grin

maxikaaz
29-10-2024 14:27
@Maniek91PL - Administration=> Admin Access, i tam masz "Allow Wireless Access" do zaznaczenia

Maniek91PL
26-10-2024 22:07
siemka! ktoś przypomni co się ustawiało jeśli nie mogę wejść od strony wifi do tomato? od lan działa

overflow2
04-10-2024 17:34
Kupowałem Asusy n10u albo n12d1 ale nie widzę ich, chyba już nie produkują, Chodzi o coś nowego i taniego. Transfery niewielkie.

maxikaaz
04-10-2024 09:38
@overflow2 patrząc po dostępności funkcji w nowych kompilacjach, to chyba nawet WRT54G/GL jeszcze ma OpenVPN, albo jakiś odpowiednik... zależy, na jakie transfery liczysz.

overflow2
30-09-2024 20:53
Jaki aktualnie najtańszy router do tomato do openvpn?

maxikaaz
27-07-2024 15:07
@servee - na początek router do rozebrania i obejrzenia, ciężko wróżyć tak tylko po objawach

maxikaaz
27-07-2024 14:55
@servee - cały kontroler nie pada tak sobie z powodu "zbiegu okoliczności",
więc prawdopodobnie gdzieś przepięcie.

servee
25-07-2024 13:33
@maxikaaz: działało, aż pewnego pięknego dnia przestało działać. W tym dniu była też burza, ale to raczej zbieg okoliczności.

maxikaaz
25-07-2024 11:38
@servee - o ile problem jest w obrębie samych wyjść (dławiki, warystory), to naprawialne, ale jeśli w samym SoC - to nienaprawialne ze względu na koszta. A co było przyczyną?

95,197,432 unikalnych wizyt