package ops import ( "github.com/versenilvis/iris/spec" ) func init() { spec.Register(&spec.Spec{ Name: "tailscale", Description: "Connect to Tailscale, logging in if needed", Subcommands: []spec.Subcommand{ {Name: "up", Description: "Connect to Tailscale, logging in if needed"}, {Name: "down", Description: "Disconnect from Tailscale"}, {Name: "logout", Description: "Disconnect from Tailscale and expire current node key"}, {Name: "netcheck", Description: "Print an analysis of local network conditions"}, {Name: "ip", Description: "Show Tailscale IP addresses"}, {Name: "status", Description: "Show state of tailscaled and its connections"}, {Name: "ping", Description: "Ping a host at the Tailscale layer, see how it routed"}, {Name: "nc", Description: "Connect to a port on a host, connected to stdin/stdout"}, {Name: "ssh", Description: "SSH to a Tailscale machine"}, {Name: "version", Description: "Print Tailscale version"}, {Name: "web", Description: "Run a web server for controlling Tailscale"}, {Name: "file", Description: "Send or receive files"}, {Name: "cp", Description: "Copy file(s) to a host"}, {Name: "get", Description: "Move files out of the Tailscale file inbox"}, {Name: "bugreport", Description: "Print a shareable identifier to help diagnose issues"}, {Name: "cert", Description: "Get TLS certs"}, {Name: "help", Description: "Print help message"}, }, Options: []spec.Option{ {Name: "--accept-dns", Description: "Accept DNS configuration from the admin panel"}, {Name: "--accept-routes", Description: "Accept routes advertised by other Tailscale nodes"}, {Name: "--advertise-exit-node", Description: "Offer to be an exit node for internet traffic for the tailnet"}, {Name: "--advertise-routes", Description: "Allow direct access to the local network when routing traffic via an exit node"}, {Name: "--force-reauth", Description: "Force reauthentication"}, {Name: "--host-routes", Description: "Install host routes to other Tailscale nodes"}, {Name: "--hostname", Description: "Hostname to use instead of the one provided by the OS"}, {Name: "--json", Description: "Output in JSON format"}, {Name: "--login-server", Description: "Login server to use"}, {Name: "--operator", Description: "Unix username to allow to operate on tailscaled without sudo"}, {Name: "--qr", Description: "Show QR code for login URLs"}, {Name: "--reset", Description: "Reset unspecified settings to their default values"}, {Name: "--shields-up", Description: "Don't allow incoming connections"}, {Name: "--ssh", Description: "Run an SSH server, permitting access per tailnet admin's declared policy"}, {Name: "--help", Description: "Show help message"}, {Name: "--every", Description: "If non-zero, do an incremental report with the given frequency"}, {Name: "--format", Description: "Output format"}, {Name: "--verbose", Description: "Verbose logs"}, {Name: "--1", Description: "Only print one IP address"}, {Name: "--4", Description: "Only print IPv4 address"}, {Name: "--6", Description: "Only print IPv6 address"}, {Name: "--active", Description: "Filter output to only peers with active sessions"}, {Name: "--browser", Description: "Open a browser in web mode"}, {Name: "--listen", Description: "Listen address for web mode; use port 0 for automatic (default 127.0.0.1:8384)"}, {Name: "--peers", Description: "Show status of peers"}, {Name: "--self", Description: "Show status of local machine"}, {Name: "--web", Description: "Run webserver with HTML showing status"}, {Name: "--c", Description: "Max number of pings to send"}, {Name: "--timeout", Description: "Timeout before giving up on a ping"}, {Name: "--tsmp", Description: "Do a TSMP-level ping (through IP + wireguard, but not involving host OS stack)"}, {Name: "--until-direct", Description: "Stop once a direct path is established"}, {Name: "--daemon", Description: "Also print local node's daemon version"}, {Name: "--cgi", Description: "Run as CGI script"}, {Name: "--cert-file", Description: "Stdout"}, {Name: "--key-file", Description: "Stdout"}, {Name: "--serve-demo", Description: "Show help message"}, {Name: "--socket", Description: "Path to tailscaled's unix socket"}, }, }) }