Ubuntu 16.04 Xenial Xerus
Ubuntu 12.04 Precise Pangolin
pyLoad ist ein Programm zum automatischen Herunterladen von Dateien von sogenannten One-Klick-Hostern. Es ist, bis auf die zur Entschlüsselung der DLC-Container benötigten Teile, Open Source und in Python geschrieben. Python wird von Ubuntu schon mitgeliefert und ist deshalb schnell und unkompliziert nutzbar.
Das Einsatzgebiet deckt sich teilweise mit dem JDownloader, allerdings kann pyLoad noch mehr: im Gegensatz zur Konkurrenz ist pyLoad nach einem Server-Client-Prinzip aufgebaut. Das heißt, pyLoad hat einen extrem ressourcenschonenden Core (Server), der auf jedem beliebigen Gerät (das Python unterstützt) laufen kann. Dieser erkennt automatisch Captchas, führt nach Wunsch Router-Neuverbindungen durch und arbeitet die gewünschten Downloads ab.
Um den Core und die herunterzuladenden Daten zu administrieren, stehen einem dann GUI, Terminal oder ein Webinterface zur Verfügung (Clients). Dank dieser Aufteilung ist es möglich, pyLoad nicht nur auf dem eigenem System, sondern auch auf einem Server oder sogar einem Router zu installieren und das Programm dann vom eigenen Computer zu steuern.
Python ist auf Ubuntu-Systemen bereits vorhanden, des Weiteren werden aber noch weitere Pakete benötigt[3]:
python-crypto
python-imaging
python-openssl
python-pycurl
python-qt4 (universe)
tesseract-ocr (universe)
gocr (universe)
python-django (universe, optional für das Webinterface)
openssl (security, optional für SSL-Verbindungen zum Webinterface)
unrar (zum Nutzen der Funktion "unrar", Entpacker-Interface)
rhino
mit apturl
Paketliste zum Kopieren:
sudo apt-get install python-crypto python-imaging python-openssl python-pycurl python-qt4 tesseract-ocr gocr python-django openssl unrar rhino
sudo aptitude install python-crypto python-imaging python-openssl python-pycurl python-qt4 tesseract-ocr gocr python-django openssl unrar rhino
Danach wird der aktuelle Quelltext von pyLoad von der Downloadseite des Projekts heruntergeladen und in einen beliebigen Ordner entpackt[1].
Alternativ stehen Fremdpakete im .deb-Format zur Verfügung (mit oder ohne GUI). Leider entsprechen diese Pakete derzeit nicht dem aktuellen Entwicklungsstand.
Fremdpakete können das System gefährden.
Der Dialog für die Erstkonfiguration beginnt, wenn man den Befehl:
pyLoadCore #bzw python pyLoadCore.py
eingibt.
Dieser Dialog kann später mit dem Befehl
pyLoadCore -s
wiederholt werden.
Während der Erstinstallation wird geprüft, ob alle relevanten Zusatzpakete installiert sind.
Das Herunterladen mit pyLoad ist denkbar einfach. Im entpackten Ordner findet sich die Datei links.txt. Hier fügt man nun die gewünschten Download-links einfach ein. Linkcrypter-Links (Dienste, die direkte Links zu One-Klick-Hostern verschleiern) können auch eingefügt werden, sie werden von pyLoad dann automatisch aufgelöst. Möchte man eine Containerdatei verwenden, so gibt man den kompletten Datei-Pfad an. Danach startet man das Terminal[2] und wechselt zum pyLoad-Verzeichnis. Um den Core zu starten, führt man
pyLoadCore
aus. pyLoad beginnt sofort die links.txt abzuarbeiten und die Dateien herunterzuladen. Um das ganze komfortabler zu machen, kann man über drei Schnittstellen auf pyLoad zugreifen.
Sobald pyLoadCore gestartet ist und die Einstellung aktiviert ist, kann man das Webinterface über http://SERVER-ADRESSE:PORT
erreichen. Nun kann man sich mit den angegebenen Daten einloggen. Unter "Home" findet man laufende Downloads und man kann weitere hinzufügen. Unter "Queue" stehen Downloads, die in der Warteschlange stehen. Unter "Downloads" stehen fertige Downloads, die man von dort herunterladen kann. Unter "Settings" kann man die Einstellungen ändern.
Wer SSL benutzen will, muss zunächst das Paket openssl installieren. Dann muss natürlich der Schlüssel im Konfigurationsverzeichnis /home/$user/.pyload generiert werden:
cd ~/.pyLoad openssl genrsa 2048 > ssl.key openssl req -new -key ssl.key -out ssl.csr openssl req -days 36500 -x509 -key ssl.key -in ssl.csr > ssl.crt
Dann den Server neu starten. Wenn es jetzt noch nicht geht, kann man sich im IRC-Channel irc.freedomirc.net:#pyload um Hilfe bitten. Alternativ kann man aber auch einfach den Konfigurationsdialog, wie im Punkt "Erstkonfiguration von pyLoad" beschrieben, ausführen und SSL darüber aktivieren. Sollte es zu Problemen kommen, muss man am Ende der Konfiguration möglicherweise threaded
als Server wählen.
pyLoad ist auch über ein Terminal steuerbar (auch von außen, z.B. per SSH-Session). Auch um dieses zu benutzen, muss zunächst der Core gestartet werden. Anschließend wird mit dem Befehl
pyLoadCli
das CLI-Programm zum Andocken an den Core gestartet. Das Standardpasswort (sofern am Anfang nicht geändert) ist hier: pwhere
. Man sieht nun eine sauberere Ansicht und erhält, wie im Webinterface, wichtige Informationen über den Download (Geschwindigkeit, Fortschritt u.A.).
Über den Query Tab gelangt man in die Wartelistenansicht. Hier sind alle noch herunterzuladenden Links gelistet.
pyLoad hat natürlich auch eine grafische Oberfläche. Wenn der Core gestartet ist, kann man diese einfach per
pyLoadGui
in einem Terminal starten.
Um eine vorhandene FritzBox schnell mit einer frischen IP vom ISP zu versorgen, kann man UPNP in der FRITZ!Box aktivieren und sich auf dem Rechner, auf dem auch pyLoad läuft, folgende beiden Dateien anlegen:
reconnect.sh
1 2 | #!/bin/bash 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 "@data.txt" |
data.txt
1 2 3 4 5 6 7 | <?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> |
Beide Dateien müssen sich im selben Ordner befinden.
Das Script reconnect.sh muss noch ausführbar gemacht werden:
1 | chmod a+x reconnect.sh |
Jetzt kann man sowohl manuell eine Neuverbindung durchführen:
1 | ./reconnect.sh |
oder als Reconnect-Script in die pyLoad-Konfiguration einbinden, um so eine automatische Wiederverbindung zu ermöglichen.
Diese Revision wurde am 23. November 2016 17:00 von Hans9876543210 erstellt.