Downloader pyLoad auf Synology-NAS installieren

Veröffentlicht am

Als ich schließlich ein NAS zu Hause stehen hatte, kam natürlich der Wunsch auf, das Gerät auch für Verarbeitungen zu nutzen, die nicht unbedingt an meine Zeiten vor dem Rechner gekoppelt sind. Also zum Beispiel Downloads. Da meine Internet-Verbindung alles andere als rasend schnell ist, ist es unglaublich praktisch, das ohnehin laufende NAS für solche Aufgaben zu nutzen. Dazu kann man sich den Open-Source-Downloader pyLoad installieren*. pyLoad ist ein unter Python programmierter und per Weboberfläche zu bedienender Download-Manager mit speziellen Optionen für One-Klick-Hoster.

Die Schritte meiner Installation/Konfiguration habe ich euch hier zusammengefasst…

*) Ich kann hier nur für mein Gerät, ein Synology DS211j sprechen. Bei den Geräten von QNAP soll das aber ganz ähnlich funktionieren. Vermutlich wird es überall dort möglich sein, wo das Gerät mit BusyBox (Embedded Linux) betrieben wird…

Vielleicht erst einmal noch ein paar Eckdaten zu pyLoad:

  • Die Bedienung erfolgt, wie gesagt, per Weboberfläche – die, wie ich finde, (noch) nicht wahnsinnig toll aussieht. Vielleicht tut sich da ja mal noch was. Der Aufruf der Weboberfläche kann aber in die Synology-Oberfläche DSM eingebunden werden. Ein klarer Pluspunkt, finde ich.
  • Wie andere beliebte Download-Programme, wie z.B. JDownloader, bietet auch pyLoad Captcha-Erkennung…
  • … automatisches RAR- bzw. Archiv-Entpacken inkl. Kennwortliste…
  • … automatischer Reconnect des Router zum Beziehen einer neuen IP…

IPKG Paketmanager installieren

Damit pyLoad verwendet werden kann, müssen zunächst einmal einige Pakete installiert werden. Und zu diesem Zweck wiederum muss erst einmal ein Paketmanager, nämlich IPKG, installiert werden. Wie IPKG installiert werden kann, habe ich bereits in einem vorigen Artikel beschrieben. Geht einfach nach dieser Beschreibung bzw. den verlinkten Quellen vor – das sollte eigentlich problemlos funktionieren.

Abhängige Pakete installieren

Nun müssen also ein paar Pakete installiert werden, die pyLoad benötigt. Darunter z.B. Python und die Packprogramme. Aber seht dazu einfach auf der Synology-Wiki-Seite zu pyLoad nach den Punkten Benötigte Tools installieren und Python und Abhängigkeiten installieren.

pyLoad installieren und konfigurieren

Geht dazu einfach wieder so vor, wie es die Synology-Wiki-Seite zu pyLoad unter den Punkten pyLoad herunterladen und Konfiguration beschreibt. Natürlich ist auch das automatische Starten und Stoppen von pyLoad bei Systemstart bzw. -stopp sinnvoll. Auch hierzu beschreibt das Wiki die notwendigen Schritte: siehe Punkt Automatisches Startup/Shutdown.

Sicherheit und externer Zugriff

Beim ersten Start müsst ihr ein Kennwort angeben. Wählt hier ein starkes Kennwort und ihr könnt pyLoad auch für das Internet freigeben. Sprich: richtet euch einfach eine Port-Weiterleitung auf dem Router ein. Wenn pyLoad bei euch beispielsweise auf Port 5003 auf dem NAS läuft, richtet ihr euch eine Portweiterleitung (von einem beliebigen Port am Router) auf den Port 5003 am NAS ein. Wenn ihr dann noch eine Verbindung mit einem Dynamic-DNS auf dem Router einrichtet oder eingerichtet habt, könnt ihr pyLoadvon überall über das Internet aufrufen, um Downloads zu starten oder zu überwachen. Da wir hier von Sicherheit sprechen, tut bitte nur Dinge, die ihr versteht und selbst beurteilen könnt. Dieser Satz ist als kleiner Disclaimer gedacht, weil ich euch keine Gewähr auf nichts geben kann.

Auto-Reconnect

Ich selbst habe eine Fritz!Box und kann daher nur hierüber sprechen. Die Synology-Wiki-Seite zu pyLoad gibt auch hierauf wieder eine Antwort. Zumindest eben für die Fritz!Box. Siehe Punkt Reconnect. Aber beachtet, dass das dort genannte Shellskript zwei Fallen bietet: erstens verstehe ich nicht, warum die erste Zeile

#!/opt/bin

lautet. Meines Erachtens muss hier

#!/bin/sh

stehen. Und auch erst nach der Änderung hat bei mir das Skript funktioniert. Außerdem müsst ihr darauf achten, dass das gesamte Skript in eine Zeile zusammengehängt werden muss. Wenn man es einfach nur per Copy & Paste in eine Datei überträgt, funktioniert es also erst einmal nicht. Entfernt die Zeilenumbrüche – dann klappt’s.

Einbindung in DSM

(Bitte hierzu auch das Update vom 10.09.2011 lesen – ganz unten…)

Damit pyLoad innerhalb eines Fensters des Synology-Betriebssystems DSM gestartet werden kann, sind nun nur noch ein paar kleine Schritte notwendig:

cd /usr/syno/synoman/webman/3rdparty
wget http://dl.dropbox.com/u/3001640/webman.pyload.tar.gz
tar xzvf webman.pyload.tar.gz
rm webman.pyload.tar

Ihr ladet hier nur eine Properties-Datei für das DSM-Betriebssystem und zwei Icons herunter. Also nichts Weltbewegendes. Für den Fall, dass der Download einmal nicht mehr funktionieren sollte, hier der Inhalt der Konfigurationsdatei namens application.cfg:

text = pyLoad
description = pyLoad is a fast, lightweight and full featured download manager for many One-Click-Hoster
icon_16 = images/icon16.png
icon_32 = images/icon32.png
type = embedded
protocol = http
port = 8000
adminonly = false

Diese Datei muss einfach im o.g. Verzeichnis unterhalb des Unterverzeichnisses pyload abgelegt werden – für den Fall, dass ihr sie manuell erzeugt. Allerdings fehlen euch dann die zwei darin genannten Icons – aber die bekommt ihr da sicher auch noch irgendwie irgendwoher dahin… 😉 Damit das ganze funktioniert, müsst ihr aber natürlich in dieser Konfigurationsdatei noch den Port (hier per Default 8000) auf euren pyLoad-Port abändern (in meinem Fall, wie gesagt, 5003).

Zur Einbindung ins DSM muss man allerdings sagen, dass es doch eher Spielerei ist, denn: natürlich kann man pyLoad auch am „DSM vorbei“ erreichen. Und wenn der pyLoad-Port nicht zum Internet hin verfügbar ist, dann funktioniert es über das DSM genauso wenig. Also eigentlich eher Eye-Candy…

Und so sieht’s dann aus:

pyLoad-Starter in DSM

pyLoad-Fenster innerhalb des DSM

Update 10.09.2011:

Kurz nachdem ich den Artikel veröffentlicht habe, ist die DSM-Version 3.2 erschienen. Die Einbindung von pyLoad in die DSM-Oberfläche funktioniert leider nicht mehr so, wie ich das oben beschrieben habe. Der Grund: der Modus embedded, der dafür sorgt, dass pyLoad in einem Fenster innerhalb des DSM geöffnet wird, existiert nun wohl nicht mehr. Man sollte also entweder die Zeile type = embedded entfernen. Das führt aber natürlich dazu, dass pyLoad in einem eigenen Browser-Tab geöffnet wird.

Die „neue“ Variante für diese Einbindungs-Konfigurationsdateien (eigentlich ab DSM Version 3) ist übrigens, wie ihr hier dokumentiert findet, eine Datei namens config im JSON-Format zu erstellen. Aber auch hier funktioniert der legacy-Modus nicht – zumindest habe ich es nicht hinbekommen.

Wer übrigens Änderungen an der Konfigurationsdatei vornimmt, muss, damit die Änderungen greifen, den Webserver einmal durchstarten:

/usr/syno/etc/rc.d/S97apache-sys.sh restart

Danach noch einmal frisch am DSM anmelden (also vorher abmelden).

Update 17.09.2011:

Ein Kommentar von „heytommy“ brachte gerade die Lösung für das im 10.09.-Update beschriebene Problem mit dem DSM 3.2. Eine Beschreibung der Vorgehensweise findet ihr (in englischer Sprache) bei Mark in the Dark. Die dort beschriebene Änderung in der einen Javascript-Datei hat bei mir wunderbar funktioniert. Allerdings kann ich euch nicht sagen, was die Änderung genau bedeutet bzw. was sie genau bewirkt. Ein Hinweis aber noch: in der Beschreibung steht, man muss eine Zeile aus der Datei herauslöschen. Tatsächlich steht aber das gesamte Javascript in einer Zeile (abgesehen vom Kommentar). Sucht also nach
jsStatus.loaded=false; und löscht diese Zeichen einfach raus… Danke nochmal an „heytommy“ für den Hinweis!


Dieser Artikel wurde in der/den Kategorie(n) _Installation und Konfiguration, Planet-U, Praxis veröffentlicht und mit den Tags , , , , , versehen.

24 Kommentare zu Downloader pyLoad auf Synology-NAS installieren

  1. Kommentar von -K!nickel-
    7. September 2011, 19:31 Uhr.

    Super!

    Hab auch eine DS 211j. Hast du unrar schonmal laufen lassen bei einem größeren Paket? Bekomme die Warnung, dass der Arbeitsspicher zu klein sei, was er ja auch ist.

    • Kommentar von Gerald
      7. September 2011, 19:58 Uhr.

      Sagen wir mal so: das automatische Entpacken durch pyLoad hat bisher funktioniert. Ich würde aber die bisherigen Paketgrößen auch nicht unbedingt als „groß“ ansehen…

  2. Kommentar von Jan
    9. September 2011, 11:00 Uhr.

    Hi,

    danke für die Anleitung. Funktioniert die Einbindung auch noch mit DSM 3.2. Bei mir erscheint nach klicken auf das Icon einfach kein Fenster :-(

    • Kommentar von Gerald
      9. September 2011, 11:26 Uhr.

      Hi Jan,
      die DSM-Version 3.2 kam leider erst raus, nachdem ich den Artikel geschrieben habe. Und ich habe auch jetzt noch nicht auf 3.2 upgedatet – das werde ich aber sicher in Kürze mal machen. Aber wie gesagt, läuft die Einbindung in das DSM ja nur über eine Konfigurationsdatei. Könnte mir also höchstens vorstellen, dass da ein Wert nicht mehr passt. Läuft pyLoad denn ansonsten einwandfrei?
      Gruß, Gerald

    • Kommentar von Gerald
      10. September 2011, 10:04 Uhr.

      Ich habe nun DSM auf 3.2 upgedatet. Und: es funktioniert jetzt bei mir auch nicht mehr. Bitte lies dir das Update durch, das ich oben im Artikel dazu eingefügt habe. Danke dir für die Info – und sorry, dass es doch nicht wie „versprochen“ funktioniert…

    • Kommentar von Gerald
      17. September 2011, 18:48 Uhr.

      Jan, wie du in den Kommentaren siehst, hat uns „heytommy“ gerade den entscheidenden Tipp gegeben – mit einer kleinen Änderung funktioniert die Einbindung auch ins DSM 3.2…
      Gruß, Gerald

  3. Kommentar von heytommy
    17. September 2011, 18:20 Uhr.
    • Kommentar von Gerald
      17. September 2011, 18:47 Uhr.

      Hey heytommy, 😉
      besten Dank für deinen Tipp! Ich kann zwar selbst nicht einschätzen, was man da verändert (und ob das andere Auswirkungen hat), aber es funktioniert. Ich werde gleich auch noch ein Update im Artikel schreiben.
      Gruß, Gerald

  4. Kommentar von joka
    6. November 2011, 22:36 Uhr.

    Servus, thx für das tutorial, funkt einwandfrei! eine frage noch meinerseits: wenn ich im Terminal (mac) pyload mittels kommandozeile starte (nas läuft, mac logischerweise auch) und anschließend den mac abdrehe, kille ich automatisch auch pyload….ist nicht ganz im sinne des Erfinders oder? woran kanns liegen? vielen dank für eventuelle Hilfe!!
    Lg JoKa

    • Kommentar von Gerald
      7. November 2011, 14:05 Uhr.

      Hallo JoKa,
      du verbindest dich vom Mac auf die Shell des NAS, richtig? Und wie startest du dann pyLoad – mit welchem Befehl? Lässt du dann das Terminal-Fenster auf deinem Mac die ganze Zeit geöffnet?
      Ist natürlich nicht der Sinn der Sache. Im Idealfall musst du dich um den Start von pyLoad ja gar nicht kümmern, weil es beim Hochfahren des NAS automatisch gestartet wird.
      Gruß, Gerald

  5. Kommentar von ASDvsSS
    9. Januar 2012, 21:25 Uhr.

    Hallo,
    kann mir jemand erklären wie ich das Icon wieder aus dem DSM Menü ausbinden kann?
    Am besten so ausführlich wie es geht.

    Thx

    • Kommentar von Gerald
      9. Januar 2012, 21:40 Uhr.

      Hab ich selbst noch nicht probiert. Aber kannst du nicht einfach die application.cfg löschen (oder erst einmal testhalber irgendwo anders hin verschieben) und dann nochmal den Apache durchstarten (Kommando s.o.: …S97apache-sys.sh restart)?
      Gruß, Gerald

  6. Kommentar von Dirk
    5. Februar 2012, 16:29 Uhr.

    Mit folgender config läuft es auch wieder im Fenster (DSM 3.2 1922):

    > cat config
    {
    „.url“: {
    „org.pyload.pyload“: {
    „type“: „legacy“,
    „title“: „pyLoad“,
    „desc“: „pyLoad Web UI“,
    „icon“: „pyload{0}.png“,
    „appWindow“: „org.pyload.pyload“,
    „width“: 680,
    „height“: 550,
    „url“: „3rdparty/pyload/pyload.cgi“,
    „allUsers“: true
    }
    }
    }

  7. Kommentar von Dirk
    5. Februar 2012, 16:34 Uhr.

    Nachtrag: Man braucht dann die application.cfg nicht mehr. Man braucht aber eine pyload.cgi, die eigentlich nichts anderes ist als ein in python geschriebener redirector. Der sieht so aus:

    > cat pyload.cgi
    #!/usr/local/python26/bin/python

    plDir = ‚/opt/share/pyload_config/‘
    pidFile = ‚/var/run/pyload.pid‘
    port=8000
    try :
    pid = int (open (pidFile, ‚rt‘).readline ())
    except IOError, ValueError :
    pass
    else :
    from os import path, environ
    if path.isdir (‚/proc/%d‘ % pid) :
    host = environ[‚HTTP_HOST‘].split (‚:‘)[0]
    response = ‚Location: https://%s:%s/\n‘ % (host, port)
    print (response)

    Geklaut hab ich das aus den SPKs von zebulon für Sabnzdb etc (http://synoblog.superzebulon.org/2011/10/some-news/), da wird das ähnlich gemacht. Nur laufen die auch noch nicht im Fenster – mal sehen, ob ich das noch hinbekomme.

    Python 2.6 braucht man wohl hierfür nicht unbedingt, das normale Python sollte auch reichen.

  8. Kommentar von Thomas
    30. Oktober 2012, 16:45 Uhr.

    Hallo.

    Vielen Dank erstmal für deine Anleitung.
    Ich muss allerdings sagen, dass bei mir dein Tip mit dem Webman auch so funktioniert hat (DSM 4.2). Ich musste nichts mit dem embedded oder ähnlichem rausnehmen. Ich klicke „pyload“ an und es öffnet sich im DSM! :-)

  9. Kommentar von Jakob
    30. November 2012, 14:16 Uhr.

    Hallo, danke für die Anleitung. Habe eine Synology Ds213+ bei mir stehen. Meinst du das wird darauf auch funktionieren? Gruß Jakob

    • Kommentar von Gerald
      30. November 2012, 14:47 Uhr.

      Ich MEINE ja. Aber zwischen Meinen und Wissen kann ja mitunter ein großer Unterschied liegen…
      Ich war übrigens so frei und habe aus deinem Kommentar den Link auf den Online-Shop entfernt. Damit nicht jeder hier einen kurzen Kommentar mit etwas Werbung für seinen Shop (oder den eines anderen) schreibt… :)

  10. Kommentar von Andreas
    19. Dezember 2012, 09:16 Uhr.

    Hallo,

    bei der Suche nach einem alternativen Downloadmanager für meine DS 112 mit DSM 4.1 bin ich auf pyLoad und Deine Installationsanleitung gestoßen, wobei mich die direkte Einbindung in die Weboberfläche des DSM nur sekundär interessiert. Da die Anleitung im Grunde für DSM 3.1 bzw 3.2 geschrieben wurde, meine Frage: Funktioniert diese auch mit der aktuellen DSM 4.1 oder sollte man, um es noch einfacher zu machen, auf diese Packetlösung (pyLoad 0.4.9 .spk (armv5tejl) zurückgreifen?

    Vielen Dank!

    Andreas

    • Kommentar von Gerald
      19. Dezember 2012, 10:14 Uhr.

      Um ehrlich zu sein, hab ich eine Neu-Installation auf der aktuellen DSM-Version selbst noch nicht probiert. Habe aber pyLoad nach den DSM-Updates noch laufen.
      Zu dem Paket kann ich dir leider auch nicht viel sagen. Die Installation wird natürlich einfacher sein. Allerdings muss man der Quelle eben auch vertrauen.
      Sorry für die inkompetente Antwort! :) Gruß, Gerald

  11. Kommentar von Andreas
    19. Dezember 2012, 15:21 Uhr.

    Wieso inkompetent – Danke für die Antwort :)! Ich bin mir zwar noch nicht sicher, welche Installtionsvariante ich wähle, werde mich aber noch mal melden und berichten ob es funktioniert hat oder nicht.

  12. Kommentar von Gusk
    13. April 2013, 12:19 Uhr.

    @Thomas:

    Hi. Kannst du mir bitte sagen welche Anleitung du benutzt hast um pyLoad innerhalb eines Fensters des neuen Synology-Betriebssystems 4.2 laufen zu lassen?

    Oder kann mir jemand anders sagen es wie es möglich ist, pyLoad innerhalb eines Fensters des neuen Synology-Betriebssystems 4.2_3202 laufen zu lassen? Oder gibt es anleitungen diesbezüglich?
    Bin neu in der Materie und hab kein Plan von SSH befehlen. Habe den Port 8000 bei pyLoad und der oben breit gestellte Download enthält die application.cfg mit dem Port 5003.

    Über eine Antwort bin ich sehr dankbar.

    Gusk

    • Kommentar von Gerald
      13. April 2013, 12:41 Uhr.

      Hallo Gusk, ich antworte dir mal besser hier als auf deine Kontaktformular-Anfrage…
      Wenn ich dich richtig verstehe, musst du doch nur bei dir den Port in der application.cfg-Datei anpassen. Mach das doch mit dem Editor deiner Wahl – die pyLoad-Installation hast du ja scheinbar auf der Shell auch schon gemeistert.
      Ansonsten kann ich dir aktuell keine Tipps zur DSM-Einbindung geben, da ich pyLoad nicht mehr innerhalb des DSM benutze. Wie ich schon im Artikel geschrieben habe, gibt es ja dadurch eigentlich auch keinen wirklichen Vorteil gegen dem Direktaufruf von pyLoad…

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>