Tailscale filtering examples.

Online = true, tag:prox, but NOT tag:non-deb. Do not show the own server. Show Hostname

tailscale status --json | jq -r '
  .Peer[]
  | select(.Online == true)
  | select((.Tags // []) | index("tag:prox"))
  | select((.Tags // []) | index("tag:non-deb") | not)
  | .HostName'

Online = true, tag:machine and include local machine

tailscale status --json | jq -r '
    [.Self, (.Peer[])]
    | .[]
    | select(.Online == true)
    | select((.Tags // []) | index("tag:machine"))
    | .HostName'

More than one files

tailscale status --json | jq -r '
  .Peer[]
  | select(.Online == true)
  | select((.Tags // []) | index("tag:machine"))
  | [.HostName, .TailscaleIPs[0]] | @tsv'

Simple Machine

tailscale status --json | jq -r '
  .Peer[]
  | select(.Online == true)
  | select((.Tags // []) | index("tag:machine"))
  | [.HostName, .TailscaleIPs[0]] | @tsv'