
Finde das beste WLAN-Netzwerk für deinen Standort — bewertet jedes gespeicherte Netzwerk nach realer Qualität, nicht nur nach Signalstärke.
Finde das beste WiFi-Netzwerk für deinen Standort – ohne die Verbindung zu verlieren.
In einem Büro (oder Zuhause) mit mehreren WiFi-Netzwerken ändert sich das beste, während du
dich bewegst – und "am besten" bedeutet nicht nur Empfangsbalken. Ein Netzwerk kann volle Balken zeigen und trotzdem
langsam sein: überlastetes 2.4-GHz-Band, ein alter WiFi-Standard, ein überfüllter Kanal. roamr
liest, was dein Betriebssystem bereits über jedes nahe gespeicherte Netzwerk weiß, bewertet
sie nach realer Qualität, erklärt warum und sagt dir, welches du nutzen solltest.

Status: live auf macOS (brew install --cask sourabh-khot65/tap/roamr), plus einer
Begleit-App für die Menüleiste. Windows ist verifiziert funktionsfähig; Linux ist implementiert und im
Preview-Status (siehe Plattformen). Kein Mac? Probier roamr --demo.
macOS (empfohlen). Installation mit Homebrew. Der Cask entfernt beim Installieren das Quarantäne- Attribut, sodass das Binary ohne die Gatekeeper-Warnung läuft, die ein Browser-Download auslösen würde:
brew install --cask sourabh-khot65/tap/roamr
Windows. Installation mit Scoop:
scoop bucket add roamr https://github.com/sourabh-khot65/scoop-bucket
scoop install roamr
Beliebige Plattform. Lade ein Binary von der neuesten Version herunter oder baue es mit Go 1.26+ aus dem Quellcode:
go install github.com/sourabh-khot65/roamr/cmd/roamr@latest
Binaries von der Releases-Seite (anders als bei Homebrew) sind unsigniert, daher
stellt Gatekeeper sie auf macOS unter Quarantäne. Einmal mit
xattr -d com.apple.quarantine ./roamr freigeben. Homebrew-Installationen sind nicht betroffen.
Die Notarisierung von roamrs eigenem Binary ist geplant, aber außerhalb des Rahmens von v0.x.
Nach der Installation probiere die eingebaute Demo aus (keine WiFi-Hardware nötig):
roamr --demo --why # or, from source: go run ./cmd/roamr --demo --why
→ Switch to Office-6E — clearly better here.
Office-6E ▀▀▀▀▁ 86% 6GHz ax score 95
- 6 GHz — fast, uncongested
- channel is clear
Office-5G ▀▀▀▀▀ 92% 5GHz ax score 93
- strong signal (-54 dBm)
- channel is clear
Office-Guest ▀▀▀▁▁ 68% 5GHz ac score 81
- channel is clear
▸ Office-2G ▀▀▀▀▀ 100% 2.4GHz n score 69
- strong signal (-47 dBm)
- 2.4 GHz — slower, more interference
- WiFi 4 — older, slower standard
Du bist mit Office-2G (das ▸) bei 100% Signal verbunden, aber roamr ordnet es auf den letzten Platz ein, 2.4 GHz im alten WiFi 4, und verweist dich stattdessen an Office-6E. Diese Lücke zwischen "vollen Balken" und "tatsächlich gut" ist der eigentliche Sinn von roamr.
Flags: --why (Bewertungen erklären), --json (maschinenlesbar), --demo (keine Hardware),
--interval / --samples (für watch).
roamr ist beratend: Es liest, was dein OS weiß, und ändert niemals deine Verbindung. Es sagt dir, welches gespeicherte Netzwerk am besten ist; du wechselst über das Wi-Fi-Menü deines Betriebssystems.
watch glättet die Bewertung jedes Netzwerks über die Zeit (EMA) und meldet einen Wechsel nur,
wenn ein Herausforderer dein aktuelles Netzwerk über mehrere
aufeinanderfolgende Messungen hinweg mit deutlichem Abstand schlägt, damit die Empfehlung nicht bei Signalrauschen oder
2.4/5-GHz-Band-Steering flattert.
Die Bewertung ist passiv und trennt dich nie. Sie gewichtet Signal, Band, Kanalüberlastung, WiFi-Standard und (für das Netzwerk, mit dem du verbunden bist) die Live-Latenz. Die Details findest du in docs/architecture.md; die Plattformunterstützung sitzt hinter einer einzigen steckbaren Schnittstelle, beschrieben in docs/adding-a-platform.md.
Eine Begleit-App für die Menüleiste zeigt die live sortierte Liste und das "Warum" als Dropdown –
qualitätsgefärbte Bewertungen, Empfangsbalken und einen bernsteinfarbenen Hinweis, wenn ein Netzwerk dauerhaft
besser ist. Sie liest roamr watch --json, sodass die gesamte Bewertung im CLI bleibt; wie
das CLI rät sie nur und wechselt nie selbst.
make app # build macos/Roamr.app (Swift, no Xcode needed)
make install-app # build and install it to /Applications
macOS benötigt die Standortberechtigung, um WiFi-Details zu lesen (der eingebetteten Hilfe
beim ersten Start gewährt); es ist kein kostenpflichtiges Apple-Konto erforderlich, um roamr zu bauen oder
auszuführen (siehe ADR-0002). Die macwifi-Abhängigkeit erfordert Go 1.26+ und
zielt auf Apple Silicon; macOS meldet keinen PHY-Modus, daher wird dieses Bewertungs-
signal dort übersprungen.
go build ./... # build everything
go test ./... # run tests (no WiFi hardware needed)
go vet ./...
MIT. Siehe LICENSE.
| Befehl | Funktion |
|---|
roamr | empfiehlt das beste bekannte Netzwerk hier (Standard) |
roamr current | diagnostiziert das Netzwerk, mit dem du verbunden bist (inkl. Latenz/Jitter) |
roamr list | listet bekannte Netzwerke und ihre Bewertungen auf |
roamr watch | misst kontinuierlich; schlägt einen Wechsel nur vor, wenn eines dauerhaft besser ist |
roamr speedtest | misst den tatsächlichen Download-Durchsatz des Netzwerks, mit dem du verbunden bist |
| OS | Provider | Status |
|---|
| macOS | signierter CoreWLAN-Helfer über macwifi (ADR-0002) | funktioniert (Apple Silicon, macOS 13+) |
| Windows | native WLAN-API (wlanapi.dll, ADR-0004) | funktioniert (auf dem Gerät verifiziert; Standortzugriff erforderlich) |
| Linux | nmcli (NetworkManager) | implementiert (Fixture-getestet; Überprüfung auf dem Gerät ausstehend) |