Fragen zu Hopglass-server

Ich hab da ein paar dumme Fragen zum Hopglass-Server

Kann ich bestimmte Felder aus den json Listen ausblenden? Insbesondere mal den Owner/Contact?

In der Readme steht was von „Metrics values“, wie kann ich diese nutzen? Gibt es ein Beispiel? Oder ist damit nur gemeint, dass die in den json Files vorhanden sind?
Allerdings würden mich die total Werte schon interessieren.

Kann ich bestimmte json Dateien garnicht anbieten?

Danke für Hilfe und Tips.

Nein. Zumindest bis jetzt nicht.

Unter der Adresse /metrics werden Zahlen fürs hier und jetzt im Metrics-Format ausgegeben. Diese Zahlen können von Prometheus über die Zeit aufgezeichnet werden. Ein drittes Programm wie Grafana kann diese dann visualisieren.

Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud.

Kurz gesagt die Metrics sind zum Aufzeichnen für Statistiken da.

In der aktuellen Version kannst du das Modul entfernen, das die json anbietet. Wenn du das Installer-Script benutzt hast kannst du einfach /opt/hopglass/server/modules/provider/???.js verschieben / löschen.

Den solltest du dann aber besser schon früher filtern, ansonsten ist er auf der Statusseite der Router sichtbar:

Nö wieso? Vielleicht ist es in seiner Community gewollt sich PPA konform zu verhalten, im Gegensatz zu Aachen, und die Owner/Contact Info soll auf der Statuspage sichtbar sein.

2 Likes

Ich vermute auch dir ist klar, dass das lediglich die von dir favorisierte Interpretationsmöglichkeit ist und du möchtest lediglich provozieren?

3 Likes

Auf der Statusseite findei ch das ok, ist im Freifunk intern. Aber im Internet will ich die nicht unbedingt publizieren.

Danke für alle Antworten.
Kann ich denn den hopglass-server nur auf eine ip lauschen lassen?
Ich nehme mal an mit der config.json. Allerdings sind mein .example anderes aus wie auf Git.
Gibts ne neue Version in der die stark angepasst wurde?

Nunja, bei Communities die globale IPv6 Adressen haben gibt es da leider keinen Unterschied.
Die Statusseite kann weltweit per IPv6 aufgerufen werden.
Zudem findet sich in aller Regel ein Link zur Statusseite auf der Karte der Community.

Haben wir noch nicht, aber stimmt, das wird ein Problem…

So, ich kann --webip 127.0.0.1 angeben, dann ist er nur noch lokal verfügbar. Leider konnte ich nur 1 IP angeben und nicht 2.
Ideen, Tips?

Es geht tatsächlich nur eine IP. Aber ja du hast eine alte Version. Deswegen sieht deine config.json.example so anders aus.

Du kannst den hopglass-server auf ::1 bzw. 127.0.0.1 lauschen lassen und dann einen nginx als Reverse Proxy davor setzen, der dann auf mehreren IP-Adressen lauschen kann und alles an ::1 durchreicht. Dann hast du auch mehr Kontrolle über Content-Type, Verschlüsselung und verfügbare Dateipfade.

Je nach Paranoialevel kann man auch GET und POST Daten rausfiltern. Dann wäre der Abruf von Daten rein stateless, was theoretisch die Sicherheit erhöht.

Unsere Config:

# proxy-pass to hopglass-server running locally.
# provides the possibility to provide modified/censored files.
# doubles as Open Data portal.
server {
	server_name data.aachen.freifunk.net
		data_server;
	listen 80;
	listen [::]:80;

	root /srv/www/data;

	access_log	/var/log/nginx/data.access.log;
	access_log	/var/log/nginx/data.full.log full;
	error_log	/var/log/nginx/data.error.log;

	charset utf-8;
	charset_types text/html text/xml text/plain text/vnd.wap.wml
		application/javascript application/rss+xml application/json text/json;
	gzip on;
	gzip_types application/json text/json;
	
	# DO NOT expose /nodes.json or /raw.json here.
	# Both contain sensitive data (e-mail addresses of users)
	# /nodes.json gets filtered and is placed in the server root
	#	as a static file
	# /raw.json stays private altogether
	location ~* (/nodelist\.json|/graph\.json|/hosts|/metrics|/wifi-aliases\.txt) {
		proxy_pass http://[::1]:4000;
	}
	
	location /WifiAnalyzer_Alias.txt {
		proxy_pass http://[::1]:4000/wifi-aliases.txt;
	}
	
	location = /favicon.ico {
		return 204;
	}

	location / {
		add_header 'Access-Control-Allow-Origin' '*';
	}
}

Außer in Celle :wink: Dort ist der Default Unerreichbarkeit via ICVPN & Uplinks per Filter af den GWs.