Überblick
i-Tracker misst regelmäßig, wie schnell Ihre Internetverbindung wirklich ist, und hebt die Ergebnisse auf. So sehen Sie nicht nur einen einzelnen Wert, sondern ob die Leistung zu bestimmten Tageszeiten einbricht oder zu einem bestimmten Ziel schlechter ist.
Anders als ein Speedtest im Browser misst i-Tracker gegen Messserver Ihrer Wahl, zum Beispiel bei Ihrem Rechenzentrum, in einer Außenstelle oder bei einem öffentlichen Anbieter. Dafür nutzt es das bewährte Messprogramm iperf3. Zusätzlich zeigt es auf einer Karte, über welche Stationen Ihre Daten zum Ziel laufen.
i-Tracker läuft auf einem Ihrer eigenen Rechner und wird im Browser bedient. Es ist kostenlos und quelloffen.

Voraussetzungen
- Ein Rechner mit Windows, der dauerhaft läuft, zum Beispiel ein kleiner Server oder eine VM. Mit Docker geht auch Linux, siehe Installation.
- iperf3 ab Version 3.17. i-Tracker bringt es nicht selbst mit, kann es aber auf Knopfdruck installieren (siehe Einrichtung).
- Mindestens ein Messserver, auf dem iperf3 als Server läuft (
iperf3 -s). Das kann ein eigener Rechner sein, oder Sie wählen einen öffentlichen Server aus der Liste in i-Tracker. - Netzwerkverbindungen:
- vom i-Tracker-Rechner zum Messserver auf dessen iperf3-Port (meist 5201)
- für die Wegverfolgung: Traceroute-Pakete ins Internet (in Firmennetzen manchmal gesperrt)
- für die Karte: einmal am Tag eine Verbindung zu db-ip.com, um die Standortdaten zu aktualisieren
- von Ihrem Arbeitsplatz zur Oberfläche auf Port 8000
Installation
Legen Sie die Programmdatei in einen eigenen Ordner, zum Beispiel C:\Program Files\i-Tracker. Einstellungen und Messdaten legt i-Tracker in diesem Ordner an.
Starten Sie i-Tracker beim ersten Mal von Hand. Dabei entstehen die Einstellungsdatei und das Startpasswort.
Windows
cd "C:\Program Files\i-Tracker"
.\i-tracker.exeDanach öffnen Sie die Oberfläche im Browser unter http://localhost:8000, von anderen Rechnern unter http://<rechnername>:8000. Geben Sie dafür Port 8000 in der Firewall frei.
Als Dienst einrichten
Damit i-Tracker dauerhaft misst, auch nach einem Neustart, richten Sie es als Windows-Dienst ein. Dafür brauchen Sie Administratorrechte.
Windows
.\i-tracker.exe service install
.\i-tracker.exe service startMit Docker
Für Linux gibt es eine Docker-Vorlage im Quellcode (Dockerfile, docker-compose.yml). Das Abbild enthält iperf3 und Traceroute bereits. Alle Daten liegen im Volume /data. Diese Variante ist noch neu und weniger erprobt als die Installation unter Windows.
Docker
docker compose up -dEinrichtung
Anmelden: Beim ersten Start legt i-Tracker den Benutzer admin mit einem zufälligen Startpasswort an. Es steht einmalig im Konsolenfenster. Läuft i-Tracker schon als Dienst, finden Sie es in der Datei initial-admin-password.txt im Programmordner. Nach der ersten Anmeldung vergeben Sie ein eigenes Passwort (mindestens 10 Zeichen). Löschen Sie die Datei danach.
iperf3 installieren: Fehlt iperf3, zeigt der Statuspunkt oben rechts einen Hinweis. Als Administrator können Sie es dort mit einem Klick installieren lassen. Unter Windows geschieht das über winget. Danach kann ein Neustart des Dienstes nötig sein.
Ersten Messserver anlegen: Unter Server legen Sie fest, wogegen gemessen wird, siehe Messserver.
Messserver
Ein Messserver ist ein Rechner, auf dem iperf3 als Gegenstelle läuft. Unter Server legen Sie je Ziel ein Profil an:
- Name und Adresse (Name oder IP-Adresse) und der Port, meist 5201
- Testvorgaben: Protokoll, Richtung, Dauer und Zahl der parallelen Verbindungen für die regelmäßigen Messungen
- Regelmäßig testen: alle wie viele Minuten automatisch gemessen wird (Vorgabe: 30)
- Auto-Trace: nach jeder Messung zusätzlich den Weg zum Ziel aufzeichnen
- Server aktiv: schaltet das Profil vorübergehend ab, ohne es zu löschen
Statt eine Adresse selbst einzugeben, können Sie einen öffentlichen Server aus der eingebauten Liste übernehmen. Öffentliche Server sind oft stark belastet. Messen Sie dort nicht zu häufig und mit wenigen parallelen Verbindungen.

Es läuft immer nur eine Messung gleichzeitig, damit sich die Messungen nicht gegenseitig verfälschen. Weitere warten, bis sie an der Reihe sind. Bei vielen Servern mit kurzen Abständen kann es deshalb zu Verzögerungen kommen.
Messungen
Unter Tests starten Sie eine Messung von Hand und sehen alle bisherigen Ergebnisse.
- Protokoll: TCP misst den Durchsatz, wie ihn Dateiübertragungen erleben. UDP misst zusätzlich Schwankungen (Jitter) und verlorene Pakete, wichtig für Telefonie und Video.
- Richtung: Download (vom Server zu Ihnen), Upload (von Ihnen zum Server) oder beides gleichzeitig.
- Dauer: 1 bis 300 Sekunden. 10 bis 30 Sekunden sind meist genug.
- Parallele Verbindungen: Mehrere Verbindungen gleichzeitig lasten schnelle Leitungen besser aus.
- UDP-Bandbreite: wie viel bei UDP gesendet wird. Ohne Angabe nur 1 Mbit/s.
Während der Messung sehen Sie die Werte live. Ein Klick auf eine Messung zeigt alle Details.

Dashboard
Das Dashboard fasst alles zusammen: wie viele Server und Messungen es gibt, die Durchschnittswerte für Download und Upload und den Verlauf je Server über eine Stunde, einen Tag, eine Woche oder einen Monat.
Mit Min. Download und Min. Upload legen Sie fest, ab wann eine Messung als zu langsam zählt. Diese Schwellwerte gelten nur in Ihrem Browser und lösen keine Benachrichtigung aus.
Wegverfolgung und Karte
Unter Peering-Map sehen Sie, über welche Stationen Ihre Daten zu einem Messserver laufen und wo diese Stationen ungefähr stehen. So erkennen Sie zum Beispiel Umwege über ein anderes Land, die eine Verbindung langsam machen.
- Wählen Sie einen Server und klicken Sie auf Traceroute starten. Die Stationen erscheinen nacheinander.
- Die Tabelle zeigt je Station Adresse, Name, Antwortzeit und Standort.
- Standorte, die sich nicht bestimmen lassen, schätzt i-Tracker aus den Nachbarstationen. Sie sind als „geschätzt“ markiert.
- Gespeicherte Wege können Sie später wieder aufrufen.

Die Wegverfolgung funktioniert mit IPv4-Adressen. Manche Router im Internet antworten nicht; dann fehlen einzelne Stationen. Das ist normal.
Standortdaten
Für die Karte braucht i-Tracker eine Datenbank, die IP-Adressen einem Ort zuordnet. Es lädt dafür von selbst die kostenlose Datenbank von DB-IP herunter und hält sie einmal am Tag aktuell.
Haben Sie ein Konto bei MaxMind, können Sie stattdessen deren Datenbank verwenden. Tragen Sie dazu Konto-ID und Lizenzschlüssel ein (geoip.maxmind_account_id, geoip.maxmind_license_key). Ohne Internetzugang schalten Sie die Aktualisierung mit geoip.auto_update: false ab und legen die Datei selbst ab.
Gastansicht
Ohne Anmeldung sieht jeder, der die Oberfläche öffnet, die Messergebnisse, kann aber nichts ändern und keine Messung starten. Oben steht dann „Nur Lesen“. Das ist praktisch für einen Bildschirm im Büro oder für Kollegen, die nur nachsehen möchten.
Soll ohne Anmeldung gar nichts zu sehen sein, setzen Sie auth.public_read auf false.

Benutzer
Unter Admin legen Administratoren weitere Benutzer an und löschen sie.
- Administratoren dürfen alles, auch Benutzer verwalten, alte Messungen löschen und iperf3 installieren.
- Normale Benutzer dürfen Server pflegen und Messungen starten.
Im Bereich Admin räumen Sie auch auf: Messungen und Wegverfolgungen älter als eine bestimmte Zahl von Tagen löschen. Von selbst löscht i-Tracker nichts.
Neue Version einspielen
i-Tracker aktualisiert sich nicht selbst. Für eine neue Version stoppen Sie den Dienst, ersetzen die Programmdatei und starten den Dienst wieder. Ihre Daten bleiben erhalten; die Datenbank wird beim Start bei Bedarf automatisch angepasst.
Windows
.\i-tracker.exe service stop
.\i-tracker.exe service startDocker
docker compose up -d --buildSicherung
Sichern Sie den Programmordner (bei Docker das Volume /data). Wichtig sind:
config.yaml: Ihre Einstellungen- der Ordner
data: alle Benutzer, Server, Messungen und Wege. Am sichersten kopieren Sie ihn bei gestopptem Dienst.
Die Standortdaten im Ordner geoip lädt i-Tracker bei Bedarf neu herunter.
Fehlerbehebung
„iperf3 nicht gefunden“: Installieren Sie iperf3 über den Statuspunkt oder von Hand, oder tragen Sie den Pfad in iperf.path ein. Nach einer Installation den Dienst neu starten.
Messungen schlagen fehl: Läuft auf dem Messserver iperf3 -s, und ist dessen Port erreichbar? Öffentliche Server sind oft belegt; dann hilft ein späterer Versuch oder ein anderer Server.
Die Oberfläche ist von anderen Rechnern nicht erreichbar: Port 8000 in der Firewall freigeben und prüfen, dass web.listen auf 0.0.0.0:8000 steht.
Auf der Karte fehlen Stationen oder Orte: Manche Router antworten nicht auf Traceroute, und nicht jede Adresse lässt sich einem Ort zuordnen. Das ist normal.
Passwort vergessen: Ein anderer Administrator kann einen neuen Benutzer anlegen. Gibt es keinen, schreiben Sie uns über das Kontaktformular.
Nachschlagen
Dieser Teil ist zum Nachschlagen gedacht, wenn Sie etwas Bestimmtes einstellen möchten.
Einstellungen
Die Einstellungen stehen in der Datei config.yaml im Programmordner. Öffnen Sie sie mit einem Texteditor und starten Sie den Dienst nach einer Änderung neu. Jeden Wert können Sie stattdessen auch über die Umgebungsvariable setzen, die in der Tabelle unter dem Namen steht.
| Schlüssel / Umgebungsvariable | Standard | Bedeutung |
|---|---|---|
web.listenIPERF3_WEB_LISTEN | 127.0.0.1:8000 | Unter welcher Adresse die Oberfläche erreichbar ist. Die beim ersten Start angelegte Datei setzt 0.0.0.0:8000, also für alle Rechner im Netz. |
storage.pathIPERF3_STORAGE_PATH | data/i-tracker.db | Datei mit allen Messdaten, Servern und Benutzern. |
auth.secret_keyIPERF3_AUTH_SECRET_KEY | – | Geheimer Schlüssel für die Anmeldung. Wird beim ersten Start zufällig erzeugt. Nicht weitergeben. Ändern meldet alle Benutzer ab. |
auth.session_ttlIPERF3_AUTH_SESSION_TTL | 12h | Nach welcher Zeit ohne Aktivität Sie sich neu anmelden müssen. |
auth.public_readIPERF3_AUTH_PUBLIC_READ | true | Gastansicht: Ergebnisse auch ohne Anmeldung zeigen. |
scheduler.enabledIPERF3_SCHEDULER_ENABLED | true | Regelmäßige Messungen ein- oder ausschalten. |
iperf.pathIPERF3_IPERF_PATH | – | Wo iperf3 liegt. Leer: i-Tracker sucht selbst. |
iperf.auto_installIPERF3_IPERF_AUTO_INSTALL | false | iperf3 beim Start ohne Rückfrage installieren, falls es fehlt. |
geoip.pathIPERF3_GEOIP_PATH | geoip/city.mmdb | Datei mit den Standortdaten. |
geoip.auto_updateIPERF3_GEOIP_AUTO_UPDATE | true | Standortdaten täglich aktualisieren. |
geoip.maxmind_account_idIPERF3_GEOIP_MAXMIND_ACCOUNT_ID | – | Konto-ID bei MaxMind, nur zusammen mit dem Lizenzschlüssel. |
geoip.maxmind_license_keyIPERF3_GEOIP_MAXMIND_LICENSE_KEY | – | Lizenzschlüssel bei MaxMind. |
map.tile_urlIPERF3_MAP_TILE_URL | – | Eigener Kartendienst für eine detailliertere Karte, zum Beispiel https://tile.example.org/{z}/{x}/{y}.png. Leer: die eingebaute Weltkarte. |
map.tile_attributionIPERF3_MAP_TILE_ATTRIBUTION | – | Quellenhinweis für den eigenen Kartendienst. |
log.levelIPERF3_LOG_LEVEL | info | Wie ausführlich das Protokoll ist: debug, info, warn oder error. |
log.formatIPERF3_LOG_FORMAT | text | Aufbau des Protokolls: text zum Lesen, json für Auswertungsprogramme. |
Befehle
Diese Befehle geben Sie im Konsolenfenster im Programmordner ein.
| Option / Befehl | Standard | Bedeutung |
|---|---|---|
i-tracker -config | config.yaml | Eine andere Einstellungsdatei verwenden. |
i-tracker -no-tui | – | Ohne Wirkung; nur vorhanden, damit Aufrufe wie bei den anderen wedigo-Programmen funktionieren. |
i-tracker -version | – | Die Versionsnummer anzeigen. |
i-tracker service install | – | Als Dienst einrichten (mit Administratorrechten). |
i-tracker service uninstall | – | Den Dienst wieder entfernen. |
i-tracker service start | – | Den Dienst starten. |
i-tracker service stop | – | Den Dienst stoppen. |
i-tracker service restart | – | Den Dienst neu starten. |
i-tracker service status | – | Anzeigen, ob der Dienst läuft. |
Schnittstelle für eigene Auswertungen
Alle Daten der Oberfläche können Sie auch als JSON abrufen, etwa für eigene Skripte oder Überwachungssysteme. Lesende Adressen sind mit eingeschalteter Gastansicht auch ohne Anmeldung erreichbar. Für alles andere melden Sie sich mit POST /api/auth/login an und schicken bei ändernden Anfragen den Wert X-CSRF-Token mit.
| Route | Anmeldung | Bedeutung |
|---|---|---|
GET /api/info | öffentlich | Name und Version. |
GET /health | öffentlich | Antwortet, solange i-Tracker läuft. Gut für Überwachungssysteme. |
GET /api/status | lesend, auch für Gäste | Zustand: Version, ob iperf3 vorhanden ist oder gerade installiert wird, ob regelmäßige Messungen laufen und welche Standortdaten geladen sind. |
POST /api/auth/login | öffentlich | Anmelden mit Benutzer und Passwort. |
POST /api/auth/logout | öffentlich | Abmelden. |
POST /api/auth/logout-all | nötig | Auf allen Geräten abmelden. |
GET /api/auth/status | öffentlich | Ob die Gastansicht aktiv ist und ob noch das Startpasswort geändert werden muss. |
GET /api/auth/me | nötig | Wer gerade angemeldet ist. |
POST /api/auth/change-password | nötig | Passwort ändern. |
POST /api/auth/register | Administrator | Neuen Benutzer anlegen. |
GET /api/auth/users | Administrator | Alle Benutzer. |
DELETE /api/auth/users/{user_id} | Administrator | Benutzer löschen. |
GET /api/servers | lesend, auch für Gäste | Alle Messserver. |
POST /api/servers | nötig | Messserver anlegen. |
GET /api/servers/{server_id} | lesend, auch für Gäste | Ein Messserver. |
PUT /api/servers/{server_id} | nötig | Messserver ändern. |
DELETE /api/servers/{server_id} | nötig | Messserver mit allen seinen Messungen löschen. |
GET /api/tests | lesend, auch für Gäste | Messungen, filterbar nach Server, Status und Zeitraum. |
POST /api/tests/run | nötig | Messung starten. |
GET /api/tests/{test_id} | lesend, auch für Gäste | Eine Messung mit allen Werten. |
DELETE /api/tests/{test_id} | nötig | Messung löschen. |
GET /api/tests/{test_id}/live | lesend, auch für Gäste | Zwischenstand einer laufenden Messung. |
GET /api/tests/live/stream | lesend, auch für Gäste | Laufende Messungen als fortlaufender Datenstrom. |
GET /api/tests/server/{server_id}/latest | lesend, auch für Gäste | Letzte Messung eines Servers. |
GET /api/stats/dashboard | lesend, auch für Gäste | Kennzahlen des Dashboards. |
GET /api/stats/servers | lesend, auch für Gäste | Kennzahlen aller Server. |
GET /api/stats/servers/{server_id} | lesend, auch für Gäste | Kennzahlen eines Servers. |
POST /api/tests/{test_id}/trace | nötig | Wegverfolgung zu einer Messung starten. |
GET /api/tests/{test_id}/trace | lesend, auch für Gäste | Wegverfolgung einer Messung. |
DELETE /api/tests/{test_id}/trace | nötig | Wegverfolgung einer Messung löschen. |
POST /api/traces | nötig | Wegverfolgung zu einem beliebigen Ziel aufzeichnen. |
GET /api/traces | lesend, auch für Gäste | Gespeicherte Wegverfolgungen. |
GET /api/traces/{trace_id} | lesend, auch für Gäste | Eine Wegverfolgung mit allen Stationen. |
GET /api/traces/test/{test_id} | lesend, auch für Gäste | Wegverfolgungen zu einer Messung. |
DELETE /api/traces/{trace_id} | nötig | Wegverfolgung löschen. |
GET /api/live-trace/stream/{destination} | nötig | Wegverfolgung live, Station für Station. |
DELETE /api/admin/cleanup/tests | Administrator | Alte Messungen löschen, ?days=…. |
DELETE /api/admin/cleanup/traces | Administrator | Alte Wegverfolgungen löschen, ?days=…. |
GET /api/admin/stats/database | Administrator | Größe und Inhalt der Datenbank. |
POST /api/iperf3/install | Administrator | iperf3 installieren. |
GET /api/public-servers | öffentlich | Liste öffentlicher Messserver. |
GET /api/public-servers/search | öffentlich | In der Liste öffentlicher Messserver suchen, ?query=…. |
