net/starlink-dish: add Starlink dish gRPC client#28890
Open
bigmalloy wants to merge 1 commit intoopenwrt:masterfrom
Open
net/starlink-dish: add Starlink dish gRPC client#28890bigmalloy wants to merge 1 commit intoopenwrt:masterfrom
bigmalloy wants to merge 1 commit intoopenwrt:masterfrom
Conversation
Native Rust gRPC client for the Starlink dish API at 192.168.100.1:9200. Outputs JSON telemetry and supports dish reboot. Used by luci-app-starlink-panel but can also be called from scripts. - Source tarball includes vendored Cargo dependencies (offline build) - Requires rust/host + protobuf/host for compilation - Binary stripped, ~1.4 MB, supports all RUST_ARCH_DEPENDS targets Signed-off-by: bigmalloy
bigmalloy
pushed a commit
to bigmalloy/luci
that referenced
this pull request
Mar 19, 2026
Adds luci-app-starlink-panel, a LuCI dashboard for monitoring a Starlink dish. Provides dish telemetry (state, latency, drop rate, throughput, SNR, obstructions), GPS/alignment/attitude stats, alerts, IPv6 connectivity info, router traffic stats, and a reboot button. Depends on the starlink-dish package (openwrt/packages#28890) for gRPC communication with the dish at 192.168.100.1:9200. Signed-off-by: Michael Eiberg <berghotspot@gmail.com>
Contributor
|
@bigmalloy |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds
starlink-dish, a native Rust gRPC client for the Starlink dish API (192.168.100.1:9200). It replaces the common workaround of installing the heavyweightgrpcurlbinary.Commands:
starlink-dish [addr] dish— outputs full dish telemetry as JSONstarlink-dish [addr] reboot— reboots the dishWhy Rust / why not grpcurl:
starlink-grpc-clientcrate which has the Starlink proto definitionsBuild notes
protobuf/hostfor protoc (used bystarlink-grpc-client's build.rs to generate code from .proto files)Build/Preparewrites.cargo/config.tomlpointing cargo at the vendor directoryPROTOC=$(STAGING_DIR_HOST)/bin/protocis forwarded to the cargo build environmentTesting
Tested on GL-iNet Beryl AX (MT3000, aarch64, OpenWrt 25.12.0-rc5).
Related
Will be followed by a PR to openwrt/luci adding
luci-app-starlink-panelwhich depends on this package.