Webseiten mit Naja downloaden

Aus LinuxUser 11/2004

Webseiten mit Naja downloaden

Der Web-Sauger

Alles wird einfacher. Software-Hersteller entwickeln “benutzerfreundliche” Programme, in denen der Anwender mit wenigen Klicks ans Ziel kommen soll. Dieser Beitrag stellt Naja vor, einen Download-Manager und Website-Grabber der Firma Keyphrene, und prüft, wie es um die viel gepriesene Usability steht.

Naja [1] ist ein Webtool, das durch Plug-Ins für FTP, WebDAV und News erweitert werden kann. Somit ist es eine der typischen All-in-one-Lösungen. Naja wurde erfolgreich auf Windows, Linux und Mac OS X getestet. Sie dürfen das Programm kostenlos nutzen, eine Registrierung ist nicht erforderlich. Allerdings ist das Programm “ad-sponsored software” (Abbildung 1), enthält aber nach Aussage des Herstellers keine Spy-Ware.

Abbildung 1: Werbeblock: Oben rechts wechseln sich bei Naja immer wieder Werbeeinblendungen ab.

Abbildung 1: Werbeblock: Oben rechts wechseln sich bei Naja immer wieder Werbeeinblendungen ab.

Naja ist ein moderner Download-Manager, der unterbrochene Downloads – etwa bei abgebrochener Verbindung – wieder aufnehmen kann. Der Download wird dann dort weitergeführt, wo abgebrochen wurde. Das funktioniert, weil – allgemein gesagt – Dateien (via HTTP, HTTPS, FTP und FTPS) in Segmente aufgeteilt werden. Zusätzlich kann die Geschwindigkeit gesteigert werden, wenn Dateien von Mirrorsites geladen werden. Folgende Komponenten sind in Naja enthalten beziehungsweise können zusätzlich einbezogen werden:

  • Downloader für HTTP, FTP (Default)
  • Websucker/Website Grabber (Default)
  • Newsreader, Newsposter (Optional)
  • FTP-Client (Optional)
  • WebDAV-Client (Optional)
  • Prüfsummen-Checks (CRC32, MD2, MD4, MD5, SHA, SHA1, MDC2, RMD160)
  • Crypt (nur in der erweiterten Version) und Decrypt (AES, DES, 3DES)
  • CGI- und WebDAV-Server
  • Schnittstelle zum Web
  • Komprimierung/Dekomprimierung für zip, tar.gz, tar.bz2
  • Bildbetrachter

Naja installieren

Um Naja zu installieren, brauchen Sie zunächst Python 2.3, das unter [2] erhältlich ist; welche Version Sie haben, sagt Ihnen ein python -V auf der Konsole. Des Weiteren benötigen Sie pyOpenSSL und wxPython2.5.2.8, das Python-Binding für wxWindows [3]. Um Konflikte zu vermeiden, löschen Sie am besten die alte wxPython-Bibliothek (falls diese installiert ist).

Alle Software-Komponenten – also wxPython (inklusive wxWidgets) und pyOpenSSL – werden entweder auf der Homepage von Keyphrene angeboten oder es steht dort ein Link darauf. Somit muss man nicht lange nach Archiven im Netz suchen.

Achtung: Die wxPython-Installation ist nicht ohne Tücken. Lesen Sie die Dateien BUILD und INSTALL sehr genau – Sie ersparen sich viel Arbeit und schonen Ihre Nerven! Wenn alle Stricke reißen, schicken Sie dem wxPython-Autor Robin Dunn eine Mail und fragen ihn um Rat. Testen Sie abschließend die Installation mit python demo.py im Verzeichnis /demos des wxPython-Baumes. Als Lohn für die Mühe erhalten Sie neben wxPython Programme wie zum Beispiel PyCrust. Das ist eine moderne Python-Shell mit Autovervollständigung und anderen nützlichen Funktionen, die Sie sich unbedingt ansehen sollten.

Anschließend können Sie pyOpenSSL und Naja installieren. Entpacken Sie das Archiv mit dem Befehl tar xvzf najaXXX.tar.gz in ein Verzeichnis Ihrer Wahl und folgen den Anweisungen in der README-Datei. Genauso machen Sie es mit pyOpenSSL. Danach starten Sie Naja auf der Shell mit python naja.pyw oder python naja.pyc (Abbildung 2).

Abbildung 2: Die Oberfläche von Naja.

Abbildung 2: Die Oberfläche von Naja.

Der Sauger in Aktion

Generell kennt Naja zwei Modi: HFTP und SUCKER. HFTP ist eine Mixtur aus HTTP und FTP. SUCKER ermöglicht es, ganze Sites herunterzunuckeln. Mit Hilfe eines Umschalters in Form eines kleinen Popups können Sie zwischen den Modi wechseln.

Um Naja auszuprobieren, brauchen Sie keine Verbindung zum Internet herstellen, denn zu Übungszwecken kann man offline arbeiten. Dazu sollten HTML-Dateien (oder Grafiken) im DOCUMENT_ROOT des Webservers (vermutlich Apache) stehen. Unter Suse sind solche Dateien standardmäßig im Verzeichnis /usr/local/httpd/htdocs untergebracht, bei Red Hat hingegen platziert man sie in /var/www/html. Für Testzwecke können Sie index.html (die Default-Datei des Webservers) nutzen – oder Sie basteln selbst eigens dazu eine Testdatei.

Starten Sie Naja: python naja.pyw. Anschließend drücken Sie [Strg-J] (einen neuen Job festlegen) und fügen einen URL (zum Beispiel http://localhost/index.html) in das Feld URL ein. Daraufhin erscheint der URL im Hauptfenster der Anwendung. Jeder Job erhält eine ID (erstes Feld des Jobs). Weiterhin stehen im Hauptfenster Angaben zur Verbindungsgeschwindigkeit, zum Status und zur Download-Methode. Ist der Job abgearbeitet, wird der URL wieder aus dem Hauptfenster gelöscht. Man kann den URL auch selbst löschen. Das geht entweder über das Kontextmenu (rechte Maustaste) oder über die Schaltfläche Delete Job.

Nun kann der erste Download beginnen: Klicken Sie den URL mit der Maus an und dann auf den Button Job starten; kurz darauf steht die gewünschte Datei im Verzeichnis /data/hftp des Naja-Verzeichnisbaumes. Falls Sie SUCKER benutzen, finden Sie die Daten im Verzeichnis /data/sucker.

Die Oberfläche der Software ist selbsterklärend und mit etwas Experimentierfreude im Handumdrehen erforscht. Überdies können Sie die Online-Hilfe zu Rate ziehen. Diese gibt allgemeine Erklärungen zu Naja, zur Konfiguration, zu den Erweiterungen und stellt FAQs und andere nützliche Informationen bereit.

Arbeiten mit dem Scheduler

Naja kommt bereits mit effizienten Komponenten auf die Platte und lässt sich über den Options-Dialog im Tools-Menü an eigene Bedürfnisse angleichen. Da wäre zum Beispiel der Scheduler, der das Linux-Programm cron benutzt, um Zeiten für Tasks (Downloads, News abrufen) festzulegen (Abbildung 3). Dazu könnte man zum Beispiel folgendermaßen vorgehen:

  • Mit [Strg-J] einen neuen Job definieren
  • Im Options-Dialog den Job konfigurieren
  • Im Scheduler die Zeiten festlegen
Abbildung 3: Der Scheduler von Naja nutzt cron, um Zeiten für Tasks festzulegen.

Abbildung 3: Der Scheduler von Naja nutzt cron, um Zeiten für Tasks festzulegen.

Ein wichtiger Parameter ist in diesem Zusammenhang ISeg (segmentation interface). Damit kann das Aufteilen der Dateien in Päckchen eingestellt werden. Dieser Wert ist für FTP (mit Authentication) auf zwei limitiert. Die Einstellungen für ISeg werden ebenfalls im Menü ToolsOptions ([Strg-O]) vorgenommen.

Es gibt insgesamt vier Scheduler-Typen: cron, anacron 1, anacron 2 und anacron 3. Cron wird für Maschinen verwendet, die rund um die Uhr im Einsatz sind. Die anacron-Scheduler hingegen verwenden Sie, wenn der Rechner nicht ununterbrochen läuft.

Der Scheduler arbeitet mit Kommandos (case-sensitive). Ein Kommandoaufruf könnte beispielsweise so aussehen:

cmd_1("string");cmd_2("string");cmd_3("string")

Das Alert-Kommando zeigt eine Nachricht in einer Box:

Alert("title","your message…\n your message…")

Das System-Kommando erlaubt die Ausführung eines Kommandos in einer Subshell:

System("echo naja")

Das Job-Kommando gestattet die Ausführung eines Jobs:

Job("id")

Fazit

Naja ist praktisch, variabel, mit Plug-Ins erweiterbar und technisch auf der Höhe der Zeit. Das Tool ist in Python geschrieben und vereint Übersichtlichkeit, weitreichende Konfigurationsmöglichkeiten und effiziente Download-Techniken unter einem Dach. Somit ist es als Werkzeug für die tägliche Arbeit zu gebrauchen.

Es gibt aber auch Kritikpunkte, etwa die Installation. Für Einsteiger ist der Aufwand, insbesondere das Kompilieren von wxWidgets (inklusive wxPython), wahrscheinlich schwer zu bewältigen. Das darf künftig ruhig etwas benutzerfreundlicher sein, etwa indem Software wie pyOpenSSL integriert wird. Ärgerlich ist auch die fehlende Offline-Hilfe. Der Anwender ist gezwungen, eine Verbindung zum Internet herzustellen und auf der Homepage nach geeigneten Informationen zu suchen – die man dort aber schnell findet. Und schließlich stört die Banner-Werbung der “ad-sponsored software”. Insgesamt fällt das Urteil durchwachsen aus. Na ja, entscheiden Sie selbst.

Der Autor

Thomas Kaufmann ist als freier Entwickler (Python, C, C#, Java) und Autor tätig. Zudem gehört die Administration von Linux-Systemen (Suse, Red Hat) sowie IT-Sicherheit zu seinen bevorzugten Themen.

Infos

[1] Naja Homepage: http://www.keyphrene.com

[2] Python Homepage: http://www.python.org

[3] wxPython Homepage: http://www.wxpython.org

LinuxUser 11/2004 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben