機能

NetPulse が見られるものすべて

アプリが監視するものの完全な一覧と、それを可能にする技術的決断の理由。

機能インベントリ

ネットワークからインターフェースへ

NetPulse はルーターからデータを読み取り、1つの画面に表示します。ポーリングは読み取り専用で、書き込みを伴うものは常に明示的でロールバックに守られています。

健全性パネル

レイテンシ、損失、稼働時間、温度を凝縮した 0-100 のスコア。その隣には、契約プランに対する WAN のライブスループット、平均レイテンシ、接続デバイス数。

  • ルーターごとに重み付け計算された 0-100 のヘルススコア
  • WAN スループット、今日のピーク、24時間平均、合計
  • SSE による ~5 秒ごとのライブ更新
利用可能

ライブトポロジー

ブリッジ FDB と、利用可能な場合は LLDP から構築されるセマンティックマップ。ルーター、スイッチ、ハイパーバイザー、ネストしたコンテナ、有線・無線クライアント、WireGuard トンネルを描画します。推論では何がどこに接続されているか分からない場合、デバイスを正確なルーターとポートに手動で固定できます。

  • 管理スイッチと推論スイッチの推論
  • ネストしたコンテナが見えるハイパーバイザー
  • トラフィックアニメーションとリンク状態
  • 編集モード:ノードをドラッグしてレイアウトを保存
利用可能

デバイス

各クライアントをホスト名パターンと OUI で自動分類。バンド、dBm 単位の信号、初検出時刻、通信先のルーターまたはポート付き。

  • 種類別の分類:コンピューター、スマホ、IoT、カメラ、ゲーム機...
  • バンド(2.4 GHz / 5 GHz / 有線)と信号
  • オンライン/オフライン状態と初検出
利用可能

ルーターフリート

SNMP ポーリングされる管理スイッチも第一級市民で、独自のトラフィック履歴とクライアントを持ちます。

  • ルーターごとのカードに役割表示(ゲートウェイ / AP / スイッチ)
  • 削除せずに一時停止:ポーリングもアラートもなし、履歴は保持
  • SNMP スイッチの LLDP-MIB:OpenWrt なしで実アップリンクを表示
利用可能

エージェントとアップグレード

サーバーは UI からフリート全体をインストール・更新し、再インストールせずにその場でトークンをローテーションします。

  • サーバー UI からのエージェントのインストール
  • 古いエージェントの警告とアップグレードボタン
  • 再アームとリアルタイムのエージェント状態
  • owut check:ルーターにファームウェア更新があるか確認
  • UI からのファームウェア更新、バニラ OpenWrt のみ
利用可能

WiFi とローミング

AP とクライアント間の信号マトリクス、30日間保持されるローミングイベント、そしてスティッキーなクライアントを再アンカーしたり、より良い AP を選ぶように AP から追い出したりするツール。

  • アソシエーション/ディスアソシエーションとローミングイベント
  • 信号による再アンカーの推奨
  • DAWN から usteer へのステアリング移行
利用可能

Wi-Fi チャネルアナライザー

無線ごとの本物のスペクトル:各ネットワークを周波数軸上のベル曲線として描画し、DFS 帯域を影で示し、連続的な占有率バーも表示。あなたのネットワークを、電波が見たままに。

  • チャネルごとの混雑スコア(最適・中程度・混雑)。クリックでフォーカス
  • 自分のネットワークは混雑として数えない(MAC・SSID・dawn/usteer で判定)
  • 提案のみ:適用するかどうかはルーター上で自分で決める
利用可能

スイッチポートの詳細

スイッチのポートごとの表示:ネゴシエートされた速度、トラフィック、エラー、リンク状態、そしてゴーストポート、フラッピング、速度劣化といった固有のアラート。

  • ポートごとのトラフィックの時系列
  • ゴーストポート、フラッピング、リンク劣化のアラート
  • スイッチのフロントパネル
利用可能

WireGuard

ピア一覧、最終ハンドシェイク、ピアごとの転送量、トポロジーマップ上に描画されるトンネル。各ピアは UCI 設定の実際の名前でラベル付けされます。

  • 各ピアの状態と最終ハンドシェイクからの経過時間
  • トンネルごとの累積 RX/TX
  • インターネットからゲートウェイまでのトンネルの可視化
利用可能

AdGuard Home

DNS クエリ統計、ブロック率、上位ブロックドメイン、フィルターを使うクライアント。すべてネットワークの他の情報と並んで表示されます。

  • 24時間のクエリとブロック
  • 上位ブロックドメイン
  • 平均 DNS レイテンシ
利用可能

アラート

カテゴリごとの緊急度を持つ6つのカテゴリ:温度、利用可能なファームウェア、新規デバイス、WireGuard ハンドシェイク、ネットワークポート、ローミングイベント。ベルのフィードと Web Push 通知。

  • 自動解決付きの永続フィード
  • VAPID によるネイティブ Web Push、第三者なし
  • ポートアラートでのアクション提案
利用可能

レポート

ルーターごと、デバイスごとの日次・週次・月次の可用性レポート。開発中:トラフィック、アクティビティ、アラート要約、エクスポート。

  • ルーターとデバイスごとの可用性
  • 日次・週次・月次のビュー
  • CSV/JSON エクスポートを予定
一部 / 開発中

設定

スクロールに追従する固定インデックス付きの1カラム:ユーザーとロール、ユーザーごとの言語、実際のプレビュー付きの外観、データしきい値、ルーター、サービスと連携、オーケストレーション、自動更新。

  • ロール付きユーザーと bcrypt
  • サーバーから実行する実際の WAN 速度テスト
  • 変更履歴付きの自動更新
利用可能

デモモード

DEMO_MODE=1 は、実際のルーターなしで 67 台のデバイスからなる完全なサンプルネットワークを起動します。インストール前に UI を試すのに便利です。

  • 正規の 67 デバイスデータセット
  • 実モードと同じインターフェース
  • demo.netpulse.cloudless.club で公開中のライブデモ
利用可能

LuCI アプリ

luci-app-netpulse は OpenWrt の Web インターフェースにエージェント状態を統合します:procd、UCI、ログ、再起動、そしてメインアプリへのリンク。

  • LuCI でのエージェント状態
  • エージェントの再起動と再アーム
  • 各リリースの .ipk/.apk パッケージ
利用可能

オンボックスモード

予備のマシンがなくても、サーバーは OpenWrt ルーター自身の上で動きます。UCI 設定、TLS ピンニング、ローカルペアリングを備えます。

  • 対応ルーター向けの静的バイナリ
  • ネイティブ UCI 設定
  • SPKI ピンニング付き自己署名証明書
  • UI 用のオプション HTTPS:自分の証明書または自己署名
利用可能

AI アシスタント (MCP)

/mcp に組み込まれた MCP サーバー:AI アシスタントが HTTP 経由で API トークンを使ってフリート状態、デバイス、アラート、トポロジーを照会。最新のポーリングに対する読み取り専用ツール。

  • フリート状態、ルーターごとの健康、デバイス、WireGuard ピア、AdGuard、トポロジー、アラート
  • API トークンのみ(セッション cookie は不可)、レート制限付き
  • ツール呼び出しはすべて監査ログに記録
利用可能

物理ラック

19 インチラックを描き、U 高度でルーター、スイッチ、サーバーを配置すると、NetPulse が検出したトポロジーから配線(ルーター間アップリンクを含む)を提案。非常に初期のプレビュー。

  • ラックとマウントは実 U 高度と 19 インチ比例
  • FDB から配線を提案。取り込んだケーブルは検出済みとしてマーク
  • デフォルトはオフ:設定、Labs で有効化
Labs(実験的)

NetPulse と Home Assistant

NetPulse はフリートの状態を MQTT ブローカーに公開し、Home Assistant が自動で検出します。何も手動で定義しなくても、デバイスとそのエンティティが作成されます。すべてローカルネットワーク内で完結します。

  • インストール全体
  • ルーターごとに個別
  • Home Assistant からルーターを操作
利用可能 Home Assistant
技術的な決断

なぜこう作られたのか

NetPulse はマーケティング製品ではありません。実際の問題を解決するために作られた個人ツールです。ここでは最もよく質問される決断を挙げます。

なぜ OpenWrt / GL.iNet なのか?

OpenWrt ならハードウェアをフラッシュし、検査し、制御できます。

なぜ Go + 組み込み SQLite なのか?

CGO を無効にした単一の静的バイナリ。ターゲットに C ツールチェーンは不要で、アトミックスワップで更新し、ユーザー、セッション、時系列を WAL 付きのローカル SQLite に保存します。modernc.org/sqlite が完全に静的にしてくれます。

なぜポーリングは読み取り専用なのか?

サーバーは自身の ed25519 鍵ペアを生成し、あなたが各ルーターで公開鍵を承認します。そこからポーリングは読むだけです:ubus、/proc、iwinfo、bridge fdb、wg show。書き込みを伴うアクション(IP の予約、デバイスのブロック、サービスのオーケストレーション、ファームウェアの書き込み)は常に明示的で、管理者が実行し、スナップショットと自動ロールバックで適用されます。

なぜ Docker ではなく systemd なのか?

NetPulse はネットワークを監視します。そのためにコンテナは必要ありません。シンプルなユニットファイル、journald ログ、自動再起動を備えたサンドボックス化された systemd サービスは、小さな LXC や VM でより軽量で運用しやすいものです。

なぜ PWA + SSE なのか?

UI は Vite と Tailwind を使った React SPA で、PWA としてインストールできます。バックエンドは ~5 秒ごとに SSE でライブイベントを送信します。常時ポーリングも WebSocket もありません。SSE は単方向で、自動的に再接続し、家庭のプロキシの背後でも問題なく動作します。

なぜ DAWN から usteer へ?

WiFi ステアリングに DAWN から始めたのは、OpenWrt コミュニティで最も目立つ選択肢だったからです。実際のネットワークでは、認証を連鎖的に拒否したり、クライアントを予期せず追い出したり、peer-to-peer モデルに未解決のバグが残ったりするのを目の当たりにしました。usteer は OpenWrt 公式のデーモンで、同等の機能とより安定したモデルを備えます。usteer への移行は進行中で、同じローミングの可視性を保ちます。

NetPulse ではないもの

範囲について正直であることは重要です。NetPulse は次を目指していません:

  • Zabbix、LibreNMS、PRTG のようなエンタープライズ NMS。数千ノードにスケールせず、数千の SNMP MIB もサポートしません。
  • クラウドソリューション。テレメトリー、集中ダッシュボード、ネイティブモバイルアプリはありません。
  • 大量自動設定ツール。オーケストレーションは存在しますが、オプトインでプラン単位です。
  • 万能なルーターソリューション。OpenWrt / GL.iNet でテスト済みで、他のファームウェアには適応が必要です。
外観
テーマ