Skip to content
Akaere-NetWorksPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ratlas

RIPE Atlas from the terminal: a scriptable CLI and a full-screen TUI (ratatui + crossterm, the stack Codex's TUI uses).

  • Search probes, anchors and measurements; inspect details.
  • Render results for every type: ping, traceroute (hop table, ICMP errors, MPLS), DNS (dig-style, decoded abuf), HTTP, TLS certificates (subject/issuer/expiry/SHA-256), NTP.
  • Stream live results, probe connection events, or measurement metadata from the Streaming API.
  • Create measurements with probe selectors, local validation and a credit-cost estimate (--dry-run), then watch results arrive.
  • Status checks with Nagios exit codes, ping statistics, credits, API keys, built-in/well-known measurement catalogue.

Design notes: docs/DESIGN.md.

Install

cargo install --path .
ratlas completions fish > ~/.config/fish/completions/ratlas.fish
ratlas manpages -d ~/.local/share/man/man1      # ratlas.1 + one page per subcommand

Arch Linux: cd packaging/arch && makepkg -si builds a package with the fish completions and man pages included.

Authentication

Public data needs no key. Creating/stopping measurements, --mine, credits and keys need an API key from https://atlas.ripe.net/keys/ with the matching permissions.

Key precedence: --key / RATLAS_KEY → ATLAS_KEY → api_key in the config file.

ratlas config set api_key 01234567-89ab-cdef-0123-456789abcdef
ratlas config path      # ~/.config/ratlas/config.toml (written with mode 0600)

Other config keys: api_url, stream_url, probes (default probe count for measure and the shortcuts, 50), from (default selector, area:WW), bill_to.

TUI

ratlas            # or: ratlas tui
Key Action
1–5, Tab Measurements, Probes, Anchors, Stream, Credits
j/k, arrows, PgUp/PgDn, g/G Move
/ Search
f / F Cycle type / status filter
m Only my measurements
n Load next page
Enter Details: measurement → latest result per probe, fastest first, with probe location/ASN; measurement detail → selected probe
s Live results via WebSocket
x Stop measurement (asks first)
o Open in browser
: Command: msm 1001, probe 6001, anchor 2182, measure ping 1.1.1.1 -n 5 --from country:NL, stream -m 1001
? Help
q, Esc Back / quit

CLI examples

ratlas probe search -c NL --status connected -t system-ipv6-works -n 20
ratlas probe search --near 52.37,4.89:10
ratlas probe show 6001

ratlas msm search -t traceroute --status ongoing --target google
ratlas msm show 5001
ratlas msm latest 1001 --summary
ratlas msm results 1001 --start 2h -p 7602 -n 10
ratlas msm stats 1001 -p 7602          # one probe per request; the server currently ignores --resolution/--start (ratlas warns)
ratlas msm check 1040425 --max-packet-loss 50 && echo OK   # exit 0 OK, 2 alert, 3 unknown

ratlas ping 1.1.1.1                       # 50 random probes, one-off; opens the TUI on the live results
ratlas traceroute example.com -n 10 --from country:NL
ratlas dns ripe.net -q AAAA               # shortcuts = `measure <type> … --watch`, shown in the TUI on a terminal
ratlas measure ping 1.1.1.1 --from country:NL -n 5 --dry-run
ratlas measure traceroute example.com --protocol TCP --port 443 --from asn:3333 -n 3 --watch   # streams to stdout
ratlas measure dns ripe.net -q AAAA --from region:europe   # uses probe resolvers
ratlas measure sslcert atlas.ripe.net --interval 3600 --stop 2d

ratlas stream -m 1001 --summary
ratlas stream --kind probestatus -n 20
ratlas builtin ping k-root
ratlas credits

Output: -o text (default), -o json, -o jsonl, -o csv; --ids-only on searches; --no-color / NO_COLOR.

Probe selectors (--from, repeatable): area:WW|West|North-Central|South-Central|North-East|South-East, country:NL, countries:NL,DE, region:europe (UN/RIR regions), asn:3333, prefix:193.0.0.0/16, probes:1,2,3, msm:1001.

Times (--start, --stop): RFC3339, YYYY-MM-DD, unix seconds, or relative 30m/6h/2d (past for result queries, future for scheduling).

Notes

  • Credit estimates follow the documented formulas (ping packets × (size/1500+1), traceroute ×10, DNS 10/20, TLS 10; one-offs cost double). HTTP/NTP costs are not documented and are reported as unknown.
  • /latest/ and status checks are cached server-side for 5 minutes; msm results streams JSONL and never buffers the full history.
  • All server-provided strings are stripped of control characters before display.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages