Files
iris-context/commands/sys/networksetup.go
VERSE ebde9ba68f refactor(commands): separate commands and its core into two folders (#32)
- 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
2026-07-05 11:27:30 +07:00

96 lines
7.2 KiB
Go

package sys
import (
"github.com/versenilvis/iris/spec"
)
func init() {
spec.Register(&spec.Spec{
Name: "networksetup",
Description: "Configuration tool for network settings in macOS",
Subcommands: []spec.Subcommand{
{Name: "computername", Description: "The new name for your computer on the network"},
{Name: "ip", Description: "The IP address to set for the network service"},
{Name: "subnet", Description: "The subnet mask to apply"},
{Name: "router", Description: "The router address to set"},
{Name: "clientid", Description: "Optional DHCP client ID. Use 'Empty' to clear it"},
{Name: "prefixlength", Description: "The prefix length for the IPv6 address (e.g., 64)"},
{Name: "dns", Description: "IP addresses of DNS servers. Use 'empty' to clear all DNS entries"},
{Name: "domain", Description: "List of search domains. Use 'empty' to clear all existing domains"},
{Name: "newnetworkservicename", Description: "The name of the new 6 to 4 service to be created"},
{Name: "relayaddress", Description: "The manually specified relay address to be used by the 6 to 4 service"},
{Name: "portnumber", Description: "The port number for the proxy server"},
{Name: "authenticated", Description: "Specify whether proxy authentication is required"},
{Name: "on", Description: "Specify <on> for <authenticated> to enable authenticated proxy support"},
{Name: "off", Description: "Specify <off> for <authenticated> to disable authenticated proxy support"},
{Name: "username", Description: "The username for proxy authentication"},
{Name: "password", Description: "The password for proxy authentication"},
{Name: "url", Description: "The URL of the proxy auto-config (PAC) file"},
{Name: "network", Description: "The name of the Wi-Fi network to connect to"},
{Name: "index", Description: "The position in the preferred list"},
{Name: "securitytype", Description: "The security type of the network"},
{Name: "OPEN", Description: "No security"},
{Name: "WPA", Description: "WPA Personal"},
{Name: "WPA2", Description: "WPA2 Personal"},
{Name: "WPA/WPA2", Description: "WPA/WPA2 Personal"},
{Name: "WPAE", Description: "WPA Enterprise"},
{Name: "WPA2E", Description: "WPA2 Enterprise"},
{Name: "WPAE/WPA2E", Description: "WPA/WPA2 Enterprise"},
{Name: "WEP", Description: "Plain WEP"},
{Name: "8021XWEP", Description: "802.1X WEP"},
{Name: "networkservicename", Description: "The name for the new network service"},
{Name: "value", Description: "The MTU value to set, typically an integer representing the maximum packet size"},
{Name: "subtype", Description: "The media subtype to set for the hardware port or device"},
{Name: "name", Description: "The name to assign to the new VLAN"},
{Name: "parentdevice", Description: "The parent device over which the VLAN will be created"},
{Name: "tag", Description: "The VLAN tag to assign to the new VLAN"},
{Name: "device", Description: "The devices to include in the bond. Any number of devices can be specified"},
{Name: "account", Description: "The PPPoE account name"},
{Name: "pppoeName", Description: "Optional name for the PPPoE service"},
{Name: "location", Description: "The name for the new location"},
},
Options: []spec.Option{
{Name: "-listnetworkserviceorder", Description: "Displays a list of all the network services on the server's hardware ports"},
{Name: "-listallhardwareports", Description: "Displays ethernet (or Wi-Fi) address for hardwareport or device specified"},
{Name: "-getcomputername", Description: "Displays the computer name"},
{Name: "-setcomputername", Description: "Sets computer name to <computername>. This name is used by AFP"},
{Name: "-getinfo", Description: "The IP address to set for the network service"},
{Name: "-setdhcp", Description: "Optional DHCP client ID. Use 'Empty' to clear it"},
{Name: "-setbootp", Description: "The IP address to set for the network service"},
{Name: "-getadditionalroutes", Description: "Use this command to turn IPv4 off on the specified <networkservice>"},
{Name: "-setv6off", Description: "Use this command to turn IPv6 off on the specified <networkservice>"},
{Name: "-setv6automatic", Description: "Use this command to set IPv6 to only use link local for <networkservice>"},
{Name: "-setv6manual", Description: "The IPv6 address to assign"},
{Name: "-getv6additionalroutes", Description: "Displays DNS info for <networkservice>"},
{Name: "-setdnsservers", Description: "IP addresses of DNS servers. Use 'empty' to clear all DNS entries"},
{Name: "-getsearchdomains", Description: "Displays Domain Name info for <networkservice>"},
{Name: "-setsearchdomains", Description: "List of search domains. Use 'empty' to clear all existing domains"},
{Name: "-create6to4service", Description: "The name of the new 6 to 4 service to be created"},
{Name: "-set6to4automatic", Description: "The name of the 6 to 4 service to be configured"},
{Name: "-getwebproxy", Description: "Displays Web proxy (server, port, enabled value) info for <networkservice>"},
{Name: "-setwebproxy", Description: "The domain name or IP address of the proxy server"},
{Name: "-setwebproxystate", Description: "Set Web proxy on <networkservice> to either <on> or <off>"},
{Name: "-getsecurewebproxy", Description: "The proxy server's domain or IP address"},
{Name: "-setsecurewebproxystate", Description: "Set Secure Web proxy on <networkservice> to either <on> or <off>"},
{Name: "-getsocksfirewallproxy", Description: "The proxy server's domain or IP address"},
{Name: "-setsocksfirewallproxystate", Description: "Set SOCKS Firewall proxy to either <on> or <off>"},
{Name: "-getproxybypassdomains", Description: "Displays Bypass Domain Names for <networkservice>"},
{Name: "-setproxybypassdomains", Description: "Domains to bypass proxy for. Use 'Empty' to clear all bypass domains"},
{Name: "-getproxyautodiscovery", Description: "Displays Proxy Auto Discover for <networkservice>"},
{Name: "-setproxyautodiscovery", Description: "Set Proxy Auto Discover for <networkservice> to either <on> or <off>"},
{Name: "-setautoproxyurl", Description: "Set proxy auto-config to url for <networkservice> and enable it"},
{Name: "-getautoproxyurl", Description: "Displays proxy auto-config (url, enabled) info for <networkservice>"},
{Name: "-getairportnetwork", Description: "Displays current Wi-Fi Network"},
{Name: "-setairportnetwork", Description: "Set Wi-Fi Network to <network> using optional [password] if specified"},
{Name: "-getairportpower", Description: "Displays whether Wi-Fi power is on or off"},
{Name: "-setairportpower", Description: "Set Wi-Fi power to either <on> or <off>"},
{Name: "-getnetworkserviceenabled", Description: "Displays whether a service is on or off (enabled or disabled)"},
{Name: "-setnetworkserviceenabled", Description: "The name for the new network service"},
{Name: "-renamenetworkservice", Description: "The new name for the network service"},
{Name: "-duplicatenetworkservice", Description: "The new name for the duplicated network service"},
{Name: "-removenetworkservice", Description: "Get the MTU value for hardwareport or device specified"},
{Name: "-setMTU", Description: "Set MTU for hardwareport or device specified"},
},
})
}