アップデート一覧に戻る
New releaseAug 20, 2026

roamr v0.1.4

現在地に最適なWiFiネットワークを見つけます — 保存されたすべてのネットワークを、単なる信号強度ではなく実際の通信品質で評価します。

共有

roamr

Release CI Go Reference License: MIT

接続を切らずに、今いる場所に最適なWiFiネットワークを見つけましょう。

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

roamrが保存済みWiFiネットワークをランク付けし、Office-2Gが100%シグナルにもかかわらず最下位になる理由を説明している様子

ステータス: 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の存在意義です。

コマンド

コマンド機能
roamr現在地で最適な既知ネットワークを推奨(デフォルト)
roamr current接続中のネットワークを診断(レイテンシ/ジッタ含む)
roamr list既知のネットワークとそのスコアを一覧表示
roamr watch継続的にサンプリングし、持続的に優れたネットワークがある場合のみ乗り換えを提案
roamr speedtest接続中のネットワークの実際のダウンロードスループットを測定

フラグ:--why(スコアの説明)、--json(機械可読出力)、--demo(ハードウェア不要)、--interval / --sampleswatch用)。

roamrは助言ツールです:OSが把握している情報を読み取るだけで、接続を変更することはありません。どの保存済みネットワークが最適かを教えてくれるので、切り替えはOSのWi-Fiメニューから行ってください。

watch は各ネットワークのスコアを時間経過で平滑化(EMA)し、別のネットワークが現在のネットワークを明確な差で複数回の連続サンプリングにわたって上回った場合のみ乗り換えを提案します。そのため、シグナルノイズや2.4/5 GHzのバンドステアリングによって推奨が不安定に切り替わることはありません。

仕組み

スコアリングはパッシブで、接続を切断することはありません。シグナル、帯域、チャネルの輻輳、WiFi規格、(接続中のネットワークについては)ライブのレイテンシを考慮します。詳細はdocs/architecture.mdにあります。プラットフォーム対応は単一のプラグイン可能なシームの背後にあり、docs/adding-a-platform.mdで説明されています。

メニューバーアプリ(macOS)

コンパニオンのメニューバーアプリは、ライブのランキングリストと「理由」をドロップダウンで表示します — 品質に応じて色分けされたスコア、シグナルバー、そして持続的に優れたネットワークがある場合のアンバー色の合図です。roamr watch --json を読み取るため、スコアリングはすべてCLI側にあります。CLIと同様、助言のみを行い、自動で切り替えることはありません。

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

対応プラットフォーム

OSプロバイダステータス
macOS署名済みCoreWLANヘルパー(macwifi経由)(ADR-0002動作確認済み(Apple Silicon、macOS 13+)
WindowsネイティブWLAN API(wlanapi.dllADR-0004動作確認済み(実機で検証済み、位置情報の有効化が必要)
Linuxnmcli(NetworkManager)実装済み(fixtureテスト済み、実機確認待ち)

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 を参照してください。

カテゴリ