Speziell unterwegs steht nicht immer eine stabile Internet-Verbindung zur Verfügung. Wer dennoch auf Lexika wie Wikipedia zugreifen möchte, dem hilft Kiwix dabei.
Auch im Jahr 2017 gewähren die Anbieter mobiler Netzwerkdienste keinen flächendeckenden zuverlässigen Internet-Zugang. Für solche Fälle lohnt es sich, häufig benötigte Daten im Gerät mitzuführen. Der praktische Wiki-Reader Kiwix (Abbildung 1) stellt zumindest primäre Informationsquellen wie Wikipedia, das Wörterbuch Wiktionary oder den Reiseführer Wikivoyage offline zur Verfügung.

Abbildung 1: Der Offline-Reader Kiwix erlaubt es, lokal archivierte Webseiten wie etwa Wikipedia ohne Internet-Verbindung aufzurufen.
Kiwix [1] gibt es für Linux, Windows, MacOS, Android (Abbildung 2) und iOS. Die Macher stellen die Linux-Version als statisch gelinktes Binary bereit [2], das keine Installation benötigt. Es lässt sich von einem USB-Stick aus auf jedem Rechner mit passendem Betriebssystem starten, etwa unter OpenSuse 42.3 oder Ubuntu 17.04.

Abbildung 2: Unter Android stellt Kiwix die Wikipedia mit einklappbaren Kapiteln dar und bindet die Android-Vorlesefunktion ein. Das Menü rechts oben gestattet das Öffnen mehrerer Tabs.
Unter Arch-Linux bricht der Start mit der Meldung version `ZLIB_1.2.9′ not found ab. Die Lösung: Ersetzen Sie den Symlink <libz.so.1 im Unterordner xulrunner des Programmarchivs durch einen Link auf die systemeigene Version von Libz. Ein entsprechendes Beispiel für eine Kiwix-Installation unter Arch Linux aus dem AUR installieren zeigt Listing 1.
Listing 1
$ sudo ln -sf /usr/lib/libz.so.1 /usr/lib/kiwix/xulrunner/libz.so.1
Informationsquellen
Die Kiwix-Entwickler stellen im Abstand weniger Wochen aktualisierte Auszüge der Wikipedia in vielen Sprachen sowie eine ganze Reihe weiterer digitaler Texte als ZIM-Archiv für Kiwix zur Verfügung [3]. Für Urlaubsreisen empfehlen sich das Wörterbuch Wiktionary in der jeweiligen Landessprache sowie der Reiseführer Wikivoyage. Wikimed bündelt die Wikipedia-Artikel zu den Themen Gesundheit, Hygiene und Arzneimitteln.
Auch die E-Book-Sammlung von Project Gutenberg [4] steht in vielen Sprachen zum Herunterladen bereit. Das entsprechende Archiv enthält die Bücher als in Kiwix lesbare HTML-Versionen und als EPUB-Dateien für einen externen Reader. In englischer Sprache fällt die Auswahl naturgemäß größer aus: Hier stehen zum Beispiel die TED-Expertentalk-Videos [5] für etliche Themen oder das Afghan War Diary von Wikileaks bereit.
Offline-Browser
Der Reiter Meine Bibliothek zeigt die heruntergeladenen Dateien, der Button Load neben dem Eintrag öffnet sie. Die Darstellung der lokalen Seiten unterscheidet sich optisch nicht von der Online-Fassung (Abbildung 3), nur die Bilder in der Wikipedia lassen sich nicht durch Anklicken vergrößern. Ein vollständiger deutscher Wikipedia-Dump umfasst ohne Bilder in Originalauflösung schon 25 GByte. Alternativ steht eine schlankere Fassung ohne Multimedia-Inhalte mit 5 GByte Umfang zur Verfügung.

Abbildung 3: Das auf der Firefox-Anzeige-Engine basierende Kiwix stellt die Offline-Seiten genau wie der bekannte Webbrowser dar und ähnelt ihm auch sonst.
Von der Bedienung her gleicht Kiwix einem Webbrowser: Es gibt Vor- und Zurück-Buttons sowie Lesezeichen, die jedoch nur auf Artikel deuten, nicht aber auf Unterkapitel eines Texts. Alle Links innerhalb des lokal archivierten Texts öffnet Kiwix selbst, alle externen der Standardbrowser des Systems.
Eine einzelne geöffnete Seite speichert Kiwix als HTML-Datei mit oder ohne Bilder, exportiert sie als PDF oder druckt sie auf Wunsch aus. Diese durchgehende Ähnlichkeit zu Firefox ist kein Zufall: Tatsächlich nutzt Kiwix Xulrunner, die Basiskomponente des Mozilla-Browsers. Es teilt sich also auch die Darstellungs-Engine für HTML mit Firefox, allerdings in einer Version von 2014.
Öffnen Sie ein Werk zum ersten Mal, fragt Kiwix, ob es einen Volltextindex erstellen soll. Später lässt sich die Verschlagwortung über das Menü anstoßen. Allerdings dauert die Indizierung der gesamten Wikipedia auch auf schnellen Rechnern eine ganze Nacht oder länger.
Nach dem Anlegen des Index findet die Suchleiste am oberen Fensterrand nicht nur Artikelnamen des gerade geöffneten Werks, sondern durchstöbert den kompletten Text (Abbildung 4). Wie beim Vorbild Google sucht Kiwix bei in Anführungszeichen eingeschlossenen Wortgruppen genau danach, anstatt nach dem ersten oder dem zweiten Begriff, wie es ohne Anführungszeichen der Fall wäre.

Abbildung 4: Die eingebaute Suchmaschine findet nicht nur Wikipedia-Einträge, sondern durchsucht den kompletten Text der Artikel.
Portabel
Kiwix stellt aber auch portable genannte, vorindizierte Archive auf den Projekt-Servern bereit [6]. Sie enthalten das Programm und eine ausgewählte Datenquelle samt Volltextindex. Die Linux-Version finden Sie im Archiv kiwix-linux.tar.bz2.
Dann lässt sich Kiwix wie bei der Standalone-Version aus dem Verzeichnis kiwi-linux heraus starten. Auch die Download-Funktion arbeitet problemlos, es lassen sich also weitere ZIM-Archive hinzufügen. Da erscheint es sinnvoller, die riesige Wikipedia in der portablen, volltextindizierten Version herunterzuladen, als die CPU einen Tag lang zu quälen.
Die Schlagwortsuche ähnelt optisch einer Internet-Suchmaschine. Ein Klick auf einen Treffer öffnet den verlinkten Artikel, springt aber nicht direkt zum Treffer. Dafür gibt es eine weitere Suche innerhalb des offenen Texts, die Sie mit [Strg]+[F] öffnen. Es genügt aber auch, einfach loszutippen. Die aus dem Browser bekannten Reiter für mehrere geöffnete Seiten lassen sich im Menü Bildschirm | Reiter zuschalten. Einen für die kleinen Displays mobiler Geräte praktischen Vollbildmodus finden Sie dort ebenfalls.
Genau wie in Firefox hebt die Suche die Trefferstellen auf Wunsch farbig hervor. Mit der Plus- und Minus-Taste vergrößern und verkleinern Sie den Text. Ein Klick auf das Home-Icon neben dem Eingabefeld springt zurück zur Startseite des geöffneten Werks, der linke Button mit dem Bücher-Symbol öffnet die Bibliothek mit der integrierten Download-Funktion.
Nicht ganz taufrisch
Die letzte Kiwix-Version stammt aus dem Jahr 2014, im Github-Repository [7] kennzeichnen die Entwickler das Programm bereits als “deprecated”. Aktiv arbeiten das Kiwix-Team an Browser-Erweiterungen für Firefox und Chrome, die ähnliche Funktionen bieten wie die Desktop-Anwendung (Abbildung 5).

Abbildung 5: Auch die neue Browser-Erweiterung von Kiwix bringt eine Suche mit, die allerdings nur Seitentitel findet, nicht jedoch Schlagwörter im Text.
Dass die auf der Firefox-Basis Xulrunner aufsetzende Architektur von Kiwix einer Revision bedarf, zeigt nicht zuletzt die behäbige Index-Erstellung. Zudem hängt das Programm bei der Rückkehr zur Bibliothek und zum Reiter Neue Dateien abrufen erst einmal ein paar Sekunden. Seine Kernaufgabe, das Anzeigen und Blättern in den lokal archivierten Inhalten, erledigt Kiwix aber ausreichend flott.
Im Test überzeugten die Addons für beide Browser. Nach der Installation erscheint in der Schalterleiste der Browser ein Icon, das die Konfigurationsseite der Erweiterung aufruft. Dort öffnen Sie ein ZIM-Archiv von der Festplatte. Die Einstellungen der Rubrik Expert settings lassen Sie im Moment besser unangetastet, auch wenn die Entwickler den gegenwärtig vorausgewählten Content injection mode auf Basis von Jquery als “slow and memory hungry” beschreiben: Unter Firefox funktioniert die Alternative ServiceWorker-API noch gar nicht, Chrome lädt damit immer wieder Seiten nur unvollständig.
Zum Glück wirkte der Browser selbst bei der 25 GByte großen Wikipedia im Test nicht zäh. Die Performance des stabilen, langsameren Modus genügt für flüssiges Arbeiten. Die Firefox-Extension ist bereits vom “neuen” Typ, also kompatibel mit dem im Winter fälligen Firefox 57, mit dem die meisten bisherigen Addons nicht mehr funktionieren werden.
Kiwix im Netz
Kiwix bringt einen Webserver mit, der es gestattet, den Inhalt der Offline-Bibliothek in einem lokalen Netz verfügbar zu machen (Abbildung 6). Diese Funktion zielt speziell auf Bildungseinrichtungen in Ländern ab, in denen Internet-Anschlüsse nicht selbstverständlich sind.

Abbildung 6: Die Server-Komponente stellt den Inhalt einer Kiwix-Bibliothek im Netz zur Verfügung. Alternativ zum simplen Start aus der grafischen Anwendung heraus gibt es auch eine Kommandozeilen-Variante.
Sie lässt sich aber auch nutzen, um Kindern kontrolliert bestimmte Inhalte zur Verfügung zu stellen – entweder Wikipedia und andere von den Kiwix-Entwicklern zusammengestellte Inhalte, selbstgeschnürte ZIM-Archive beliebiger Webpräsenzen oder ausgewählte Seiten eines Online-Angebots. Bildungseinrichtungen möchten vielleicht statische, sich nicht verändernde Fassungen als Diskussionsgrundlage bereitstellen.
Um den Server zu starten, klicken Sie im Menü Werkzeuge auf Server. Im Dialogfenster wählen Sie nur noch den gewünschten Port, etwa 8080, und klicken dann auf Starten. Unter http://IP-Adresse:8080 erreichen Sie nun die Startseite, in der Sie das gewünschte Archiv aktivieren. Die Anzeige der Inhalte unterscheidet nur geringfügig von jener der Desktop-Anwendung, auch die Volltextsuche funktioniert für indizierte Werke.
Alternativ starten Sie den Server auf der Kommandozeile – das erweist sich immer dann als praktischer, wenn Sie Inhalte permanent erreichbar machen wollen. Das Server-Binary kiwix-serve kennt die Parameter --port= und --library.
Die Konfigurationsdateien und Daten für Kiwix liegen im Heimatverzeichnis des aufrufenden Benutzers im Ordner .www.kiwix.org/kiwix/. Wie Firefox legt Kiwix darin einen default-Profilordner mit zufälligem Präfix an. Darin liegt eine Liste der in Kiwix verfügbaren Archive namens data/library/library.xml. Ein Startaufruf für den Server könnte also so aussehen wie in der ersten Zeile von Listing 2; der Aufruf aus der zweiten Zeile würde nur ein einzelnes ZIM-Archiv ausliefern.
Listing 2
$ kiwix-serve --port=8080 --library ~/.www.kiwix.org/kiwix/efrnsupg.default/data/library/library.xml $ kiwix-serve --port=8080 wikipedia.zim
Eigenbau
Eigene ZIM-Archive zusammenzustellen, macht zwar etwas Aufwand, gestaltet sich aber nicht weiter schwierig. Im ersten Schritt laden Sie dazu eine Website auf die Festplatte herunter. Das gelingt unter Ubuntu oder Arch beispielsweise mit dem Programm Httraqt recht komfortabel. Unter OpenSuse steht mit Httrack [8] ein Pendant mit ähnlicher Funktion und Weboberfläche zur Verfügung. Im einfachsten Fall geben Sie lediglich die Startadresse an, worauf das Programm alle internen Links der Webseite abklappert. Alternativ füttern Sie die Software mit einer Liste aller zu archivierenden URLs in Form einer Textdatei.
Das Tool Zimwriterfs des OpenZim-Projekts [9] verpackt die lokal gespiegelte Webseite schließlich in ein ZIM-Archiv für Kiwix oder den Kiwix-Server. Kiwix öffnet die Datei, fügt sie der Bibliothek library.xml hinzu und bereitet sie für die Volltextsuche vor. Zimwriterfs ließ sich unter Ubuntu und Arch aus den Quellen kompilieren. Dazu laden Sie den Quellcode [11] von Github herunter, entpacken ihn, wechseln Sie in den Quellcode-Ordner und führen darin die Befehle aus Listing 3 aus. Arch-Linux-Anwender bauen mit Makepkg die Pkgbuilds für gumbo-git, zimlib-git und zimwriterfs-git von der Heft-DVD.
Listing 3
$ sudo apt install liblzma-dev libzim-dev libgumbo-dev libtool automake g++ pkg-config apt-file zlib1g-dev libmagic-dev libicu-dev libxapian-dev $ ./autogen.sh $ ./configure $ make $ sudo make install
Listing 4
$ docker pull openzim/zimwriterfs $ docker run -it -v $(pwd):/Volumes/shared openzim/zimwriterfs
Die Entwickler stellen aber auch ein knapp 1 GByte großes Docker-Image zur Verfügung [10], das Sie wie in der ersten Zeile von Listing 4 gezeigt herunterladen. Der Aufruf aus der zweiten Zeile öffnet innerhalb des Containers eine Konsole, auf der Sie wie im lokalen Terminal arbeiten. Das Verzeichnis, von dem aus Sie den Befehl aufrufen, und in dem die zu verpackenden Inhalte liegen sollten, finden Sie im Container unter /Volumes/shared.
Der Container zeigt beim Start eine Parameterübersicht von Zimwriterfs an, sieben davon sind verpflichtend. --welcome legt die Startseite fest, --favicon erwartet ein 48 x 48 Pixel großes PNG-Icon. Als --language übergeben Sie einen dreibuchstabigen Sprachcode nach ISO639-3 (deu, eng, etc.). Mit --title und --description – setzen Sie den Titel und die Beschreibung des Projekts, über --creator und --publisher machen Sie Angaben zum Autor der Webseite und des ZIM-Archivs. Danach folgt der Ordner mit der lokal archivierten Website und der Dateinamen des zu erstellenden ZIM-Archivs. Ein entsprechender Aufruf sieht dann so aus wie in Listing 5.
Listing 5
$ zimwriterfs --welcome=index.html --favicon=favicon.png --language=deu --title=Kurztitel --description=Beschreibung --creator=Autor --publisher=Ich /Volumes/shared/GespiegelteSeite /Volumes/shared/MeinArchiv.zim
Fazit
Kiwix besticht durch die eingebaute Download-Funktion, die es erlaubt, lokale Dumps von Projekten wie Wikipedia mit minimalem Aufwand offline verfügbar zu machen. Außerdem stellt der eingebaute Server die Archive auf Wunsch im lokalen Netz zur Verfügung. Mithilfe von Zimwriterfs lassen sich beliebige HTML-Inhalte in ein ZIM-Archiv verpacken, das Kiwix dann offline anzeigt und gegebenenfalls samt Volltext- und Seitentitelsuche im Heimnetz zur Verfügung stellt.
Infos
-
Kiwix: http://www.kiwix.org
-
Kiwix herunterladen: http://www.kiwix.org/downloads/
-
ZIM-Archive für Kiwix: https://download.kiwix.org/zim/
-
Project Gutenberg: https://www.gutenberg.org
-
TED Talks: https://www.ted.com
-
Vorindizierte ZIM-Archive: http://wiki.kiwix.org/wiki/Content_in_all_languages
-
Kiwix auf Github: https://github.com/kiwix
-
Httrack: https://www.httrack.com
-
OpenZim: http://www.openzim.org/
-
Docker-Container für Zimwriterfs : https://hub.docker.com/r/openzim/zimwriterfs/
-
Zimwriterfs auf Github: https://github.com/openzim/zimwriterfs





