
現在地に最適なWiFiネットワークを見つけます — 保存されたすべてのネットワークを、単なる信号強度ではなく実際の通信品質で評価します。
接続を切らずに、今いる場所に最適なWiFiネットワークを見つけましょう。
複数のWiFiネットワークがあるオフィス(または自宅)では、移動するにつれて最適なネットワークは変わります。そして「最適」とはシグナルバーの数だけではありません。バーが満タンでも遅いネットワークはあります。混雑した2.4 GHz、古いWiFi規格、輻輳したチャネルなどが原因です。roamr は、お使いのOSがすでに把握している周辺の保存済みネットワークごとの情報を読み取り、実際の品質をスコアリングし、その理由を説明し、どれを使うべきかを教えます。

ステータス: macOSで公開中(brew install --cask sourabh-khot65/tap/roamr)。メニューバー用コンパニオンアプリもあり。Windowsは動作確認済み。Linuxは実装済みでプレビュー段階(対応プラットフォームを参照)。Macをお持ちでない場合は roamr --demo をお試しください。
macOS(推奨)。 Homebrewでインストールします。caskはインストール時にquarantine属性を除去するため、ブラウザでダウンロードした場合に発生するGatekeeperの警告なしでバイナリが実行できます:
brew install --cask sourabh-khot65/tap/roamr
Windows。 Scoopでインストールします:
scoop bucket add roamr https://github.com/sourabh-khot65/scoop-bucket
scoop install roamr
その他のプラットフォーム。 最新リリースからバイナリをダウンロードするか、Go 1.26+でソースからビルドします:
go install github.com/sourabh-khot65/roamr/cmd/roamr@latest
Releasesページのバイナリ(Homebrewとは異なり)は署名されていないため、macOSではGatekeeperに隔離されます。xattr -d com.apple.quarantine ./roamr で一度解除してください。Homebrewのインストールには影響ありません。roamr自身のバイナリの公証(notarization)は計画されていますが、v0.xの対象外です。
インストール後、内蔵デモを試してみてください(WiFiハードウェアは不要です):
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
あなたは100%シグナルのOffice-2G(▸)に接続していますが、roamrはそれを最下位にランク付けし、古いWiFi 4の2.4 GHz帯であると指摘して、代わりにOffice-6Eを勧めます。「バーが満タン」と「実際に良い」のこのギャップこそがroamrの存在意義です。
フラグ:--why(スコアの説明)、--json(機械可読出力)、--demo(ハードウェア不要)、--interval / --samples(watch用)。
roamrは助言ツールです:OSが把握している情報を読み取るだけで、接続を変更することはありません。どの保存済みネットワークが最適かを教えてくれるので、切り替えはOSのWi-Fiメニューから行ってください。
watch は各ネットワークのスコアを時間経過で平滑化(EMA)し、別のネットワークが現在のネットワークを明確な差で複数回の連続サンプリングにわたって上回った場合のみ乗り換えを提案します。そのため、シグナルノイズや2.4/5 GHzのバンドステアリングによって推奨が不安定に切り替わることはありません。
スコアリングはパッシブで、接続を切断することはありません。シグナル、帯域、チャネルの輻輳、WiFi規格、(接続中のネットワークについては)ライブのレイテンシを考慮します。詳細はdocs/architecture.mdにあります。プラットフォーム対応は単一のプラグイン可能なシームの背後にあり、docs/adding-a-platform.mdで説明されています。
コンパニオンのメニューバーアプリは、ライブのランキングリストと「理由」をドロップダウンで表示します — 品質に応じて色分けされたスコア、シグナルバー、そして持続的に優れたネットワークがある場合のアンバー色の合図です。roamr watch --json を読み取るため、スコアリングはすべてCLI側にあります。CLIと同様、助言のみを行い、自動で切り替えることはありません。
make app # build macos/Roamr.app (Swift, no Xcode needed)
make install-app # build and install it to /Applications
macOSはWiFi情報を読み取るために位置情報(Location)の許可が必要です(初回実行時に組み込みヘルパーへ付与されます)。roamrのビルドと実行には有料のAppleアカウントは不要です(ADR-0002を参照)。macwifi 依存関係にはGo 1.26+ が必要で、Apple Silicon を対象としています。macOSはPHYモードを報告しないため、そのスコアリング指標はmacOSではスキップされます。
go build ./... # build everything
go test ./... # run tests (no WiFi hardware needed)
go vet ./...
MIT。 LICENSE を参照してください。
| コマンド | 機能 |
|---|
roamr | 現在地で最適な既知ネットワークを推奨(デフォルト) |
roamr current | 接続中のネットワークを診断(レイテンシ/ジッタ含む) |
roamr list | 既知のネットワークとそのスコアを一覧表示 |
roamr watch | 継続的にサンプリングし、持続的に優れたネットワークがある場合のみ乗り換えを提案 |
roamr speedtest | 接続中のネットワークの実際のダウンロードスループットを測定 |
| OS | プロバイダ | ステータス |
|---|
| macOS | 署名済みCoreWLANヘルパー(macwifi経由)(ADR-0002) | 動作確認済み(Apple Silicon、macOS 13+) |
| Windows | ネイティブWLAN API(wlanapi.dll、ADR-0004) | 動作確認済み(実機で検証済み、位置情報の有効化が必要) |
| Linux | nmcli(NetworkManager) | 実装済み(fixtureテスト済み、実機確認待ち) |