Tailscale
v0.1.8Inspect the host's Tailscale node via the tailscale CLI: tailnet status and peer/online map, network connectivity (netcheck DERP latency, port-mapping), ping to peers, whois lookups, this node's tailnet IPs, version, available exit nodes, MagicDNS/DNS config, and the current prefs (advertised routes, configured exit node). Read-only.
tailscale
Install
emisar pack install
fetches this pack, re-validates it, and verifies its content hash against the
--hash
below — the exact bytes this page was rendered against, so a tampered copy is
rejected — before copying it into the runner's packs dir. The command reloads a
running daemon itself; no manual restart.
sudo emisar pack install tailscale --hash sha256:c153b051b02edd325f044a0736dd9ca89275681e0d327df6a37f2451798ae200
Setup
Reads the local host's Tailscale state via the tailscale CLI — no credentials needed. On standard Linux installs, tailscaled authorizes these read-only LocalAPI calls for ordinary local users.
Notes
- Every action in this pack is read-only — it only reads tailnet/node state and never changes configuration, routes, or the exit node.
-
On standard Linux tailscaled accepts read-only CLI requests from ordinary local users; do not set
--operatorfor this pack because that grants configuration authority these actions do not need. -
TLS cert expiry is intentionally NOT in this pack:
tailscale certissues/renews a certificate (a mutator), so it would not be read-only. To check a cert's expiry read-only, use emisar'sssl-localornetwork-tlspack instead.
Verify it works
Runs tailscale.version, a low-risk
read that confirms the pack can reach its target. Run it on the host once the pack
is installed; pack install runs it for
you.
sudo emisar pack verify tailscale
Install and configure a pack walks through the whole sequence on a host.
Actions 9 total
View on GitHub-
tailscale.debug_prefs exec low Low — read-only or trivially reversible
tailscale debug prefs
Show current node prefs as JSON, including AdvertiseRoutes (this node's advertised subnet routes) and ExitNodeIP/ExitNodeID (the configured exit node, if any). Read-only print of the in-memory prefs.
View source on GitHub -
tailscale.dns_status exec low Low — read-only or trivially reversible
tailscale dns status
Show MagicDNS and DNS configuration for this node — nameservers, search domains, split-DNS routes, and whether MagicDNS is enabled.
View source on GitHub -
tailscale.exit_node_list exec low Low — read-only or trivially reversible
tailscale exit-node list
List available exit nodes on the tailnet (hostname, country, city, status). Succeeds with no rows when the tailnet has no exit nodes (a benign empty state); a real failure (tailscaled down / not logged in) still reports failed.
View source on GitHub -
tailscale.ip exec low Low — read-only or trivially reversible
tailscale ip
Show this node's tailnet IPs (IPv4 and IPv6).
View source on GitHub -
tailscale.netcheck exec low Low — read-only or trivially reversible
tailscale netcheck --format=json
Show network connectivity report as JSON — DERP latency, UDP reachability, IPv4/IPv6 support, port-mapping (UPnP/PMP/PCP), and PreferredDERP.
View source on GitHub -
tailscale.ping exec low Low — read-only or trivially reversible
tailscale ping <host>
Ping a tailnet peer over Tailscale and report the path (direct vs DERP) and latency. Terminates on its own — the bounded count (default 5, max 20) means it stops after that many replies or attempts.
View source on GitHub -
tailscale.status exec low Low — read-only or trivially reversible
tailscale status --json
Show tailnet status as JSON — the peer/online map: Self, Peer{}, Online, ExitNodeStatus, TailscaleIPs, and Health.
View source on GitHub -
tailscale.version exec low Low — read-only or trivially reversible
tailscale version --json
Show Tailscale client version and build info as JSON.
View source on GitHub -
tailscale.whois exec low Low — read-only or trivially reversible
tailscale whois --json <ip>
Show which tailnet node and user own a Tailscale IP — returns the node, user, and capabilities as JSON.
View source on GitHub