akfgopherserver(1) General Commands Manual akfgopherserver(1) NAME akfgopherserver - Gopher-Server SYNTAX akfgopherserver [Optionen] BESCHREIBUNG Das Programm akfgopherserver ist ein Server für das Gopher-Protokoll (nicht Gopher+). Gopher ist ein simples Internet-Protokoll, welches hauptsächlich dafür benutzt wird, um Informationen in Form von einfachen Textdateien über das Netz zur Verfügung zu stellen. Andere Dateien können zum Herunterladen angeboten werden. Dieser Server kann von normalen Benutzern bei Bedarf gestartet werden. Er antwortet per Voreinstellung nur auf Zugriffe von lokalen Netzen, während er Zugriffe aus dem Internet blockiert. Wenn dieser Server von einem normalen, nicht privilegierten Benutzer aufgerufen wird, verwendet er den Port 7070. Dieser Port muss dann auch beim Abruf im Client explizit mit angegeben werden. Zum Beispiel: gopher://localhost:7070. Wenn das Programm in einem Terminal im Vordergrund läuft, kann man es einfach mit der Tastenkombination [Strg]+[C] abbrechen. Ansonsten kann man es auch über die Befehle killall(1) oder kill(1) beenden. OPTIONEN -h --help --Hilfe Zeigt eine kurze Hilfe an. -V --version --Version Zeigt die Version an. -t --text unbekannte Dateinamen sollten als Textdateien interpretiert werden (Typ 0). Ansonsten sind es Binärdateien (Typ 9). -d Verzeichnis --directory=Verzeichnis --Verzeichnis=Verzeichnis Legt das angegebene Verzeichnis als Wurzelverzeichnis fest. Ohne diese Angabe wird das Verzeichnis, in dem das Programm gestartet wurde zum Wurzelverzeichnis. -N Servername --Servername=Servername --servername=Servername Legt den Servernamen fest. Internationale Domainnamen müssen in ASCII-kompatibler Schreibweise (ACE) angegeben werden. -p Portnummer --port=Portnummer --Port=Portnummer Legt die Portnummer fest. Dies ist der Port auf dem dieser Server lauscht. --Serverport=Portnummer --serverport=Portnummer Legt eine nominelle andere Portnummer fest. Falls der Server über ein Frontend gesteuert wird, kann man hiermit dessen Portnummer angeben. -l --localhost Hört nur auf die localhost-Adresse für IPv4. Das ist 127.0.0.1. Damit sollte der Server nur von dem selben Rechner aus erreichbar sein. -a IP-Adresse --address=IP-Adresse --Adresse=IP-Adresse Bindet den Server an die angegebene IP-Adresse. Dieses kann man nutzen, um die Erreichbarkeit auf ein lokales Netzwerk zu begrenzen. Das ist sicherer, als der eingebaute Filter. -4 --IPv4 IPv4 verwenden. -6 --IPv6 IPv6 verwenden. (Vorgabe) Der Server behält sich jedoch das Anrecht vor, die Verbindung nach Gutdünken zu einem gemeinen IPv4 zu degradieren. Ob im IPv6-Modus auch IPv4-Verbindungen unterstützt werden, hängt vom Betriebssystem und eventuell dessen Einstellungen ab. -u Nutzerkennung --Nutzer=Nutzerkennung Wenn der Server mit root-Rechten gestartet wird (reale Nutzerkennung), kann man über diese Option eine andere Nutzerkennung angeben, mit deren Rechten er letztendlich laufen soll. Die Nutzerkennung kann ein Name, oder eine nummerische Angabe sein. -D --daemon Startet den Server als Daemon im Hintergrund. --open --offen --Internet öffnet den Server für das gasamte Internet Vorsicht! Das schaltet den Filter für private Netzwerke ab. Der Server ist dann auch über das Internet erreichbar. Man muss dafür eventuell auch den Port an seinem Router freigeben. -i --inetd Nimmt Anfragen auf der Standardeingabe entgegen und gibt Antworten auf der Standardausgabe aus. Wenn die Standardeingabe ein Socket ist, können daraus die Verbindungsdaten ausgelesen werden. UMGEBUNGSVARIABLEN HOSTNAME, HOST Falls diese Variable gesetzt ist, wird das als Servername genommen. LC_ALL, LC_MESSAGES, LANG diese Variablen beeinflussen die Sprachauswahl für den Bildschirm. NOTIZEN Dateien Dateien, die keinen Punkt im Namen haben (und nicht ausführbar sind) werden als Textdateien erkannt. Man kann auch die Dateierweiterungen .text oder .txt verwenden. Diese Dateiendungen werden nicht angezeigt und Unterstriche werden in Leerzeichen umgewandelt. Dateien in der Markdown-Formatierung mit der Erweiterung .md oder .markdown werden ebenfalls als Textdateien anerkannt. Für Gopher müssen Textdateien weniger als 80 Zeichen pro Zeile haben. Dafür ist der Befehl fmt(1) nützlich. Es werden viele weitere Dateierweiterungen für verschiedene Dateiformate erkannt. Dateien, deren Name mit einem Punkt beginnt, sind versteckt, können aber abgerufen werden. Das selbe gilt für Verzeichnisse. Verzeichnisse Für Verzeichnisse kann man einen anderen Anzeigenamen angeben, indem man eine Datei namens gophertag anlegt. So kann man den Pfad kurz halten und dennoch eine vernünftige Anzeige bekommen. Zum Beispiel, gehe in ein Verzeichnis namens rel/ und gib da folgendes ein: $ echo 'Religiöse Schriften' > gophertag Normalerweise wird das Menü automatisch durch Dateiauflistung erstellt. Menüs Man kann auch eigene Menüs erstellen. Das sieht nicht nur besser aus, sondern ist für etliche Möglichkeiten von Gopher unumgänglich. Um eigene Menüs zu erstellen muss in einem Verzeichnis eine Datei namens gophermap erstellt werden. Grundsätzlich stellt jede Zeile einen Menü-Eintrag dar. Jedoch sind Zeilen, die mit einer Raute (#) beginnen, Kommentare und werden ignoriert. Zeilen, die kein -Zeichen enthalten werden zu Informationszeilen ('i'). Dies gilt auch für Leerzeilen. Informationszeilen sollten keine wichtigen Inhalte transportieren, da diese vom Client ignoriert werden dürfen. Inhalte sollten in Textdateien stehen. Das Format einer gophermap-Zeile ist wie folgt: xNameSelektorHostPort x ist der Gopher-Typ (siehe Abschnitt Gopher-Typen). Name ist eine Beschreibung des Eintrags Selektor ist der Pfad zum Inhalt Host ist der Hostname Port ist die Port-Nummer Wenn man den Host und den Port nicht angibt, wird dafür der eigene Server eingetragen. In diesem Fall reicht es auch, als Selektor nur den Dateinamen anzugeben. Dann wird der Pfad eventuell ergänzt. Zwei Punkte als Selektor ("..") führen zum Elternverzeichnis. Wenn im Selektor aber ein Schrägstrich steht, wird er unverändert übertragen. Für das Hauptverzeichnis kann man einfach nur einen Schrägstrich eintragen. Wohlgemerkt, wenn der Host und Port angegeben sind, wird der Selektor immer unverändert übertragen. Zum Abschluss der Datei sollte eine Zeile stehen, die nur einen Punkt ('.') enthält. Damit ist das Menü abgeschlossen. Wenn stattdessen am Ende eine Zeile steht, die nur ein Sternchen ('*') enthält, wird am Ende noch eine automatische Dateiauflistung drangehängt. Wenn man allgemein eine automatische Dateiauflistung bevorzugt, und nur einzelne andere Einträge hinzufügen will, kann man Dateien mit der Dateiendung .gophermap einfügen, die nur eine, oder ein paar Menüzeilen umfassen. Der Name solcher Dateien wird zwar nie angezeigt, hat jedoch Einfluss auf die Sortierung. Ob, und mit welchen Abschlusszeichen solche Dateien abgeschlossen werden, ist irrelevant. Gopher-Typen Aus der originalen Spezifikation: 0 Text-Datei 1 Verzeichnis 2 CCSO-Telefonbuch-Server 3 Fehler 4 BinHex Macintosh-Datei 5 Binäres Archiv 6 uuencode Datei 7 Index-Suche 8 Telnet-Sitzung 9 Binäre Datei + Redundanter Server T TN3270-Sitzung g GIF Grafikdatei I sonstige Grafikdatei Erweiterungen i Informationale Nachricht d Dokumentation h HTML-Datei X XML-Datei s Audiodatei (Sound) ; Filmdatei c Kalenderdatei M MIME-Datei Andere Erweiterungen können benutzt werden, und werden benutzt... BEISPIEL Beispiel für eine gophermap-Datei. Anstelle von "" ist natürlich ein TAB-Zeichen zu verwenden. # Erstmal eine Begrüßung Willkommen auf Beispielserver # Link auf Datei info im Hauptverzeichnis 0Information/info # Unterverzeichnis 1Bücher und Textebuch # Externer Server 1Floodgap/gopher.floodgap.com70 # Telnet Sitzung 8Telehacknonetelehack.com23 # Link zu anderen Protokollen mit "URL:" einleiten hWebseiteURL:https://akfoerster.de/ . AUTOREN Copyright © 2025 Andreas K. Förster LIZENZ Dieses Programm ist freie Software. Sie können es unter den Bedingun‐ gen der GNU General Public License, wie von der Free Software Founda‐ tion veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren Version. Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird, aber ohne irgendeine Garantie, sogar ohne die implizite Garantie der Marktreife oder der Verwendbarkeit für einen bestimmten Zweck. Details finden Sie in der GNU General Public Li‐ cense. Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, siehe . SIEHE AUCH akfgb(1), akfgopher-dl(1) RFC 1436 gopher://akfoerster.de:47520/1soft/akfnetz https://akfoerster.de/p/akfnetz/ akfnetz 2025-10-21 akfgopherserver(1) .