- I think it would be better if one for commands only, one for the spec handling core logic so people won't be confused by the core logic inside the commands folder (cleaner I guess) - Regen docs
71 lines
4.2 KiB
Go
71 lines
4.2 KiB
Go
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"},
|
|
},
|
|
})
|
|
}
|