Add Starlink status lines for the physical gateway pane (closes #3) (#7)
check / check (push) Failing after 5s
check / check (push) Failing after 5s
Detection is a TCP connect to the dish endpoint bound to the physical interface; once a dish answers, get_status is read every 5s and two status lines render under the physical pane, red on disconnect or alert. No dish: nothing drawn, no RPC. Minimal vendored proto bindings for get_status only. Independent review passed (PR 7 comment 100012). Model: opus-4-8 (implementation and review); model: claude-fable-5 (merge)
This commit was merged in pull request #7.
This commit is contained in:
@@ -67,6 +67,21 @@ Anything outside this matrix — on Linux, only one of the named pair present, o
|
||||
no/multiple default routes when neither is present; on macOS, no default route
|
||||
or more than one physical default route — exits with a clear error.
|
||||
|
||||
## Starlink status
|
||||
|
||||
When the non-VPN physical gateway is a Starlink dish, two extra lines appear
|
||||
under that pane: dish state, uptime, obstruction and alert count on the first,
|
||||
and pop-ping latency and drop rate with downlink/uplink throughput on the
|
||||
second. They turn red when the dish is not connected or an alert is active.
|
||||
|
||||
Detection is a TCP connect to the dish's fixed local endpoint,
|
||||
`192.168.100.1:9200`, made over the physical interface (the same binding the
|
||||
latency probes use). The dish sits behind the Starlink router, so this is not a
|
||||
gateway-address check. rtnetmon probes once a minute until a dish answers and
|
||||
then reads its status every few seconds; when no dish answers, nothing is drawn
|
||||
and no status is fetched. The status comes from the dish's local `get_status`
|
||||
gRPC call.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
@@ -107,6 +122,10 @@ rtnetmon/
|
||||
│ │ ├── netdetect.go # selection logic and route parsers (pure)
|
||||
│ │ ├── routes_linux.go # Linux default-route query (build-tagged)
|
||||
│ │ └── routes_darwin.go # macOS default-route query (build-tagged)
|
||||
│ ├── starlink/ # Starlink dish detection and status
|
||||
│ │ ├── starlink.go # Status, Client interface, pure Render
|
||||
│ │ ├── client.go # real gRPC client (get_status)
|
||||
│ │ └── pb/ # generated bindings for the get_status RPC
|
||||
│ └── monitor/ # core monitoring functionality
|
||||
│ ├── monitor.go # monitor types, probes, logging
|
||||
│ ├── loops.go # monitoring loops (reachability, loss, TCP)
|
||||
|
||||
Reference in New Issue
Block a user