Freifunk-Tools basierend auf Mono und C-Sharp

Aus Freifunk Halle
Wechseln zu: Navigation, Suche

Übersicht

Die Tools gliedern sich in lokale und Web-Anwendungen.

Lokale Anwendungen

NodeInformationCollector

Kurz NIC. Die Anwendung sammelt mit Hilfe einer OLSR-TxtInfo die Daten aus BotInfos derjenigen Knoten, die in der TxtInfo angegeben sind. Sie ist auch diejenige Anwendung, die die dafür benötigte Datenbank einrichtet. (Siehe Einrichtung) hierbei werden folgende Pfade der Reihe nach ausprobiert und der nächste versucht, wenn ein Fehler beim Abrufen eines Pfades auftrat:

  • /cgi-bin-botinfo.txt?cat=nvram,wlan,routes
  • /cgi-bin/botinfo-comp.txt?cat=nvram,wlan,routes
  • /cgi-bin/botinfo.txt?cat=nvram,wlan,routes

Die abgerufene Webseite kann die HTTP-Kompression GZip verwenden. Prinzipiell ist es möglich, dass die Webseite komprimiert antwortet, wenn sie Kompression unterstützt und der Client Kompression angefordert hat. Derzeit ist der Webserver unserer Firmware jedoch nicht in der Lage, diese Entscheidung zu treffen, weshalb die komprimierte und die Klartext-Version unter zwei verschiedenen Links abgerufen werden.

Web-Anwendungen

JSON.ashx

Diese Webseite stellt ein eine Anzahl von Daten als JavaScript Object Notation zur Verfügung, die von der FFHTopo für die Anzeige benötigt werden. Dabei werden Knoten ausgelassen, die nicht über GPS-Koordinaten verfügen. Es bedient sich dabei der Datenbank und OLSR-TxtInfo. Die Kodierung der Seite ist UTF-8. Zeichenketten werden in der Notation mit C-Escape-Sequenzen maskiert, welche transparent durch JavaScript aufgelöst werden.

WikiJSON.ashx

Diese Webseite ist eine Variante der JSON.ashx und stellt speziell die Daten bereit, die für die Zuletzt-gesehen-Übersicht im Wiki benötigt werden.

TopoData.ashx

Diese Webseite stellt einen Auszug aus einem OLSR-TxtInfo dar. Sie führt im Wesentlichen fünf Änderungen durch:

  • OLSR-TxtInfo neigt dazu, die Formate der Tabellen mit neuen Versionen zu ändern. Bis jetzt gibt es für dieselben Tabellen bereits drei verschiedenen Formate. Diese werden durch die Webseite auf ein einheitliches Format korrigiert, sodass sich benutzende Anwendungen nicht mehr mit verschiedenen Formaten auseinander setzen müssen.
  • Die LQ- und NLQ-Angaben einer Verbindung und der entsprechenden umgekehrten Verbindung können ursprünglich inkonsitent sein. Dies wird durch Bildung des arithmetischen Mittels über die Werte korrigiert.
  • Die ETX-Angabe kann ursprünglich irreführend sein. Es kann vorkommen, dass LQ und NLQ sich bei 0,8 befinden, aber als ETX-Wert unendlich angegeben wird. Dies wird korrigiert, indem der Wert neu berechnet wird.
  • In der HNA-Tabelle werden nur diejenigen Knoten aufgeführt, die ins Internet routen.
  • Alle anderen Tabellen als Topology und HNA werden entfernt.

Die Kodierung der Webseite ist US-ASCII.

NodeData.ashx

Diese Webseite stellt eine CSV einer Anzahl von Daten über Knoten bereit. Es bedient sich dabei im Wesentlichen der Datenbank und OLSR-TxtInfo lediglich, um zu bestimmen, ob ein Knoten Internet-HNA ist. Die erste Zeile enthält die Namen der Attribute. Jedes Attribut außer ipv4 kann leer sein. Die Angabe der mtime bezieht sich auf alle anderen Angaben, außer auf die Angabe der HNA-Spalte, wenn sie 0.0.0.0 enthält. Als Trennzeichen der Ausgabe wird der Tabulator verwendet. Sämtliche Angaben werden mittels C-Escape-Sequenzen maskiert. Die Kodierung ist UTF-8.

Topology.ashx

Diese Webseite erstellt eine graphische Datei, die die Topologie des Netzes widerspiegelt. Sie bedient sich im Wesentlichen OLSR-TxtInfo und wahlweise auch der Datenbank, um die letzte Sichtung und den Standort zu ermitteln. Dabei verwendet sie den Graphviz-Filter Neato. Es können unterschiedliche Parameter der Webseite in der URL angegeben werden, die beeinflussen, welche Knoten dargestellt werden und wie sie dargestellt werden, unter anderem kann festgelegt werden, welches das Ausgabeformat ist. Bei einer textartigen Ausgabe ist die Kodierung UTF-8. Die Parameter können auf dem Server dabei in der Kultur interpretiert werden, die der Nutzer im Browser eingestellt hat. (Siehe Topologie-Parameter und Konfiguration)

Einrichtung

Voraussetzung für den Betrieb ist ein funktionstüchtiges Mono 2.4 oder .Net 2.0, ein ASP-kompatibler Web-Server und ein entsprechender Anwendungsserver für Mono/.Net. Mono 2.0 ist aufgrund zahlreicher Bugs nicht geeignet. Unter anderem können in dieser Version Timeouts für Streams, die von Net.WebResponse.GetResponseStream() zurückgegeben werden, nicht nachträglich festgelegt werden. Darüber hinaus weist die WAPI einen Bug auf, durch den sich bei parallelen Netzwerkanfragen die Net.WebRequest.GetResponse()-Methode aufhängt.

Platzieren Sie die Anwendungen an geeigneten Positionen im Dateisystem. Sorgen Sie dafür, dass sie den .Net Data Provider for Postgresql (Npgsql) in der Version 2 finden. Entweder installieren Sie ihn im globalen Assembly-Cache oder kopieren Npgsql.dll in das lokale Anwendungsverzeichnis bzw. den Bin-Ordner der Web-Anwendung. Dieser Datenanbieter benötigt eine Mono-Assembly, Mono.Security.dll, bei der Sie bei Verwendung von .Net ebenso vorgehen wie mit dem Npgsql. Passen Sie die Anwendungskonfigurations-Dateien entsprechend Ihren Befürfnissen an. Starten Sie NIC.exe mit dem Parameter Setup, um die Datenbank einzurichten.

Konfiguration

Die Konfiguration der Anwendung geschieht über sog. Anwendungskonfigurations-Dateien. Dabei handelt es sich um XML-Dateien mit speziellem Schema, deren Dateierweiterung config lautet. Sie heißt bei lokalen Anwendungen so wie die Anwendung selbst und bei Webanwendungen Web.config. Die Nutzereinstellungen werden durch den Abschnitt appSettings bestimmt. Durch ein add-Element mit einem name- und einem value-Attribut wird der Wert einer Einstellung mit dem angegebenen Namen festgelegt. In Web-Anwendungen vererben Ordner ihre Einstellungen an ihre Unterordner. Für das Entfernen von bestimmten Einstellungen auf einer Ordner-Ebene, die aus der übergeordneten übernommen wurden, wird das remove-Element mit passendem name-Attribut verwendet. Um alle Einstellungen zu entfernen, wird das clear-Element verwendet.

OLSR-TxtInfo

TxtInfoURI

Anwendungen: NIC, Topology, JSON, TopoData, NodeData

Format: URI im HTTP-, FTP- oder FILE-Schema

Beschreibung: Gibt den URI des OLSR-TxtInfo an.

Fehlerverhalten: Programmabbruch

TxtInfoEncodingMode

Anwendungen: NIC, Topology, JSON, TopoData, NodeData

Format: Liste aus Schlüsselwörtern: Auto, ContentType, Charset, Fixed

Beschreibung: Gibt an, auf welche Weise die Kodierung der heruntergeladenen OLSR-TxtInfo bestimmt wird. Ist eine Methode nicht erfolgreich wird die nächste verwendet. Ist keine Methode erfolgreich, wird die ASCII-Kodierung verwendet.

  • Auto bestimmt die Kodierung anhand der Bytereihenfolgemarkierung der Daten. Erkannt werden UTF-8, Little-Endian- und Big-Endian-UTF-16.
  • ContentType bestimmt die Kodierung anhand des ContentType-Felds der HTTP-Anforderung, sofern vorhanden.
  • Charset bestimmt die Kodierung anhand des Charset-Felds der HTTP-Anforderung, sofern vorhanden.
  • Fixed verwendet die in TxtInfoFixedEncoding angegebene Kodierung.

Fehlerverhalten: Unbekannte Schlüsselwörter werden ignoriert.

TxtInfoFixedEncoding

Anwendungen: NIC, Topology, JSON, TopoData, NodeData

Format: Codeseitenname

Beschreibung: Bestimmt die feste Kodierung, die von der TxtInfoEncodingMode-Einstellung für die heruntergeladene OLSR-TxtInfo verwendet wird.

Fehlerverhalten: Die feste Kodierung wird ignoriert und der nächste Modus wird verwendet.

TxtInfoTimeout

Anwendungen: NIC, Topology, JSON, TopoData, NodeData

Format: Ganzzahl zwischen -1 und 2147483647 inklusive

Beschreibung: Gibt den Timeout-Zeitspanne für die Übertragung der OLSR-TxtInfo in Millisekunden an. -1 bedeutet, dass das Programm beliebig lange wartet.

Fehlerverhalten: Programmabbruch

BotInfo

BotInfoEncodingMode

Anwendungen: NIC

Format: Liste aus Schlüsselwörtern: Auto, ContentType, Charset, Fixed

Beschreibung: Gibt an, auf welche Weise die Kodierung einer heruntergeladenen BotInfo bestimmt wird. Ist eine Methode nicht erfolgreich wird die nächste verwendet. Ist keine Methode erfolgreich, wird die ASCII-Kodierung verwendet.

  • Auto bestimmt die Kodierung anhand der Bytereihenfolgemarkierung der Daten. Erkannt werden UTF-8, Little-Endian- und Big-Endian-UTF-16.
  • ContentType bestimmt die Kodierung anhand des ContentType-Felds der HTTP-Anforderung, sofern vorhanden.
  • Charset bestimmt die Kodierung anhand des Charset-Felds der HTTP-Anforderung, sofern vorhanden.
  • Fixed verwendet die in BotInfoFixedEncoding angegebene Kodierung.

Fehlerverhalten: Unbekannte Schlüsselwörter werden ignoriert.

BotInfoFixedEncoding

Anwendungen: NIC

Format: Codeseitenname

Beschreibung: Bestimmt die feste Kodierung, die von der BotInfoEncodingMode-Einstellung für eine heruntergeladene BotInfo verwendet wird.

Fehlerverhalten: Die feste Kodierung wird ignoriert und der nächste Modus wird verwendet.

BotInfoTimeout

Anwendungen: NIC

Format: Ganzzahl zwischen -1 und 2147483647 inklusive

Beschreibung: Gibt den Timeout-Zeitspanne für die Übertragung einer BotInfo in Millisekunden an. -1 bedeutet, dass das Programm beliebig lange wartet.

Fehlerverhalten: Programmabbruch

BotInfoCollectorThreads

Anwendungen: NIC

Format: Ganzzahl zwischen -2147483648 und 2147483647 inklusive

Beschreibung: Gibt die Anzahl der Threads an, in denen die BotInfos der Knoten parallel heruntergeladen werden. Jeder Wert kleiner als 1 entspricht 1.

Fehlerverhalten: Programmabbruch

Datenbank

DBTablePrefix

Anwendungen: NIC, Topology, JSON, WikiJSON, NodeData

Format: Text

Beschreibung: Gibt den Text an, der vor jeden Objektnamen, u. a. Tabellen und Sequenzen, der Datenbank gesetzt wird.

Fehlerverhalten: Programmabbruch

DBSchema

Anwendungen: NIC, Topology, JSON, WikiJSON, NodeData

Format: Text

Beschreibung: Gibt den Namen des Schemas an, in dem die Objekte der Datenbank zu finden sind. Wird der Text leer gelassen, wird das public-Schema verwendet.

Fehlerverhalten: Programmabbruch

DBConnectionString

Anwendungen: NIC, Topology, JSON, WikiJSON, NodeData

Format: Verbindungszeichenfolge

Beschreibung: Gibt die Verbindungszeichenfolge zum Verbinden mit der Datenbank an.

Fehlerverhalten: Programmabbruch

DBTransactionRetries

Anwendungen: NIC, Topology, JSON, WikiJSON, NodeData

Format: Ganzzahl zwischen -2147483648 und 2147483647 inklusive

Beschreibung: Gibt die Anzahl der Wiederholungen an, mit denen versucht wird, eine fehlgeschlagene Datenbanktransaktion zu wiederholen. Jeder Wert kleiner als 0 entspricht 0.

Fehlerverhalten: Programmabbruch

Seiteninformationen zur Topologie

TopoGenerousNodeCountEstimation

Anwendungen: NIC, Topology, JSON, WikiJSON, TopoData, NodeData

Format: Ganzzahl zwischen 0 und 16777216 inklusive

Beschreibung: Gibt eine großzügige Schätzung der Anzahl der erwarteten Knoten an. Dieser Wert wird für Speicheralloziierungen verwendet. Außerdem bestimmt Topology damit die Maximalgröße, wenn die Ausgabegröße nicht angegeben ist und das Ausgabeformat png ist, um zu verhindern, dass eine generierte Webseite unerwartet groß ist.

Fehlerverhalten: Programmabbruch

TopoVPNConcentrators

Anwendungen: JSON

Format: Liste von verkürzten IPv4-Adressen

Beschreibung: Gibt die IP-Adressen der VPN-Konzentratoren an. Hierdurch werden Verbindungen zwischen Knoten und den angegebenen Adressen gesondert behandelt.

Fehlerverhalten: Programm fährt mit den ungültigen IPv4-Adressen fort.

Konfiguration für Benutzeroberflächen

GuiDefaultMaxEtx

Anwendungen: Topology

Format: Gleitkommazahl

Beschreibung: Gibt den Standardwert für den Topologie-Parameter maxetx an.

Fehlerverhalten: Programmabbruch

GuiDefaultFormat

Anwendungen: Topology

Format: ein Schlüsselwort: png, svg, pdf, dot oder input

Beschreibung: Gibt den Standardwert für den Topologie-Parameter format an.

Fehlerverhalten: Programmabbruch

GuiDefaultLastSeenGradient

Anwendungen: Topology

Format: positive Gleitkommazahl

Beschreibung: Gibt den Standardwert für den Topologie-Parameter gesehen an.

Fehlerverhalten: Programmabbruch

GuiDefaultIpFilter

Anwendungen: Topology

Format: Liste von IPv4-Anfangsteilen

Beschreibung: Gibt den Standardwert für den Topologie-Parameter zeigip an.

Fehlerverhalten: Programm fährt mit den ungültigen IPv4-Anfangsteilen fort.

GuiCultureRegionCompletion

Anwendungen: Topology

Format: Liste von Regions- und Ländernamen nach ISO 3166

Beschreibung: Gibt die Namen der Regionen an, mit denen versucht wird, eine vom Client im Accept-Language-Feld der HTTP-Anforderung übertragene Sprache zu einer Kultur zu ergänzen. (Siehe Topologie-Parameter)

Fehlerverhalten: Unbekannte Regions- und Ländernamen werden ignoriert.

GuiFallbackCulture

Anwendungen: Topology

Format: Kulturname nach RFC 1766

Beschreibung: Gibt den Namen der Kultur an, die verwendet wird, wenn keine Kultur aus den vom Client im Accept-Language-Feld der HTTP-Anforderung übertragenen Sprachen ermittelt werden konnte. (Siehe Topologie-Parameter)

Fehlerverhalten: Die invariante Kultur wird verwendet.

Sonstige Einstellungen

InfoGPSOrder

Anwendungen: NIC

Format: Ganzzahl zwischen -2147483648 und 2147483647 inklusive

Beschreibung: Gibt an, wie GPS-Koordinaten zu sortieren sind. Diese Einstellung kann fälschlicherweise vertauschte Breiten- und Längen-Angaben korrigieren.

  • Eine Zahl kleiner als 0 legt fest, dass die kleinere der beiden Angaben die Breitenangabe ist.
  • Eine Zahl gleich 0 legt fest, dass keine Überprüfung stattfindet.
  • Eine Zahl größer als 0 legt fest, dass die größere der beiden Angaben die Breitenangabe ist.

Fehlerverhalten: Programmabbruch

InfoExpirationPeriod

Anwendungen: NIC

Format: Zeitspanne

Beschreibung: Gibt die Zeitspanne an, nach der gesammelte Daten verfallen und aus der Datenbank entfernt werden.

Fehlerverhalten: Programmabbruch

InfoIPShortFormat

Anwendungen: Topology, JSON

Format: Liste von 0 bis 4 IPv4-Komponenten

Beschreibung: Gibt Zahlen an, die von links aus einer vollständigen IPv4-Adresse entfernt werden, um eine verkürzte Adresse zu erstellen. (Siehe Verkürzte IPv4-Adresse)

Fehlerverhalten: Das Programm fährt mit den ungültigen IPv4-Komponenten fort und ignoriert überflüssige.

InfoIPLongParse

Anwendungen: Topology, JSON

Format: Liste von 0 bis 4 IPv4-Komponenten

Beschreibung: Gibt Zahlen an, mit denen eine verküzte IPv4-Adresse links zu einer vollständigen Adresse aufgefüllt wird. (Siehe Verkürzte IPv4-Adresse)

Fehlerverhalten: Das Programm fährt mit den ungültigen IPv4-Komponenten fort und ignoriert überflüssige.

ToolGraphviz

Anwendungen: Topology

Format: Pfadangabe

Beschreibung: Gibt die Pfadangabe zu dem für die graphische Ausgabe gewünschten Graphviz-Filter an, überlicherweise Neato.

Fehlerverhalten: Programmabbruch

PerfPriorityClass

Anwendungen: NIC

Format: Schlüsselwort: Idle, BelowNormal, Normal, AboveNormal, High, RealTime oder leer

Beschreibung: Legt die Prozess-Prioritätsklasse innerhalb der Anwendung fest. Wird kein Schlüsselwort angegeben, wird die Prioritätsklasse nicht innerhalb der Anwendung festgelegt.

Fehlerverhalten: Programmabbruch

PerfProcessorAffinity

Anwendungen: NIC

Format: Ganzzahl zwischen 0 und 2x-1, wobei x für die Anzahl der virtuellen CPUs im System steht, oder leer.

Beschreibung: Legt die Prozess-Prozessoraffinität innerhalb der Anwendung durch eine Bitmaske fest. Hierbei entspricht das niederwertigste Bit CPU Nummer 1, das zweitniederwertigste Bit CPU Nummer 2 usw. Wird 0 angegeben, werden alle CPUs verwendet. Wird kein Wert angegeben, wird die Prozessoraffinität nicht innerhalb der Anwendung festgelegt. Diese Einstellung ist wirkungslos bis mindestens Mono 2.4 einschließlich.

Fehlerverhalten: Programmabbruch

Topologie-Parameter

Die Interpretation der übergebenen Werte ist abhängig von den im Browser eingestellten Kulturen, die im Accept-Language-Feld der HTTP-Anfrage übermittelt werden. Wenn solch eine Angabe nur aus einer Sprache besteht, wird sie versucht durch die in GuiCultureRegionCompletion angegebenen Regions- und Ländernamen zu ergänzen, um eine gültige Kultur zu erhalten. Wenn keine gültige Kultur ermittelt werden konnte oder das Programm auf ein Sternchen getroffen ist, wird die in GuiFallbackCulture angegebene Kultur verwendet.

Bei den Parametern handelt es sich um URL-Parameter, die regulär hinter einem Fragezeichen hinter die Pfadangabe der abgerufenen Webseite aufgelistet werden. Mehrere Parameter werden durch kaufmännische Unds getrennt. Die Form eines Parameters ist dabei Parametername=Wert. Die Daten müssen im Allgemeinen zu URL-gültigen Escape-Sequenzen maskiert werden, allerdings gibt es bislang keine Parameter, bei denen dies notwendig ist.

Eingabefilterung

maxetx

Format: Gleitkommazahl

Beschreibung: Gibt den maximalen ETX-Wert der auszugebenen Knotenverbindungen an.

Standard: GuiDefaultMaxEtx

Fehlerverhalten: Programmabbruch

zeigip

Format: Liste von IPv4-Anfangsteilen

Beschreibung: Gibt die Präfixe der IPv4-Adressen der auszugebenden Knoten an.

Standard: GuiDefaultIpFilter

Fehlerverhalten: Programm fährt mit den ungültigen IPv4-Anfangsteilen fort.

zeig

Format: Ganzzahl zwischen -2147483648 und 2147483647 inklusive

Beschreibung: Gibt an, ob unverbundene Knoten ausgegeben werden.

  • Eine Zahl kleiner als 1 legt fest, dass alle Knoten ausgegeben werden.
  • Eine Zahl gleich 1 legt fest, dass unverbundene Knoten nur ausgegeben werden, wenn sie HNA sind.
  • Eine Zahl größer als 1 legt fest, dass nur mit anderen Knoten verbundene Knoten ausgegeben werden.

Standard: 0

Fehlerverhalten: Programmabbruch

erreichbar

Format: Liste von verkürzten IPv4-Adressen

Beschreibung: Gibt die IPv4-Adressen derjenigen Knoten an, von denen mindestens einer von jedem auszugebenden Knoten erreicht werden muss.

Standard: Es wird keine Erreichbarkeitsfilterung durchgeführt.

Fehlerverhalten: Programm fährt mit den ungültigen IPv4-Adressen fort.

Darstellung

nachkomma

Format: Ganzzahl zwischen 0 und 99 inklusive

Beschreibung: Gibt die Anzahl der Nachkommastellen bei der Ausgabe der ETX-Werte an.

Standard: 1

Fehlerverhalten: Programmabbruch

hvip

Format: Liste von verkürzten IPv4-Adressen

Beschreibung: Gibt die IPv4-Adresen derjenigen Knoten an, die bei der Ausgabe farblich hervorgehoben werden.

Standard: Keine Knoten werden hervorgehoben.

Fehlerverhalten: Programm fährt mit den ungültigen IPv4-Adressen fort.

gesehen

Format: positive Gleitkommazahl

Beschreibung: Gibt die Anzahl der Tage an, nach denen durch Zumischen des halben Blauanteils zur Knotenfarbe die letzte Sichtung verdeutlicht wird.

Standard: GuiDefaultLastSeenGradient

Fehlerverhalten: Programmabbruch

groesse

Format: positive Gleitkommazahl kleiner gleich 10000

Beschreibung: Gibt die maximale Ausgabegröße in Zoll an. Bei Rastergrafiken entspricht ein Zoll 96 Pixeln. Wenn der Parameter ohne Wert angegeben wird, wird die Größe von Graphviz frei bestimmt und nicht der Standardwert wie unten angeben verwendet.

Standard: Wenn das Format png ist, √(20⋅TopoGenerousNodeCountEstimation), um zu verhindern, dass eine generierte Webseite unerwartet groß ist. Wenn das Format nicht png ist, wird die Größe von Graphviz frei bestimmt.

Fehlerverhalten: Programmabbruch

zoom

Format: Liste aus ein bis vier Gleitkommazahlen zwischen 0,01 und 100

Beschreibung: Gibt die Faktoren für das Skalieren von Graph-Elementen an. Der Reihe nach sind dies:

  • die Größe des Texts der Knoten (beeinflusst auch deren Minimalgröße),
  • die Dicke der Umrandung der Knoten,
  • die Größe des Texts der Verbindungen und
  • die Dicke der Linien der Verbindungen.

Werden weniger als vier Faktoren angegeben, wird für die Dicke der Linien der Verbindungen der Faktor für die Dicke der Umrandung der Knoten verwendet (der zweite Faktor). Werden weniger als drei Faktoren angegeben, wird für die Größe des Texts der Verbindungen der Faktor für die Größe des Texts der Knoten verwendet (der erste Faktor). Wird nur ein Faktor angegeben, wird er für alle Graph-Elemente verwendet.

Standard: Es wird kein Zoom durchgeführt.

Fehlerverhalten: Programmabbruch

ueberlapp

Format: Ganzzahl zwischen -2147483648 und 2147483647 inklusive

Beschreibung: Gibt an, in welcher Reihenfolge die Knoten und Verbindungen gezeichnet werden.

  • Eine Zahl kleiner als 0 legt fest, dass die Verbindungen auf den Knoten gezeichnet werden.
  • Eine Zahl gleich 0 legt fest, dass die Graph-Elemente in keiner besonderen Reihenfolge zu zeichnen sind.
  • Eine Zahl größer als 0 legt fest, dass die Knoten auf den Verbindungen gezeichnet werden.

Standard: 0

Fehlerverhalten: Programmabbruch

Sonstige Parameter

format

Format: ein Schlüsselwort: png, svg, pdf, dot oder input

Beschreibung: Gibt das Ausgabeformat an. Der Wert input kann verwendet werden, um als Ausgabe die Graphviz-Eingabe zu erhalten.

Standard: GuiDefaultFormat

Fehlerverhalten: Programmabbruch

db

Format: Ganzzahl zwischen -2147483648 und 2147483647 inklusive

Beschreibung: Gibt an, ob die Datenbank zum Ermitteln der Standorte der Knoten und ihrer letzten Sichtung abgefragt werden soll. Deaktivieren der Abfrage kann zur Übersichtlichkeit der Ausgabe beitragen.

  • Eine Zahl kleiner als 0 legt fest, dass die Datenbank nicht abgefragt wird.
  • Eine Zahl größer als -1 legt fest, dass die Datenbank abgefragt wird.

Standard: 0

Fehlerverhalten: Programmabbruch

Beispiele

Der parameterlose Aufruf verwendet die jeweiligen Standardwerte: http://www.freifunk-halle.net/Tools/Topology.ashx

Angabe einer Größe als Vorschaubild: http://www.freifunk-halle.net/Tools/Topology.ashx?groesse=6

Darstellen sämtlicher, auch besonders schlechter Links: http://www.freifunk-halle.net/Tools/Topology.ashx?maxetx=1e9

Der Übersichtlichkeit halber abgeschaltete Abfrage der FFHTopo-Datenbank: http://www.freifunk-halle.net/Tools/Topology.ashx?db=-1

Einige Knoten verhorgehoben: http://www.freifunk-halle.net/Tools/Topology.ashx?hvip=28.1%7C8.22&hvip=129

Um es sich schneller als PDF ausgeben zu lassen, weil der Download der PNG sehr groß ist: http://www.freifunk-halle.net/Tools/Topology.ashx?format=pdf

Sehr lange abwesende Nodes von weniger lang abwesenden besser unterscheiden: http://www.freifunk-halle.net/Tools/Topology.ashx?gesehen=5

Leipziger Nodes anzeigen: http://www.freifunk-halle.net/Tools/Topology.ashx?zeigip=104.61

Alle verbundenen Nodes im Freifunk anzeigen: http://www.freifunk-halle.net/Tools/Topology.ashx?zeigip=

Nur Knoten, die das VPN erreichen, anzeigen: http://www.freifunk-halle.net/Tools/Topology.ashx?erreichbar=129

Die Werte können kombiniert werden: http://www.freifunk-halle.net/Tools/Topology.ashx?hvip=28.1%7C8.22&hvip=129&groesse=6&maxetx=3&db=-1&zeig=1&format=svg

Formate der Konfiguration und Topologie-Parameter

Liste

In Einstellungsdateien, die die Konfigurationen der Programme darstellen, werden Elemente einer Liste durch Leerzeichen, Tabulatoren oder Zeilenumbrüche voneinander getrennt. In URL-Parametern werden Elemente einer Liste durch Kommata oder Pipe-Symbole (|) voneinander getrennt. Parameter, die das Komma selbst verwenden könnten (z. B. als Dezimaltrennzeichen), verwenden nur das Pipe-Symbol zum Trennen der Liste.

Zahl

Die Interpretation einer Zahl ist von der angenommenen Kultur abhängig, die u. a. die Symbole für Dezimaltrennzeichen und Zeichen für Zifferngruppierung festlegen. In Einstellungsdateien wird die invariante Kultur verwendet. Diese ist an das Englische angelehnt, sodass das Dezimaltrennzeichen der Punkt ist und das Zeichen zur Zifferngruppierung das Komma.

Die Kultur, die zur Interpretation von URL-Parametern verwendet wird, wird serverseitig aus dem Accept-Language-Feld der HTTP-Anforderung wie in Topologie-Parameter beschrieben bestimmt. Für Deutsch-Deutschland etwa ist das Dezimaltrennzeichen das Komma und das Zeichen zur Zifferngruppierung der Punkt.

Verkürzte IPv4-Adresse

IP-Adressen können zur kompakteren Darstellung oder zur leichteren Eingabe verkürzt werden. Dies wird erreicht, indem oft verwendete Präfixe entfernt werden, beispielweise 104.62 aus 104.62.1.1, sodass die verkürzte Darstellung .1.1 ist.

Bezugsquellen

  • Ein Archiv ohne Starke-Namen-Schlüssel (kann veraltet sein): [1]
  • Von tox per Jabber oder PN im Board: [2]