Torna agli aggiornamenti
New releaseAug 20, 2026

roamr v0.1.4

Trova la migliore rete WiFi per il posto in cui ti trovi — valuta ogni rete salvata in base alla qualità reale, non solo alle barre del segnale.

Condividi

roamr

Release CI Go Reference License: MIT

Trova la miglior rete WiFi per il luogo in cui ti trovi, senza perdere la connessione.

In un ufficio (o a casa) con più reti WiFi, la migliore cambia mentre ti sposti, e "migliore" non sono solo le barre del segnale. Una rete può mostrare tutte le barre e rimanere comunque lenta: 2.4 GHz affollati, uno standard WiFi vecchio, un canale congestionato. roamr legge ciò che il tuo sistema operativo già sa su ogni rete salvata nelle vicinanze, le valuta per la qualità nel mondo reale, spiega il perché e ti dice quale usare.

roamr ranking saved WiFi networks and explaining why Office-2G, despite 100% signal, ranks last

Stato: disponibile su macOS (brew install --cask sourabh-khot65/tap/roamr), con un'app complementare per la barra dei menu. Windows è verificato e funzionante; Linux è implementato e in anteprima (vedi Piattaforme). Niente Mac? Prova roamr --demo.

Installazione

macOS (consigliato). Installa con Homebrew. La cask rimuove l'attributo di quarantena durante l'installazione, così il binario viene eseguito senza l'avviso di Gatekeeper che un download dal browser comporterebbe:

brew install --cask sourabh-khot65/tap/roamr

Windows. Installa con Scoop:

scoop bucket add roamr https://github.com/sourabh-khot65/scoop-bucket
scoop install roamr

Qualsiasi piattaforma. Scarica un binario dall'ultima release, oppure compila dal sorgente con Go 1.26+:

go install github.com/sourabh-khot65/roamr/cmd/roamr@latest

I binari dalla pagina Releases (a differenza di Homebrew) non sono firmati, quindi Gatekeeper li mette in quarantena su macOS. Eliminala una volta con xattr -d com.apple.quarantine ./roamr. Le installazioni via Homebrew non sono interessate. La notarizzazione del binario di roamr è prevista ma fuori dall'ambito per v0.x.

Avvio rapido

Una volta installato, prova la demo integrata (nessun hardware WiFi necessario):

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

Sei su Office-2G (il ▸) con segnale al 100%, ma roamr lo classifica all'ultimo posto, 2.4 GHz su vecchio WiFi 4, e ti indica Office-6E. Quel divario tra "tutte le barre" e "davvero buono" è il punto centrale di roamr.

Comandi

ComandoFunzione
roamrconsiglia la migliore rete conosciuta qui (predefinito)
roamr currentdiagnostica la rete a cui sei connesso (incl. latenza/jitter)
roamr listelenca le reti conosciute e i loro punteggi
roamr watchcampiona continuamente; suggerisce un cambio solo quando una rete è stabilmente migliore
roamr speedtestmisura la velocità di download reale della rete a cui sei connesso

Flag: --why (spiega i punteggi), --json (leggibile dalla macchina), --demo (nessun hardware), --interval / --samples (per watch).

roamr è di sola consulenza: legge ciò che il tuo sistema operativo conosce e non modifica mai la tua connessione. Ti dice quale rete salvata è la migliore; passi tu dal menu Wi-Fi del tuo sistema operativo.

watch uniforma nel tempo il punteggio di ogni rete (EMA) e segnala un cambio solo quando una sfidante supera la tua rete attuale con un margine netto per diversi campioni consecutivi, così la raccomandazione non oscilla per il rumore del segnale o per il band-steering 2.4/5 GHz.

Come funziona

Il punteggio è passivo e non ti disconnette mai. Considera segnale, banda, congestione del canale, standard WiFi e (per la rete a cui sei connesso) latenza in tempo reale. I dettagli sono in docs/architecture.md; il supporto delle piattaforme si trova dietro un unico punto di estensione, descritto in docs/adding-a-platform.md.

App per la barra dei menu (macOS)

Un'app complementare per la barra dei menu mostra la classifica in tempo reale e il "perché" come menu a tendina: punteggi colorati per qualità, barre del segnale e un indicatore ambra quando una rete è stabilmente migliore. Legge roamr watch --json, quindi tutto il punteggio resta nella CLI; come la CLI, si limita a consigliare e non cambia mai rete al posto tuo.

make app          # build macos/Roamr.app (Swift, no Xcode needed)
make install-app  # build and install it to /Applications

Piattaforme

Sistema operativoProviderStato
macOShelper CoreWLAN firmato tramite macwifi (ADR-0002)funzionante (Apple Silicon, macOS 13+)
WindowsAPI WLAN nativa (wlanapi.dll, ADR-0004)funzionante (verificato su dispositivo; richiede posizione attiva)
Linuxnmcli (NetworkManager)implementato (testato con fixture; verifica su dispositivo in sospeso)

macOS richiede il permesso di localizzazione per leggere i dettagli WiFi (concesso all'helper integrato al primo avvio); non è richiesto un account Apple a pagamento per compilare o eseguire roamr (vedi ADR-0002). La dipendenza macwifi richiede Go 1.26+ e ha come target Apple Silicon; macOS non riporta la modalità PHY, quindi quel segnale di punteggio viene saltato.

Sviluppo

go build ./...   # build everything
go test ./...    # run tests (no WiFi hardware needed)
go vet ./...

Licenza

MIT. Vedi LICENSE.

Categorie