1
0
Fork 0
mirror of https://github.com/ananthb/starla.git synced 2026-09-20 16:26:53 +00:00
Unofficial RIPE Atlas Software Probe in Rust
  • Rust 92%
  • Nix 6.6%
  • Fluent 0.9%
  • Ruby 0.5%
Find a file
Ananth 82bf0d9c42
chore(release): bump 0.8.0 (#116)
Minor rather than patch, because #113 made two config keys take effect
that had been silently inert. `[probe] log_level` and `[logging] format`
were read into the config struct and then ignored -- logging was
initialised before the file was parsed, so the level was always the CLI
default and the format came from a compile-time feature. A probe whose
config already says `log_level = "debug"` or `format = "text"` starts
behaving differently on upgrade without anyone editing anything. That is
a behaviour change, not a fix, and 0.7.3 would undersell it.

`--log-level` also loses its clap default in the same change, so "not
passed" is distinguishable from "passed info" -- visible in --help.

Everything else since 0.7.2 is additive or internal: the registration
banner and quieter retry logging (#113), the add-on move to
ananthb/hass-addons (#111), Spanish translation updates (#112), the
docs-only status check fix (#115), and dependency bumps (#99, #114).

Public API gains starla_controller::public_key_openssh. Nothing was
removed.

The add-on is deliberately untouched. Since #107 its version and the
upstream image tag move independently, and starla/build.yaml lives in
ananthb/hass-addons now -- it pins 0.7.2 until a 0.8.0 image exists,
which that repository's CI enforces.


Claude-Session: https://claude.ai/code/session_01TUNJedMaG86AUM4oHPhZDR

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 07:42:35 +00:00
.cargo feat!: always-on scamper backend on Linux, bump 0.6.0 (#40) 2026-05-31 02:14:45 +05:30
.github chore(ci)(deps): bump actions/checkout from 6 to 7 (#99) 2026-09-07 12:25:07 +05:30
assets chore(release): bump 0.6.1 (#44) 2026-05-31 17:55:10 +05:30
binaries probe: make the registration key impossible to miss (#113) 2026-09-07 05:49:20 +00:00
crates probe: make the registration key impossible to miss (#113) 2026-09-07 05:49:20 +00:00
doc addon: move the Home Assistant add-on to ananthb/hass-addons (#111) 2026-09-06 22:26:23 +00:00
fuzz add fuzz targets and ASAN check for continuous verification 2026-04-05 22:19:34 +05:30
grafana fix(metrics): fix label collisions and add missing instrumentation 2026-04-26 16:09:38 +05:30
nix i18n: translate Starla through Weblate (#93) 2026-08-18 11:37:41 +00:00
packaging i18n: translate Starla through Weblate (#93) 2026-08-18 11:37:41 +00:00
tests flake,workspace: derive package versions from Cargo.toml (#67) 2026-06-06 20:12:27 +00:00
.envrc starla is an alternative unofficial RIPE Atlas Software Probe client 2026-02-08 00:36:00 +05:30
.gitignore i18n: translate Starla through Weblate (#93) 2026-08-18 11:37:41 +00:00
.goreleaser.yaml ci(release): goreleaser owns nfpm + tarball + checksum + GH upload (#70) 2026-06-07 09:00:58 +00:00
.weblate i18n: translate Starla through Weblate (#93) 2026-08-18 11:37:41 +00:00
Cargo.lock chore(release): bump 0.8.0 (#116) 2026-09-07 07:42:35 +00:00
Cargo.toml chore(release): bump 0.8.0 (#116) 2026-09-07 07:42:35 +00:00
clippy.toml starla is an alternative unofficial RIPE Atlas Software Probe client 2026-02-08 00:36:00 +05:30
config.toml.example probe: make the registration key impossible to miss (#113) 2026-09-07 05:49:20 +00:00
flake.lock build: portable DMG/AppImage via nix-appimage + stricter dyld asserts (#54) 2026-06-02 10:35:09 +00:00
flake.nix addon: move the Home Assistant add-on to ananthb/hass-addons (#111) 2026-09-06 22:26:23 +00:00
LICENSE starla is an alternative unofficial RIPE Atlas Software Probe client 2026-02-08 00:36:00 +05:30
README.es.md chore(l10n): update translation files (#112) 2026-09-07 07:04:50 +00:00
README.md addon: move the Home Assistant add-on to ananthb/hass-addons (#111) 2026-09-06 22:26:23 +00:00
rustfmt.toml starla is an alternative unofficial RIPE Atlas Software Probe client 2026-02-08 00:36:00 +05:30
starla.service probe,tray,packaging: recover from status socket fd starvation (#65) 2026-06-06 17:27:09 +00:00

Starla logo

English · Español · + your language

Starla

An alternative unofficial RIPE Atlas software probe written in Rust.

License Release Docs Translation status

Features

  • All measurement types: Ping, Traceroute, DNS, HTTP, TLS, NTP
  • Pure Rust SSH: no OpenSSH dependency, uses russh
  • No local ports: all communication flows through the SSH tunnel
  • Minimal container image: just the binary + CA certs, multi-arch (amd64/arm64)
  • Home Assistant add-on: packaged in ananthb/hass-addons
  • NixOS module: declarative configuration with systemd hardening
  • Home Manager module: user-level service with launchd (macOS) or systemd (Linux)
  • macOS app bundle: Starla Tray.app with DMG installer and Install CLI script
  • Prometheus metrics: optional observability export
  • Bounded in-memory result queue: configurable capacity, drops oldest when full
  • Scamper backend (Linux): every Linux build statically links the rscamper bindings, so ping and traceroute can be routed through a running scamper daemon by setting "backend": "scamper" on the measurement. Hosts without scamper installed are unaffected unless the backend is actually selected. The socket defaults to /var/run/scamper/scamperd.sock and can be overridden with STARLA_SCAMPER_SOCKET. Not available on macOS or Windows builds.

Quick Start

# Docker / Podman
docker run -d --name starla \
  -v starla-state:/state \
  --cap-add NET_RAW \
  ghcr.io/ananthb/starla:latest

# NixOS
services.starla.enable = true;

# Ubuntu / Debian
curl -LO https://github.com/ananthb/starla/releases/latest/download/starla_0.3.0_amd64.deb
sudo dpkg -i starla_*.deb
sudo systemctl enable --now starla

# Fedora / RHEL
curl -LO https://github.com/ananthb/starla/releases/latest/download/starla-0.3.0-1.x86_64.rpm
sudo dnf install ./starla-*.rpm
sudo systemctl enable --now starla

# Release tarball
curl -LO https://github.com/ananthb/starla/releases/latest/download/starla-amd64.tar.gz
tar xzf starla-amd64.tar.gz && sudo ./starla/starla

Home Assistant

Add repository to your Home Assistant instance

Add https://github.com/ananthb/hass-addons as an add-on repository (Settings → Add-ons → Add-on Store → ⋮ → Repositories), then install the Starla add-on. See the add-on docs.

After starting, register your probe at atlas.ripe.net/apply/swprobe using the public key from probe_key.pub in the state directory.

See the full installation guide for all options, configuration, and signature verification.

Documentation

Translating

Starla speaks whatever languages people contribute: the tray app, this README, and the documentation site are all translated on Weblate. Adding a language takes no Rust and no pull request — see doc/translating.md.

License

AGPL-3.0-or-later: See LICENSE.