Ubuntu 12.10 „Quantal Quetzal“
Ubuntu 12.04 „Precise Pangolin“
Ubuntu 11.10 „Oneiric Ocelot“
Ubuntu 10.04 „Lucid Lynx“
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 deshalb schnell und unkompliziert nutzbar.
Das Einsatzgebiet deckt sich teilweise mit dem JDownloader und Tuxload, allerdings kann pyLoad noch mehr: im Gegensatz zu seiner 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 sollte auf Ubuntu-Systemen bereits enthalten sein, des Weiteren werden aber noch weitere Pakete benötigt[3]:
python
python-crypto
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)
python-imaging
rhino
python-openssl
mit apturl
Paketliste zum Kopieren:
sudo apt-get install python python-crypto python-pycurl python-qt4 tesseract-ocr gocr python-django openssl unrar python-imaging rhino python-openssl
sudo aptitude install python python-crypto python-pycurl python-qt4 tesseract-ocr gocr python-django openssl unrar python-imaging rhino python-openssl
Danach wird der aktuelle Quelltext von pyLoad von der Downloadseite des Projekts heruntergeladen und in einen beliebigen Ordner entpackt[1] werden. Alternativ stehen sowohl für einen Ubuntu-Desktop, als auch für einen Ubuntu-Server Fremdpakete im .deb-Format zur Verfügung. Diese sollten bevorzugt verwendet werden, da die erste Konfiguration sehr einfach ist.
Fremdpakete können das System gefährden.
Der Dialog für die Erstkonfiguration beginnt, wenn man in der Konsole
pyLoadCore
eingibt.
Dieser Dialog kann später mit dem Befehl
pyLoadCore -s
wiederholt werden.
Weitere Einstellungen können dann über die Weboberfläche getätigt werden.
Eine ausführliche Liste mit dazugehörigen Erklärungen ist unter configuration auf der Projektseite zu finden.
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 hier 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 openssl installieren. Dann muss natürlich der Schlüssel im Konfigurationsverzeichnis /home/$user/.pyload generiert werden:
cd ~/.pyLoad openssl genrsa 1024 > 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 auf freenode.net um Hilfe bitten.
Alternativ kann man aber auch einfach den Konfigurationsdialog, wie im Punkt "Erstkonfiguration von pyLoad" 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" |
und data.txt
<?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 reconnect.sh
Script 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 reconnect.sh
als Reconnect-Script in der Pyload-Konfiguration einbinden, um so
eine automatische Wiederverbindung zu ermöglichen.