[[Vorlage(archiviert )]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Packprogramme: Archive entpacken] [:Programme_starten: Ein Programm starten] [:Rechte: Rechte für Dateien und Ordner ändern] }}} [[Inhaltsverzeichnis(2)]] [[Bild(./tuxload_logo.png, 48, align=left)]] [http://tuxload.wikispaces.com/ Tuxload] {de} ist ein in [:Perl:] geschriebenes Programm, um automatisch Dateien von sogenannten [wikipedia:Sharehoster:One-Click-Hostern] herunterzuladen. Tuxload greift zur [wikipedia:CAPTCHA:]-Erkennung auf externe Programme wie [:GOCR:], [:Ocrad:] und `anticaptcha` zu. Das Programm arbeitet mit Plugins für die verschiedenen One-Click-Hoster, was es ermöglicht, eigene Plugins zu schreiben und einfach zu verwenden. Tuxload ist textbasierend und besitzt somit keine grafische Benutzeroberfläche. Eine Alternative mit grafischer Benutzeroberfläche ist der in Java geschriebene [:JDownloader:]. = Installation = Tuxload hat einige Abhängigkeiten, die bei dem hier beschriebenen Installationsverfahren nicht automatisch aufgelöst werden. Deswegen müssen zuerst folgende Pakete installiert [1] werden: {{{#!vorlage Paketinstallation git-core imagemagick libjpeg-progs libwww-perl gocr,universe [2] }}} Da es seit einiger Zeit bei Rapidshare keine Captchas mehr gibt, kann man auf alle Pakete außer '''git''' und '''libwww-perl''' verzichten wenn man nur von Rapidshare laden möchte. Mit {{{#!vorlage Befehl sudo git clone git://git.someserver.de/joker/tuxload /opt/tuxload }}} wird Tuxload ins Verzeichnis '''/opt/tuxload''' geladen bzw. aktualisiert, falls dort bereits eine ältere Version existiert. {{{#!vorlage Hinweis Dadurch dass der Autor keine stabilen Versionen mehr anbietet, kann es durchaus vorkommen, dass Tuxload zeitweise unbrauchbar oder nur eingeschränkt benutzbar ist. Falls dies geschieht, sollte man Tuxload etwas später aktualisieren, um wieder die neueste Version zu bekommen, wo das Problem behoben sein könnte. }}} Danach kann das Programm im Terminal [3] mit {{{#!vorlage Befehl /opt/tuxload/bin/tuxload.pl }}} gestartet werden. Um nicht jedes Mal den kompletten Pfad eingeben zu müssen, bietet es sich an, durch folgenden Befehl einen symbolischen Link anzulegen: {{{#!vorlage Befehl sudo ln -s /opt/tuxload/bin/tuxload.pl /usr/local/bin/tuxload }}} Jetzt kann Tuxload vom Terminal [3] aus durch den Befehl: {{{#!vorlage Befehl tuxload }}} aufgerufen werden. Im weiteren Artikel wird davon ausgegangen, dass Tuxload auf diese Weise installiert wurde. = Konfiguration = Die Konfiguration von Tuxload funktioniert größtenteils über das Ändern der Datei '''/opt/tuxload/etc/BasicConfig.pm''' mit einem Editor mit Root-Rechten [4]. Wichtige Optionen, die geändert werden sollten, da sonst zum Download Root-Rechte gebraucht werden, sind `path_downloads`, `path_log` und `path_tmp` die den Speicherort der Downloads, der Logdateien und temporärer Dateien angeben. Standardmäßig sind die Verzeichnisse '''downloads''', '''log''' und '''tmp''' im Tuxloadverzeichnis angegeben. Allerdings muss dabei darauf geachtet werden, dass ein '''~/''' als Alternative zum Homeverzeichnis nicht zulässig ist. Die geänderte Option könnte beispielsweise so aussehen: {{{ path_downloads => "/media/sda2/downloads", path_tmp => "/tmp", path_log => "/home/benutzername/log", }}} == Reconnect == Bei vielen One-Click-Hostern muss zwischen zwei Downloads eine längere Wartezeit liegen. Die Dienste überprüfen dies anhand der IP-Adresse, die man besitzt. Um dieses Problem zu umgehen, hilft es bei den meisten Internetprovidern, seine Internetverbindung zu unterbrechen und neu aufzubauen. Dadurch erhält man von seinem Provider eine neue IP-Adresse. Die Grundvoraussetzung für einen Reconnect ist ein Skript/Programm, das die Internetverbindung neu startet. Im Gegensatz zur Information, die ein `tuxload --help` liefert, ist der Reconnect standardmäßig deaktiviert. Zur Aktivierung und Einrichtung muss zuerst in die Option `reconnect_script` in '''/opt/tuxload/etc/BasicConfig.pm''' der Pfad zum Reconnectskript, das ausführbar [7] sein muss, eingetragen werden. Beispiel: {{{ reconnect_script => '/home/user/bin/reconnect', }}} In der selben Konfigurationsdatei wird anschließend der Wert für `reconnect` auf `1` für einen Reconnect nur zwischen Downloads einer Liste oder `2` für einen Reconnect auch zwischen einzelnen Downloads gesetzt. Beispiel: {{{ reconnect => 2, }}} Da manche Router längere Zeit benötigen, um sich neu mit dem Internet zu verbinden, ist es zum Teil ratsam, eine Wartezeit nach dem Reconnect einzubauen. Der entsprechende Abschnitt in der Datei '''/opt/tuxload/lib/Common.pm''' sähe dann verändert zum Beispiel so aus: {{{ sub reconnect { if ( $bopt{reconnect} > 0 ) { logger( '### reconnecting ...', 1 ); if ( ! $bopt{reconnect_script} ) { logger( "### No Reconnect-Script given" ); return; } $bopt{cur_status} = "reconnecting"; qx/$bopt{reconnect_script}/; sleep(30); ## Diese Zeile wurde nachträglich hinzugefügt print "\n Gewartet"; ## Diese ebenfalls return "reconnected"; } return; } }}} Die Zahl in den Klammern hinter `sleep` ist die Wartezeit in Sekunden. = Premium User = Da der Entwickler die Premium-Funktion von Tuxload selten testet, kann es sein, dass sie nicht funktioniert. Das Problem kann man ganz einfach umgehen, indem man [:Shell/wget:wget] nutzt. Das genaue Vorgehen ist auf der Seite [:Archiv/Skripte/RapidShare#Premium-User-Download-mit-wget:] beschrieben. = Benutzung = Die Anwendung von Tuxload gestaltet sich relativ einfach. Mit dem Parameter `-f` wird ein einzelner Link verarbeitet. Beispiel: {{{#!vorlage Befehl tuxload -f http://rapidshare.com/files/70769769/tuxl-0_26.tgz }}} Mit dem Parameter `-l` wird eine ganze Liste mit Links verarbeitet, die als Textdatei vorliegt. Beispiel: pid {{{#!vorlage Befehl tuxload -l /download_liste }}} Die Parameter können auch in einem Befehl kombiniert werden. Beispiel: {{{#!vorlage Befehl tuxload -f http://rapidshare.com/123/abc.rar -f http://rapidshare.com/456/def.rar -l download_liste }}} Falls man ein alternatives Zielverzeichnis angeben will, geschieht das mit der Option `-d`. Beispiel: {{{#!vorlage Befehl tuxload -d /home/user/downloads -f http://rapidshare.com/files/70769769/tuxl-0_26.tgz }}} = *.ccf und *.rsdf = Viele Rapidsharelinks werden in den verschlüsselten Containerformaten '''*.ccf''' oder '''*.rsdf''' angegeben. Diese Containerformate gestatten das Herunterladen der einzelnen Dateien ohne den direkten Link für den Benutzer sichtbar zu machen. Zur Zeit wird keines der Formate von Tuxload unterstützt. Allerdings fand [http://kugelfisch.wordpress.com/ Kugelfisch] {de} den 160 Bit langen Schlüssel für das rsdf-Format heraus: {{{ 8C 35 19 2D 96 4D C3 18 2C 6F 84 F3 25 22 39 EB 4A 32 0D 25 }}} Um damit eine '''*.rsdf'''-Datei zu entschlüsseln, kann man folgendes [:Python:]-Skript benutzen, was die Installation des Pakets '''python-crypto''' erfordert: {{{#!vorlage Paketinstallation python-crypto }}} {{{#!code python #!/usr/bin/env python import binascii import base64 from Crypto.Cipher import AES import sys # 8C 35 19 2D 96 4D C3 18 2C 6F 84 F3 25 22 39 EB 4A 32 0D 25 infile = sys.argv[1] Key = binascii.unhexlify('8C35192D964DC3182C6F84F3252239EB4A320D2500000000') IV = binascii.unhexlify('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF') IV_Cipher = AES.new(Key,AES.MODE_ECB) IV = IV_Cipher.encrypt(IV) obj = AES.new(Key,AES.MODE_CFB,IV) rsdf = open(infile,'r') data = rsdf.read() data = binascii.unhexlify(''.join(data.split())) data = data.splitlines() for link in data: link = base64.b64decode(link) link = obj.decrypt(link) print link.replace('CCF: ','') rsdf.close() }}} Quelle: [http://board.gulli.com/thread/865191-ccd-und-rsdf-files-unter-mac/#25 Gulli Board] {de} Das Skript kann unter dem Namen '''decodersdf''' in '''~/bin/''' gespeichert werden und muss Ausführrechte [7] bekommen. Die Ausgabe des Skriptes kann direkt in eine Textdatei umgeleitet werden. So ist es möglich, die Links einer '''*.rsdf'''-Datei an eine Liste für Tuxload anzuhängen. Beispiel: {{{#!vorlage Befehl decodersdf container.rsdf >> ~/liste }}} = Links = * [:Download-Manager:] {Übersicht} Übersichtsartikel # tag: Internet