PyLoad: Unterschied zwischen den Versionen
imported>Pgoeri |
imported>Pgoeri |
||
Zeile 184: | Zeile 184: | ||
Details siehe: http://flashgot-pgoeri.googlecode.com | Details siehe: http://flashgot-pgoeri.googlecode.com | ||
''' | |||
Tutorial:''' http://code.google.com/p/flashgot-pgoeri/wiki/HowToSetupFlashGotForPyLoad | '''Tutorial:''' http://code.google.com/p/flashgot-pgoeri/wiki/HowToSetupFlashGotForPyLoad | ||
''Info zu den Settings:'' | ''Info zu den Settings:'' | ||
Zeile 194: | Zeile 194: | ||
Autostart Downloads: | Autostart Downloads: | ||
: | :Aktivieren, sonst bleiben die Downloads im Collector, bis du sie da startest | ||
Version vom 26. Januar 2013, 06:35 Uhr
Allgemeine Informationen
pyLoad ist ein Download-Manager für One-Click-Hoster.
PyLoad kann mittlerweile auch als 3rd-Party-App installiert werden. Weitere Informationen sind in diesem Foren-Thread zu finden.
Voraussetzungen
- Zugriff auf das NAS per Kommandozeile muss aktiviert sein
- IPKG muss installiert sein, am besten mit der erweiterten Startup/Shutdown Variante
Installation
Die nötigen Installationsschritte sind einem Beitrag im englischen QNAP-Forum entnommen.
Zugriff auf das NAS per Kommandozeile
Benötigte Tools installieren
ipkg install screen nano wget unzip unrar psmisc
Python und Abhängigkeiten installieren
ipkg install python py25-crypto py25-curl libcurl py25-openssl py25-django py25-pil tesseract-ocr tesseract-ocr-lang-eng ossp-js
pyLoad herunterladen
0.4.9 ist die aktuelle Version (Stand 14.12.11)
cd /opt wget http://get.pyload.org/get/src/0.4.9/ unzip pyload-src-v0.4.9.zip rm pyload-src-v0.4.9.zip cd pyload/
Anmerkung: Mitlerweile steht Pyload auch als ipkg Packet bereit die Installation sieht dann wie folgt aus:
pyLoad wird unter /opt installiert, bitte prüfe zuerst ob das auch dein IPKG Installationspfad ist.
ipkg install wget tesseract-ocr tesseract-ocr-lang-eng ossp-js unrar wget http://get.pyload.org/static/pyload-v0.4.9-noarch.ipk ipkg install pyload-v0.4.9-noarch.ipk pyLoadCore -s [Für das Setup, kopiere nicht diese Nachricht in Klammern!]
Konfiguration
Das Konfigurationsverzeichnis (hier werden auch die Downloads gespeichert) sollte geändert werden, z.B. /volume1/pyload
cd module/config/ echo "/volume1/pyload" >> configdir
pyLoad ausführbar machen
chmod +x /opt/pyload/pyLoadCore.py
pyLoad starten
python /opt/pyload/pyLoadCore.py
Beim ersten Aufruf erscheint der Konfigurations-Assistent, die Einrichtung ist relativ selbsterklärend und gut beschrieben.
Eine möglichkeit PyLoad starten zu lassen ist mit screen pyLoad im Hintergrund laufen lassen
screen -dmS python /opt/pyload/pyLoadCore.py
Dies verhindert den Abbruch des Programms beim Beenden der Kommandozeile
Reconnect
Um Pyload effektiv nutzen zu können, ist ein automatischer reconnect sinnvoll.
Dazu wird eine Datei namens reconnect.sh erstellt, welche am besten mit unter /volume1/@optware/pyload/ abgespeichert wird. In der Weboberfläche unter Einstellungen/General/Reconnect unter Method den gesamten Pfad zur Datei also /volume1/@optware/pyload/reconnect.sh eintragen.
Die reconnect.sh am besten unter vi erstellen, da beim Erstellen unter Windows meist zusätzliche Steuerzeichen erstellt werden, die das Skript nutzlos machen.
Da es für die Vielzahl von Routern unterschiedliche Verfahren gibt, einen Reconnect zu erzwingen, dient dieses hier nur als Beispiel. Es wäre schön, wenn noch mehr User ihre reconnect.sh posten würden um eine bessere Übersicht zu erreichen.
Code für die reconnect.sh für einen:
T-Com Speedport 500 V
wget --delete-after http://192.168.2.1/cgi-bin/disconnect.exe sleep 5 wget --delete-after http://192.168.2.1/cgi-bin/connect.exe sleep 5
AVM Fritz.Box via UPNP
#!/opt/bin curl "http://fritz.box:49000/upnp/control/WANIPConn1" -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#ForceTermination" -d " <?xml version='1.0' encoding='utf-8'?> <s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'> <s:Body> <u:ForceTermination xmlns:u='urn:schemas-upnp-org:service:WANIPConnection:1' /> </s:Body> </s:Envelope>"
Update
Vor dem Update einer bestehenden Installation muss pyload beendet werden:
/etc/init.d/S99pyload stop
Dann kann man zur Sicherheit die alte Version kopieren, zum Beispiel:
cp -R /opt/pyload /opt/pyload.048 cp -R /volume1/pyload /volume1/pyload.048
Als nächstes wird die neue Version geholt und einfach drüber installiert:
cd /opt wget http://get.pyload.org/get/src/0.4.9/ unzip pyload-src-v0.4.9.zip [bei Nachfrage 'overwrite all' auswählen]
Fertig! Jetzt kann die neue Version gestartet werden:
/etc/init.d/S99pyload start
Automatisches Startup/Shutdown
Um dafür zu sorgen, dass beim Startup und Shutdown der DS PyLoad automatisch gestartet und gestoppt wird, sollte IPKG in der erweiterten Variante ohne Mount Bind und mit erneuertem Startup/Shutdown Script installiert worden sein. Vor der weiteren Konfiguration für das Start / Stop Script, sollte dafür gesorgt werden, daß PaLoad nicht mehr gestartet ist.
Danach legt man nachfolgendes Script unter /opt/etc/init.d/S99pyload ab. Ausführbar machen mit chmod +x /opt/etc/init.d/S99pyload nicht vergessen! Jetzt wird getestet, ob sich PyLoad mittels /opt/etc/init.d/S99pyload start sauber starten lässt. Sobald PyLoad sauber gestart werden kann, testet man auch gleich noch mittels /opt/etc/init.d/S99pyload stop, ob PyLoad auch wieder sauber beendet wird. Nach dem Stop darf per ps | grep python kein Prozess mehr sichtbar sein.
#!/bin/sh # # Start / Stop Script for PyLoad http://localhost:8000 # prefix="/opt" PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin NAME="PyLoad" DAEMON="python /opt/pyload/pyLoadCore.py --daemon" #Fuer startup debugging: #DAEMON="screen -dmS python /opt/pyload/pyLoadCore.py" DAEMON_OPTS="" INSTALL_DIR=/opt/ UPDATE_SOURCE=https://bitbucket.org/spoob/pyload/get/tip.zip # # start() { echo "Starting Service: $NAME" $DAEMON $DAEMON_OPTS | awk '{print $3}' >/var/run/pyload.pid } # stop() { kill `cat /var/run/pyload.pid` } # update() { stop sleep 5 cd $INSTALL_DIR wget --no-check-certificate $UPDATE_SOURCE unzip tip.zip rm tip.zip rsync -avH --update /opt/spoob-pyload-*/ /opt/pyload/ rm -rf /opt/spoob-pyload-* start } # case "$1" in start) start ;; stop) stop ;; update) update ;; restart) stop sleep 4 start ;; *) echo "Usage: $0 (start|stop|restart|update)" exit 1 ;; esac # # End
Wenn das Script aktiv ist, sollte man nicht vergessen, dass das Script die PID des PyLoad Prozesses speichert, um anhand dieser PID beim Stoppen den PyLoad Prozess zu beenden. Wenn jetzt also jemand "von Hand" die PyLoad Prozesse Stopt und Startet, dann kann das Script nicht mehr sauber funktionieren. Daher, ab sofort am besten nur noch das Pyload Start/Stop Script für das Starten und Stoppen von PyLoad verwenden. Für Tests, wird am besten das Script mit "stop" aufgerufen, dann getestet und alle PyLoad Prozesse wieder beendet, um dann mit dem Script und dem "start" Parameter alles wieder sauber zu starten.
Warum ist das Stoppen von PyLoad beim Shutdown so wichtig? Weil ansonsten die DS nicht sauber heruntergefahren werden kann, bzw. unter umständen sogar hängen bleibt und sich nicht abschalten kann. Wer also beim abschliessenden Test feststellen sollte, daß die DS nicht sauber herunterfährt, der hat etwas falsch gemacht und sollte noch mal sorgfälltig alle Schritte prüfen und niemals vergessen jeden Schritt auch noch einmal zu testen.
Ein alternatives Startup-Script mit Update (Debug, Logfileausgabe und besserer stop/restart-Funktionalität) -Funktion findet ihr unter http://pastebin.com/J9mdXURL Es ist SEHR zu empfehlen sich das Script auf PASTEBIN anzusehen, da dieses deutlich vollständiger ist und liebevoll gepflegt wird, wie das rudimentäre Script hier auf dem Wiki.
Für ein Update einfach im Verzeichnis /opt/etc/init.d/ "S99pyload update" eingeben.
Debugging/Fehlersuche
Ist leider nicht ganz so einfach. Daher sollte immer vor dem Einsatz der Start / Stop Skripte sichergestellt sein, dass PyLoad auch auf der Kommandozeile einwandfrei läuft. Ansonsten muss man sich mit "echo" Befehlen und der Umleitung in ein Logfile behelfen, welche man so plaziert, dass man erahnen kann, was die Scripte gerade getan haben.
Noch eine Alternative ist doch noch einmal Screen zum Start von PyLoad zu nutzen und nach dem Start der DS sich in Screen einzuklinken, um wenigstens ein paar (Fehler)Meldungen mitzubekommen. PyLoad selbst hat auch noch einen Debug Switch -d welcher weiterhelfen könnte. Die Schwierigkeit liegt aber immer darin, dass man die Debug Meldungen ja beim Reboot erst mal nicht zu sehen bekommt und diese daher in eine Datei umleiten müsste, um überhaupt etwas zu sehen bekommen.
Wenn man die Startup Methode mit dem "screen" auskommentiert und damit die DS neu startet, kann man sich nach dem Neustart der DS in die screen Session einklinken und hat damit zumindest die letzten Meldungen auf dem Bildschirm. Nicht vergessen, dass man den screen nach dem Debuggen auch wieder abschaltet, sonst kann es wieder sein, dass die DS beim Herunterfahren hängen bleibt.
Click'n'load mit Flashgot in Firefox
FlashGot unterstützt (in der aktuellen Version 1.5.3) pyLoad nur wenn man die JDownloader Funktionalität verwendet.
Der Mod FlashGot v1.5.3.1pgoeri unterstützt pyLoad als eigenen Download-Manager.
Details siehe: http://flashgot-pgoeri.googlecode.com
Tutorial: http://code.google.com/p/flashgot-pgoeri/wiki/HowToSetupFlashGotForPyLoad
Info zu den Settings:
Address:
- =http://<<IP-Adresse der DiskStation>>:9666/flashgot
- Kein "/" am Ende, besser die IP nehmen
Autostart Downloads:
- Aktivieren, sonst bleiben die Downloads im Collector, bis du sie da startest