ff5cf755aa
Finetuning API Calls |
||
---|---|---|
.drone.jsonnet | ||
.gitignore | ||
.woodpecker.yml | ||
Dockerfile | ||
example.config.json | ||
example.devices.json | ||
example.devices.router.json | ||
example.ucDevices.json | ||
go.mod | ||
go.sum | ||
influx.go | ||
main.go | ||
meshviewer.go | ||
README.md | ||
staticDevices.go | ||
types.go | ||
unifi.go | ||
unms.go |
Freifunk Meshviewer Unifi Access Points und Richtfunkstrecken import
Dieses tool Importiert Nodes für die Freifunk Map aus den APIs UISP (Richtfunk) & Unifi (Access Points). Ebenfalls ist der Import statischer devices möglich. Da diese alle in unerem Proxmox cluster laufen, werden Statistikdaten aus der Proxmox InfluxDB geholt.
Alle Config dateien müssen per http erreichbar sein (z.B. in einem Git) Für Troisdorf werden diese Dateien hier gepflegt: https://git.freifunk-rhein-sieg.net/Freifunk-Troisdorf/ubnt-api-devices Für die Rhein-Sieg-Map hier: https://git.freifunk-rhein-sieg.net/Freifunk-Rhein-Sieg/ubnt-api-devices
Config
Unifi Access Points (unifi_devices.json)
In der Datei unifi_devices.json können die Access Points gepflegt werden, die auf der Freifunk Map erscheinen sollen.
Hierzu muss die Datei im json Format erweitert werden.
Für jedes Gerät muss dieser Block angelegt werden:
{
"name": "ROUTERNAME",
"mac": "00:00:00:00:00",
"gateway_nexthop": "1234567890",
"gateway": "1234567890",
"linked_to": "18:e8:29:24:17:0a",
"domain": "unifi",
"location": {
"longitude":7.148406208,
"latitude":50.817093402
},
Erklärung:
- name: Dient nur zur Wiedererkennung. Auf der Map erscheint der Name aus dem Unifi Controller
- mac: Die MAC Adresse des Access Points. Zu finden im Controller. (Statistik Übersicht in der Geräteansicht)
- gateway_nexthop: Die Node ID (MAC ohne :) des Freifunk Routers an den der AP angeschlossen ist.
- gateway: Im Normalfall die NodeID des Supernodes (zu finden in der MAP)
- linked_to: (Optional) Die MAC Adresse des Routers an dem der AP angeschlossen ist. Normalerweise gateway_nexthop mit Doppelpunkten. Wenn nicht gesetzt wird kein Link auf der Map angezeigt.
- domain: Die Domain in der sich der AP befindet. (tdf, inn, flu)
UISP Richtfunkstrecken
In der Datei rifu_devices.json können die Richtfunkstrecken gepflegt werden, die auf der Freifunk Map erscheinen sollen.
{
"name": "Rathaus2Bahnhof",
"mac": "18:E8:29:8E:C6:4D",
"gateway_nexthop": "18e8292f7de6",
"gateway": "a28cae6ff604",
"domain": "rifu",
"location": {
"longitude":7.148406208,
"latitude":50.817093402
}
}
Erklärung:
- name: Dient nur zur Wiedererkennung. Auf der Map erscheint der Name aus dem UNMS Controller
- mac: Die MAC Adresse des Gerätes. Zu finden im Controller.
- gateway_nexthop: Die Node ID (MAC ohne :) des Freifunk Routers an dem das Gerät angeschlossen ist.
- gateway: Im Normalfall die NodeID des Supernodes (zu finden in der MAP)
- domain: Die Domain in der sich der AP befindet. (tdf, inn, flu)
UISP Router
In dieser datei werden die Router (meist ER-X) gepflegt. Diese Daten werden dann ebenfalls aus der UISP API Importiert.
{
"name": "Rathaus Uplink",
"mac": "18:e8:29:ad:9a:34",
"gateway_nexthop": "18e8292f7de6",
"gateway": "a28cae6ff604",
"domain": "tdf",
"location": {
"longitude":7.149406208,
"latitude":50.817093402
}
},
Gateways.json
Hier werden Statische Geräte eingetragen die auf dem Proxmox Cluster laufen.
{
"name": "VPN01",
"fqdn": "vpn01.fftdf.de",
"mac": "00:00:00:00:00:01",
"domain": "VPN1",
"adresses": ["5.9.220.114"]
},
Config.json
Es gibt 3 Module die Ein/Ausgeschatet werden können:
- UNMS
- Unifi
- Meshviewer
- Gateways
Die Funktion Meshviewer importiert die vorhandenen meshviewer.json und manipuliert dort die Userzahlen. Sobald ein Access Point einen Node aus einer Meshviwer.json als "gateway_nexthop" eingetragen hat, werden die Clients an dem verbundenen Access Point und nicht mehr am Offloader angezeigt.