ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

pyLoad

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

pyloadpyLoad {en} 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.

Vorbereitung

Abhängigkeiten

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

Wiki/Vorlagen/Installbutton/button.png 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 

Herunterladen

Danach wird der aktuelle Quelltext von pyLoad von der Downloadseite {de} 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.

Hinweis!

Fremdpakete können das System gefährden.

Erste Konfiguration von pyLoad

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 {de} auf der Projektseite zu finden.

Herunterladen mit pyLoad

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.

Webinterface

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.

ssl-gesicherte Verbindung

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.

CLI (Terminal)

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.

GUI

pyLoad hat natürlich auch eine grafische Oberfläche. Wenn der Core gestartet ist, kann man diese einfach per

pyLoadGui 

in einem Terminal starten.

Reconnect-Script für FritzBox

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.

ubuntuusers.local › WikipyLoad