Um alte Rechner mit dem Internet zu verbinden, benötigt man spezielle Hardware, die mittlerweile für fast alle Systeme erhältlich und relativ günstig ist. Neben einem Browser ist lediglich ein TCP-Stack erforderlich, um mit dem Surfen zu beginnen. Allerdings gibt es einige Herausforderungen, wenn man mit veralteten Systemen im modernen Internet surft. Verschlüsselung und die vielen JavaScript- und CSS-Elemente auf modernen Webseiten stellen hohe Anforderungen an die Software. Zudem benötigen viele alte Systeme mehr Arbeitsspeicher, der nicht immer zur Verfügung steht. Bevor das Internet in seiner heutigen Form existierte, gab es einige Vorgänger, darunter Gopher. Diese einfache Form der Informationsübertragung ist zwar längst nicht mehr so verbreitet und Seiten können nicht mehr direkt besucht werden, da moderne Browser nicht mit dem Protokoll kompatibel sind. Gopher-Seiten haben jedoch den Vorteil, dass sie sehr leichtgewichtig sind und von alten Systemen leichter verarbeitet werden können. Die meisten Browser sind zudem recht ressourcenschonend. Diese Anleitung beschreibt, wie man einen Gopher-Server im internen Netzwerk einrichtet, der mit einem Gopher-Browser besucht werden kann.
Bevor es losgeht, noch ein paar Hinweise (Wichtig!):
- Diese Anleitung behandelt nicht die Systemsicherheit. Das Bereitstellen des Servers und das Öffnen von Ports kann Sicherheitsrisiken bergen.
- Für Schäden, die direkt oder indirekt aus der Nutzung dieser Anleitung entstehen, wird keine Haftung übernommen.
Was ist Gopher?
Gopher, ein Internetprotokoll, das Anfang der 1990er Jahre entwickelt wurde, ermöglichte den Zugriff auf Informationen über ein organisiertes Menüsystem. Es war eine der ersten Methoden, mit denen Benutzer strukturierte Informationen im Internet abrufen konnten, noch bevor das World Wide Web populär wurde. Gopher-Seiten zeichnen sich durch ihre einfache Gestaltung, eine schlichte Benutzeroberfläche und ihre textbasierte Darstellung aus. Ziel war es, eine unkomplizierte Informationsverteilung im akademischen Umfeld zu schaffen. Die Entwicklung erfolgte 1991 an der „University of Minnesota“. Leider verlor Gopher bereits 1993 an Popularität, als die Universität eine Lizenzgebühr in Erwägung zog.
Sicherheit und System Voraussetzungen
Die vorliegende Anleitung fokussiert sich in erster Linie auf die Einrichtung eines Gopher-Servers und nicht auf die Verbindung mit dem Netzwerk der Clients. Eventuelle Details zu diesen Themen findet man in einer separaten Anleitung. Der Fokus liegt hier auf der Bereitstellung des Servers im Netzwerk und den unterstützten Browsern für verschiedene Systeme. Im Anschluss ist der Server ausschließlich im internen Netzwerk verfügbar. Durch die entsprechende Konfiguration im Router kann er jedoch auch von außen erreichbar gemacht werden. Dies ist aber nicht Bestandteil dieser Anleitung und sollte auch gut überlegt werden, denn dies ist eine veraltete Technik und könnte somit Sicherheitsrisiken mitbringen. Vorausgesetzt wird lediglich, dass ein Netzwerk mit einem Server besteht. Linux muss auf diesen installiert sein. Es besteht auch die Möglichkeit, eine virtuelle Maschine zu verwenden.
Wir gehen davon aus, dass unsere Client-Systeme bereits mit einem TCP-Stack ausgestattet sind und bereits mit dem Netzwerk bzw. Internet verbunden sind. Dabei ist es nicht von Bedeutung, ob es sich um einen modernen PC, einen Amiga oder C64 handelt. Für alle Geräte steht die entsprechende Software zur Verfügung.
Der Server
Für unser Vorhaben wird der Server Gophernicus unter Ubuntu installiert. Die Einrichtung des Servers ist unkompliziert und erfordert keine komplexe Konfiguration. Vor der Kompilierung und Installation des Servers müssen zunächst einige Pakete heruntergeladen werden. Zu diesem Zweck öffnen wir das Terminal und geben die folgenden Befehle ein:
sudo apt update && sudo apt upgrade
sudo apt install net-tools git gcc
Im nächsten Schritt erfolgt die Installation des Servers. Zunächst ist es notwendig, die IP-Adresse des Servers zu ermitteln. Andernfalls versucht der Server eigenständig, die Adresse zu bestimmen, was im späteren Verlauf zu Problemen führen würde. Die IP-Adresse wird mithilfe des Befehls "ifconfig" ermittelt. Beachte, dass sich die IP-Adresse nach einem Neustart des Rechners ändern kann. Bei den meisten Routern kann man allerdings festlegen, dass immer dieselbe Adresse per DHCP zugewiesen wird. Die entsprechende Option ist abhängig vom jeweiligen Router.
Mit den folgenden Befehlen wird der Server heruntergeladen, kompiliert und installiert. Gib die ermittelte IP-Adresse bei [IP-ADRESSE] ein.
cd ~
git clone -b 3.1.1 https://github.com/gophernicus/gophernicus.git
cd gophernicus
./configure --listener=systemd –hostname=[IP-ADRESSE]
make
sudo make install
Die IP-Adresse kann jederzeit unter /etc/default/gophernicus geändert werden. Der Server ist nun einsatzbereit. Gib zum Start des Servers die folgenden Befehle ein.
systemctl enable gophernicus.socket
systemctl start gophernicus.socket
Der Server sollte nun aktiv sein und auf eingehende Verbindungen warten. Unter "/var/gopher" befindet sich eine bereits eingerichtete Gopher-Seite. Wenn wir den Server mit einem Gopher-kompatiblen Browser kontaktieren, sollten diese angezeigt werden. In den jeweiligen Gopher-Browser muss lediglich die IP-Adresse des Servers angegeben werden.
Der Browser
Um die Funktion des Servers zu überprüfen, ist ein Rechner im selben Netzwerk erforderlich, auf dem ein Gopher-kompatibler Browser installiert ist. Hierbei kann es sich um einen PC/Mac, einen Amiga oder C64 handeln. Selbstverständlich ist die Nutzung auch mit einem anderen Rechner möglich, sofern ein Browser zur Verfügung steht. Als Alternative bietet sich die Installation eines Add-ons für den Browser auf dem PC an, zum Beispiel "Link Gopher". Für die Browser Firefox und Google Chrome steht das Add-on linkgopher zur Verfügung. Native Browser sind ebenfalls für alle modernen Betriebssysteme wie Windows, MacOS und Linux verfügbar. Weitere Informationen finden wir unter gophie.org.
Für den Amiga steht ebenfalls ein Leichtgewicht-Browser zur Verfügung, der neben dem Gopher-Protokoll weitere Funktionen bietet. Der Browser ist unter aminet.net zu finden. Um den Amiga mit dem Netzwerk zu verbinden, ist die Installation eines TCP-Stacks erforderlich. Alternativ kann ein Amiga-Emulator wie WinUAE verwendet werden, der den Zugriff auf das Netzwerk (bsdsocket) erlaubt.
Um mit dem C64 auf die Gopher-Seite zuzugreifen, ist ein etwas höherer Aufwand erforderlich. Für den Betrieb ist unter anderem eine RRNET-Hardware sowie NETBOOT erforderlich. Alternativ kann geoGopher für GEOS auf dem Ultimate64 verwendet werden.
Auch für mobile Geräte gibt es entsprechende Möglichkeiten. Ein Beispiel hierfür ist "Gophercle" für Android und “Gopher Client” für iOS.
Eine Gopher-Seite erstellen
Der Aufbau einer Gopher-Seite gestaltet sich relativ einfach. Um eine fehlerfreie Interpretation durch den Browser zu ermöglichen, werden Links, Bilder und einfacher Text durch jeweils spezifische Kennzeichnungen in den Zeilen deutlich voneinander getrennt. Dabei wird jede Zeile in fünf Teile aufgeteilt. Ein Link auf ein Unterverzeichnis eines fremden Servers wird beispielsweise wie folgt dargestellt:
[TYP][TEXT][Tabulator][SELECTOR][Tabulator][HOSTNAME][Tabulator][PORT]
1 ProjektXY /projekt HostAdresse.com 70
Auch ein Link auf eine Textdatei ist möglich. In diesem Fall ist es nicht notwendig, Host und Port anzugeben, da sich die Datei auf demselben Server befindet.
[TYP][TEXT][Tabulator][SELECTOR][Tabulator][Tabulator]
0 Link name Ordner/beispiel.txt
Die einzelnen Elemente werden durch Tabulatoren voneinander getrennt. Der Browser ist damit in der Lage, die einzelnen Teile voneinander zu unterscheiden. Der Browser erkennt anhand der angegebenen Typ-Information den Inhalt. Es gibt verschiedene Typen, die wir angeben können. Zu den wichtigsten gehören folgende:
0 Text file
1 Gopher Submenü
7 Gopher Volltext-Suche
9 Binäre Datei
g GIF Datei
i Infozeile/Text
Bei den Informationstypen wie beispielsweise einer Textdatei müssen der Selector, Hostname und Port nicht angegeben werden, die Tabulatoren hingegen schon. Wenn wir im Root Ordner des Servers ein Unterverzeichnis erstellen, dann können wir diesen an beliebiger Stelle verlinken. Auch nicht verlinkte Unterverzeichnisse werden am unteren Rand der Seite angezeigt. Dies spart Zeit beim Editieren und gewährleistet dennoch eine übersichtliche Seitenstruktur.
Weitere Informationen zu diesem Thema sind auf wikipedia.org zu finden.
Weitere Informationsquellen
Zum Abschluss dieser Anleitung finden wir noch einige Informationen darüber, wie wir die noch existierenden Gopher-Seiten im Internet finden können. Obwohl diese Art von Netzwerk nicht mehr in Gebrauch ist, existiert eine beachtliche Anzahl an Gopher-Seiten. Die erste Anlaufstelle ist die Seite "Floodgap" unter der Adresse gopher://gopher.floodgap.com. Auf dieser Seite finden wir eine Vielzahl von Informationen. Sollten wir dennoch eine spezifische Seite suchen, kann die Gopher-Suche verwendet werden: Veronica - gopher.floodgap.com:70/1/v2 (Very Easy Rodent-Oriented Net-wide Index to Computerized Archives).