pyLoad auf einem Router installieren

1. pyLoad auf einem Router?

Der Vorteil, pyLoad auf einem Router zu installieren ist offensichtlich: Man muss den Computer nicht mehrere Stunden anlassen um Dateien herunterzuladen, das kann der stromsparende Router machen.
Da pyLoad in python geschrieben ist, ist es möglich pyLoad auch auf einem Router zu installieren, sofern dieser das unterstützt. Der Router muss natürlich einen USB-Anschluss für eine Festplatte besitzen. Außerdem brauchst du eine USB-Festplatte.

Auf folgenden Routern/NAS lässt sich pyLoad installieren:

  • die meisten Router von Asus
  • die Buffalo Linkstations (LS-CHLV2, LS-XHL, LS-WXL)
  • Linksys NSLU2 mit Unslung 6.x
  • QNAP NAS Server
  • NAS-Geräte mit optware (z.B. Conceptronic oder D-Link)
  • LG NAS N1T1 ( nur altes Web UI ) Entwurf

2. Installation

2.1 Asus

Auf dem Router muss eine spezielle Firmware (Linux) installiert werden, die viele Funktionen für den Router nachrüstet, unter anderem

  • Email-Server
  • Webseiten-Server
  • und: pyLoad Unterstützung

Ein sehr gutes deutsches Howto um diese Firmware zu installieren, findest du hier

pyLoad installieren

Führen Sie einfach die Anleitung von FastJack durch.

Tipp: Textdateien werden per nano [Datei] bearbeitet. Eine Zeile können Sie per Strg+k löschen

2.2 Buffalo LinkStation

Hier besteht keine Gefahr für den Router. Änderungen können einfach durch löschen des pyLoad Ordners rückgängig gemacht werden.

1. Öffnen der Box

Damit du per telnet auf die Box kommst, musst du die Box “öffnen”. Entweder flasht du auf deine Linkstation eine bereits geöffnete Firmware, oder du aktivierst Telnet, je nachdem, welche Firmware Version du bereits hast: Für Firmwareversionen bis 1.10

Für die Firmwareversion über 1.10 ohne Telnet, gehe wie folgt vor:

  1. Lade dir hier eine geöffnete 1.34er Version herunter und entpacke diese
  2. öffne die LSUpdater.ini und setze unter SpecialFlags ein Debug=1 hin und speichere die Datei.
  3. Starte die LSUpdater.exe und klicke oben Links in der Titelleiste auf die zwei goldenen Ringe und im darauffolgenden Menü auf Debug auf, hake dann folgendes an: siehe dieses Bild
  4. Um Datenverlust vorzubeugen, mache ein Backup deiner deiner Dateien
  5. nun klickst du “Update”, gibst dein Admin-Passwort ein und wartest ab, bis deine Linkstation mehrmals neugestartet wurde, dann ist der Flashvorgang abgeschlossen.
  6. Jetzt gehst du in das Webinterface, und gehst auf “Wartung” und resettest deine Linkstation auf Werkseinstellungen. Nach einem Neustart funktioniert nun der Telnet Zugriff. Fahre fort mit Schritt 2

2. Installation (getestet unter LS-CHLV2, LS-XHL, LS-WXL)

Falls du noch kein Programm für Telnet hast, besorge dir putty und connecte dich per telnet auf die Box (wie das funktioniert solltest du eigentlich wissen) Benutzername ist für Firmware Version 1.10 root und das Passwort leer lassen. Für die geöffnete Firmware ist der Benutzername admin und das Passwort euer Adminpasswort. Danach müsst ihr su - eingeben, damit ihr root-rechte bekommt.

Damit du die benötigten Pakete für pyLoad installieren kannst, musst du zuerst das folgende Installationsskript herunterladen und ausführen:

mkdir /mnt/disk1/tmp
cd /mnt/disk1/tmp
wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/ls-mvkw-bootstrap_1.2-7_arm.xsh
chmod +x ls-mvkw-bootstrap_1.2-7_arm.xsh
./ls-mvkw-bootstrap_1.2-7_arm.xsh

Nach der Installation von optware muss noch ein kleiner Schönheitsfehler mit diesem Befehlt korrigiert werden:

mv /etc/init.d/optware* /etc/init.d/rc.optware

Auf einigen Seiten wird nun ein Reboot empfohlen um die Installation von optware und dessen Konfiguration zu testen.

Danch weiter wie oben:

  ipkg update
  ipkg upgrade

So kannst du dein System auch in Zukunft auf dem neuesten Stand halten.

Jetzt kannst du dir die restlichen Pakete herunterladen:

  ipkg update
  ipkg install gcc python python26 py25-crypto py25-curl py25-django tesseract-ocr tesseract-ocr-lang-eng unzip screen nano make py25-pil ossp-js py25-openssl unrar
  

Wenn noch gocr installiert werden soll:

  ipkg install make
  ipkg install py25-pil

3. Download der neuesten Version von pyLoad

  cd /mnt/disk1/
  wget http://bitbucket.org/spoob/pyload/get/default.zip
  unzip default.zip
  rm /mnt/disk1/default.zip

4. pyLoad konfigurieren

Beim ersten Start von pyLoad solltest du mit dem Assistenten alle Grundeinstellungen vornehmen

  cd pyload
  python pyLoadCore.py -s

5. starten von pyLoad

In putty eingeben:

  screen -dmS pyload python /mnt/disk1/pyload/pyLoadCore.py

Ab jetzt sollte pyLoad über http://[IP.DER.BOX]:[EINGESTELLTER.PORT] verfügbar sein.

Ansonsten kannst du auch das Command Line Interface nutzen, welches sich im pyLoad-Ordner verbirgt.

  cd /mnt/disk1/share/pyload/
  ./pyloadCli.py -l

Bei den hier gestellten Fragen gibst du einfach die Werte aus der config an.

6. Aufräumen

Wenn deine pyLoad-Installation sauber läuft kannst du noch die nicht mehr benötigten Installationsdateien entfernen. Hierfür verbindest du dich per telnet mit deiner box und gibst den folgenden Befehl ein:

  cd /mnt/disk1/
  rm -r ./tmp

7. Pyload im Autostart der Linkstation

Wenn pyload gleichzeitig mit dem Starten der Linkstation gestartet werden und beim herunterfahren beendet werden soll, dann ist wie folgt vorzugehen. Wurde allerdings nur auf einer LS-CHLv2 (rotes Webinterface) getestet.

Befolgt dazu folgende Anleitung: klick

2.3 Linksys NSLU2 mit Unslung 6.x

1. Per SSH einloggen als root

2. (wenn noch nicht gemacht) unter /home einen Ordner für deinen Benutzer erstellen

  cd /home
  mkdir "benutzer"

(für “benutzer” deinen Benutzernamen einsetzen; nat. ohne ”)

3. alle notwendigen Pakete installieren

  ipkg install python
  ipkg install python26
  ipkg install py25-crypto
  ipkg install py25-curl
  ipkg install py25-django
  ipkg install tesseract-ocr
  ipkg install unzip
  ipkg install unrar
  ipkg install screen
  ipkg install nano

4. Download der neuesten Version von pyLoad

  cd "benutzer"
  wget http://bitbucket.org/spoob/pyload/get/default.zip
  unzip default.zip

5. Rechte richtig setzen

  chown -R "benutzer" pyload

6. pyLoad konfigurieren

  cd pyload
  python pyLoadCore.py -s

7. pyLoad starten

  screen -dmS pyload python /home/"benutzer"/pyload/pyLoadCore.py

den letzten Befehl immer als Benutzer ausführen! (nicht als root) und auch immer unter dem selben Benutzer, sonst musst du die Konfiguration noch mal durchführen!

Das wars soweit, viel Spaß mit pyLoad.

(Basiert auf der Original-Anleitung von N3m3515 - Buffalo NAS-Central Forums:[TUT] pyLoad auf LS-CHL v3)

2.4 QNAP NAS Server

1. Das Optware QPKG installieren und aktivieren

2. via SSH auf das NAS

3. Optware nicht vergessen zu updaten

  ipkg update

4. Erstellen des Konfigurationspfades für pyLoad

  mkdir /opt/etc/pyload

5. Installation der Abhängigkeiten

  ipkg install unzip
  ipkg install unrar
  ipkg install python
  ipkg install py25-crypto
  ipkg install py25-curl
  ipkg install py25-openssl
  ipkg install py25-pil
  ipkg install ossp-js
  ipkg install tesseract-ocr

6. Downloaden und extrahieren der aktuellen pyLoad Version

cd /opt
  wget http://get.pyload.org/get/src/ -O pyload.zip
  /opt/bin/unzip pyload.zip
  

7. Konfiguration von pyLoad

  /opt/pyload/pyLoadCore.py --configdir=/opt/etc/pyload --setup

Tipp: Wenn Ihr pyLoad mit einem reconnect Scipt benuzten möchtet, so gebt bei dem Pfad (wenn die Abfrage kommt) /opt/etc/pyload/reconnect.sh ein. Bei einem update von pyLoad bleibt euch dann das script erhalten. Ihr müsst halt nur das script noch erstellen ;)

8. Erster Start zum Updaten der Plugins

  /opt/pyload/pyLoadCore.py --configdir=/opt/etc/pyload

Sind die Plugins geupdated worden, dann den Prozess mit Strg+C abbrechen.

9. Automatisch beim Systemstart starten und sauber beenden

Es gibt hier: qnapclub.de Eine “generische” autorun.sh die auf allen QNAP NAS läuft und dafür sorgt, dass Dienste / oder auch andere Sachen, die beim Systemstart gestartet werden sollen, gestartet werden und auch beim herunterfahren ordentlich beendet werden. Mit dieser autorun.sh ist es nicht mehr notwendig änderungen im Flash (schreibzyklen) / also der autorun.sh vornehmen zu müssen. Viel eher können dazu eigene init script's erstellt werden.

10. Das pyLoad init script zu der genannten autorun.sh

  1. zuerst erstellen wir den Pfad für die init scripts
  mkdir -p /opt/etc/init.d
  1. Jetzt erstellen wir eine Datei und machen diese ausführbar. Wir nennen diese S10pyload.
  touch /opt/etc/init.d/S10pyload
  chmod +x /opt/etc/init.d/S10pyload
  1. Nun könnt Ihr die Datei S10pyload mit dem vi (oder sonstiges) editieren. Das init script für Pyload sähe so aus:
#!/bin/sh
  
start()
{
   echo "Starting "
   /opt/pyload/pyLoadCore.py --configdir=/opt/etc/pyload --daemon
}
  
stop()
{
   echo "Shutting down "
   /opt/pyload/pyLoadCore.py --configdir=/opt/etc/pyload --quit
}
  
# you do not need to edit this lines
case "$1" in
  	start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        # Restarting the Daemon
        $0 stop
        $0 start
        ;;
    *)
        ## If no parameters are given, print which are avaiable.
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac
  

Nun könnt Ihr jederzeit mit diesem init script Pyload manuell via

  /opt/etc/init.d/S10pyload start

starten oder auch via

  /opt/etc/init.d/S10pyload stop

beenden. Beim Syszemstart / Herunterfahren des NAS geschieht dies automatisch.

Tipp: Zum updaten von Pyload auf eine neuere Version müsstet Ihr lediglich den Pfad /opt/pyload löschen und dabei lediglich die Schritte 6 & 8 noch einmal ausführen. Dabei bleibt dann die pyLoad Konfiguration erhalten (deshalb geben wir immer “brav” den Pfad –configdir=/opt/etc/pyload mit). Ansonsten bedarf es, wenn nicht gerade ein paar Abhängigkeiten dazukommen keine änderung.

2.5 NAS Server mit Optware

Infos dazu gibts auf deutsch und englisch:

2.6 LG NAS N1T1 by Thalrock

Leider ist diese installation nur möglich wenn noch nicht auf das neue Web Interface aktualisiert wurde.

Benötigt wird die Firmware 3718 von Tantalus

zu finden unter : http://lg.threnor.de/de:general:installation

Mein Update ist fehlgeschlagen, was kann ich tun? - Zum derzeitigen Zeitpunkt ist mir keine out-of-the-box-Lösung, wie sie beim N2R1 vorhanden ist, bekannt. Es existiert jedoch eine Bootbare CD, womit man die Original 2452.340 wieder aufspielen kann. Dafür ist von der LG-Website (lge.com → Sprache: Dutch/Netherlands → Service → Productondersteuning → Netwerk opslag → N1T1 → Uitvoeren) die Initialisierungs-CD herunterzuladen, zu brennen und anschließend in das N1T1 einzulegen. (NICHT die Datei einfach auf eine CD kopieren. Sie muss als Image gebrannt werden!) Anschließend schaltet man das Gerät aus. Nun hält man die Backup-Taste gedrückt, während man das Gerät wieder einschaltet, worauf hin das N1T1 anfangen sollte, die Festplatte zu formatieren und die alte Firmware wieder aufzuspielen. Dabei gehen alle Daten auf der NAS-Box verloren!

Dies funktioniert aber nur solange wie man nicht das neue Web Interface installiert hat. Wenn das neue Web Interface installiert wurde ist ein Booten von CD´s nicht mehr möglich und man kann nicht mehr auf das alte WebInterface downgraden.

Standardmäßig können Sie sich mit dem Benutzer „root“ und dem Passwort „root“ anmelden. Zusätzlich können Sie sich normal als z.B. „admin“ anmelden. Stellen Sie sicher, dass Sie Ihr Root-Passwort ändern, andernfalls können Fremde beliebigen Code auf Ihrer NAS-Box ausführen!

nachdem nun die Firmware auf Tantalus 3718 geändert wurde ist folgendes zu tun.

sudo passwd root

von admin auf root wechseln

sudo su
apt-get install nano

Wenn man später über das Netzwerk oder ein FTp Programm auf das Verzeichnis zugreifen möchte :

Bitte diese Verzeichnisse über das Web Interface anlegen:

  • Downloadtemp
  • Download [ Berechtigung wenn gewünscht FTP anklicken ]

2.6.1 SSH Login

Im Webinterface den SSH Server aktivieren :

Einloggen mit einem SSH Client

2.6.2 Pyload installieren

Bitte als root einlogen über einen SSH Client wie zum Beispiel Putty

2.6.2.1 Erzeugen der pyloadinit

nano pyloadinit
#!/bin/sh
################################################## #############
#
### BEGIN INIT INFO
# Provides: pyload
# Required-Start: $network $remote_fs
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Description: pyload download manager
### END INIT INFO
#

NAME=pyload
DESC="pyLoad Download Manager"

cd /mnt/disk/volume1/service/pyload

cancel() { echo "S1" >&2; exit 0; };

case "$1" in
start)
echo -n "Starting $DESC: "
python pyLoadCore.py --daemon --configdir="/mnt/disk/volume1/service/pyloadcfg"
sleep 1
echo "$NAME started."
;;
stop)
echo -n "Stopping $DESC: "
python pyLoadCore.py --configdir="/mnt/disk/volume1/service/pyloadcfg" -q
echo "$NAME stopped."
;;
restart)
$0 stop
sleep 2
$0 start
;;
status)
if [ -f "/mnt/disk/volume1/service/pyloadcfg/pyload.pid" ] ; then
echo "$NAME is running"
else
echo "Stopped"
fi
;;
*)
echo "pyLoad Download Manager"
echo "-----------------------"
echo "Syntax :"
echo " $0 {start|stop|restart|status}"
echo ""
exit 3
;;
esac 

Speichern mit ” STRG ” + ” O ”

Benneden mit ” STRG ” + ” X ”

2.6.2.2 Installations script für Pyload erstellen

Inhalt von pyloadinstall.sh

nano pyloadinstall.sh
#!/bin/sh
echo "Installations Script für Pyload auf einer  N1T1"
echo "hinzufügen von Installationsquellen für APT-GET INSTALL"
echo deb http://archive.debian.org/debian lenny main contrib non-free > /etc/apt/sources.list
echo "Erzeugung benötigter Verzeichnisse"
mkdir -p /usr/share/man/pl/man1
mkdir -p /usr/share/man/it/man1
mkdir -p /usr/share/man/fr/man1
mkdir -p /usr/share/man/it.ISO8859-1/man1/
mkdir -p /usr/share/man/fr.ISO8859-1/man1/
mkdir -p /usr/share/man/it.UTF-8/man1/
mkdir -p /usr/share/man/fr.UTF-8/man1/
mkdir -p /usr/share/man/pl.ISO8859-2/man1/
mkdir -p /usr/share/man/pl.UTF-8/man1/         
mkdir -p /usr/share/man/ru/man1/
mkdir -p /mnt/disk/volume1/service/pyloadcfg/

export DEBIAN_FRONTEND=noninteractive
echo "Installation benötigter Komponenten"
apt-get update
apt-get upgrade -q -y
apt-get -q -y install python python-crypto python-pycurl tesseract-ocr gocr python-django openssl python-imaging spidermonkey-bin python-openssl unrar-free
echo "Benötigte Komponente installiert"
echo "Pyload Hauptprogramm herunterladen"
cd /mnt/disk/volume1/service/
wget http://get.pyload.org/get/src/
mv index.html pyload.zip
echo "Entpacke Pyload Hauptprogramm"
unzip pyload*.zip
echo "Lösche Zip Datei"	
rm pyload*.zip
cd /mnt/disk/volume1/service/pyload
echo "Einrichtung Pyload"
python pyLoadCore.py -s
cd ..
echo "Hinzufügen von Pyload zum LG Webinterface"
cp /mnt/disk/volume1/service/pyloadcfg/pyloadinit /etc/init.d/yourservice.d/pyload
chmod +x /etc/init.d/yourservice.d/pyload
echo "Pyload automatisch mit System starten"
update-rc.d yourservice.d/pyload defaults
echo "Fertig"

Speichern mit ” STRG ” + ” O ”

Benneden mit ” STRG ” + ” X ”

Aufrufen des scriptes

chmod +x pyloadinstall.sh
./pyloadinstall.sh

Installationsordner

Hauptprogramm :

/mnt/disk/volume1/service/pyload

Konfiguration unter :

/mnt/disk/volume1/service/pyloadcfg

Downloads

/mnt/disk/volume1/Downloadtemp

Entpackte Dateien

/mnt/disk/volume1/Download

Unrar_password.txt

/mnt/disk/volume1/pyloadcfg/unrar_passwords.txt

Wenn man nun möchte kann man auch ein Backup erzeugen lassen mittels der Backup Routine der NAS auf einen DVD-RW Rohling

Hierdurch hat man immer die akutellen Einstellungen und falls etwas nicht mehr klappt kann man es zurück spielen von der DVD-RW Sicherung

de/install_pyload_on_router.txt · Last modified: Mon Jul 08, 2013 4:51 am by Thalrock