{
"name": "cloudflared",
"description": "Cloudflared connects your machine or user identity to Cloudflare's global network",
"subcommands": [
{
"name": "update",
"description": "Update the agent if a new version exists",
"options": [
{
"names": [
"--beta"
],
"description": "Specify if you wish to update to the latest beta version (default: false)"
},
{
"names": [
"--version"
],
"description": "Specify a version you wish to upgrade or downgrade to",
"takes_arg": true,
"arg": {
"name": "value"
}
}
],
"args": [
{
"name": "arguments",
"is_variadic": true
}
]
},
{
"name": "version",
"description": "Print the version",
"args": [
{
"name": "arguments",
"is_variadic": true
}
]
},
{
"name": "proxy-dns",
"description": "Run a DNS over HTTPS proxy server",
"options": [
{
"names": [
"--metrics"
],
"description": "Listen address for metrics reporting. (default: \"localhost:\") [$TUNNEL_METRICS]",
"takes_arg": true,
"arg": {
"name": "value"
}
},
{
"names": [
"--address"
],
"description": "Listen address for the DNS over HTTPS proxy server. (default: \"localhost\") [$TUNNEL_DNS_ADDRESS]",
"takes_arg": true,
"arg": {
"name": "value"
}
},
{
"names": [
"--port"
],
"description": "Listen on given port for the DNS over HTTPS proxy server. (default: 53) [$TUNNEL_DNS_PORT]",
"takes_arg": true,
"arg": {
"name": "value"
}
},
{
"names": [
"--upstream"
],
"description": "Upstream endpoint URL, you can specify multiple endpoints for redundancy. (default: \"https://1.1.1.1/dns-query\", \"https://1.0.0.1/dns-query\") (accepts multiple inputs) [$TUNNEL_DNS_UPSTREAM]",
"takes_arg": true,
"arg": {
"name": "value",
"is_variadic": true
}
},
{
"names": [
"--bootstrap"
],
"description": "Bootstrap endpoint URL, you can specify multiple endpoints for redundancy. (default: \"https://162.159.36.1/dns-query\", \"https://162.159.46.1/dns-query\", \"https://[2606:4700:4700::1111]/dns-query\", \"ht",
"takes_arg": true,
"arg": {
"name": "value",
"is_variadic": true
}
},
{
"names": [
"--max-upstream-conns"
],
"description": "Maximum concurrent connections to upstream. Setting to 0 means unlimited. (default: 5) [$TUNNEL_DNS_MAX_UPSTREAM_CONNS]",
"takes_arg": true,
"arg": {
"name": "value",
"is_variadic": true
}
}
],
"args": [
{
"name": "command options"
}
]
},
{
"name": "service",
"description": "Manages the cloudflared launch agent",
"subcommands": [
{
"name": "install",
"description": "Install cloudflared as an user launch agent"
},
{
"name": "uninstall",
"description": "Uninstall the cloudflared launch agent"
},
{
"name": "help",
"aliases": [
"h"
],
"description": "Shows a list of commands or help for one command"
}
],
"args": [
{
"name": "command options"
},
{
"name": "arguments",
"is_variadic": true
}
]
},
{
"name": "help",
"description": "Shows a list of commands or help for one command"
},
{
"name": "access",
"description": "Cloudflare Access protects internal resources by securing, authenticating and monitoring access per-user and by application. With Cloudflare Access, only authenticated users with the required permissi",
"subcommands": [
{
"name": "login",
"description": "The login subcommand initiates an authentication flow with your identity provider. The subcommand will launch a browser. For headless systems, a url is provided. Once authenticated with your identity ",
"args": [
{
"name": "url"
}
]
},
{
"name": "curl",
"description": "Uninstall the cloudflared launch agent",
"options": [
{
"names": [
"--allow-request",
"--ar"
]
}
],
"args": [
{
"name": "url"
},
{
"name": "curl args",
"is_variadic": true
}
]
},
{
"name": "token",
"description": "The token subcommand produces a JWT which can be used to authenticate requests",
"options": [
{
"names": [
"--app"
],
"takes_arg": true,
"arg": {
"name": "value",
"description": "Url of access application"
},
"is_required": true
}
]
},
{
"name": "tcp",
"description": "The tcp subcommand sends data over a proxy to the Cloudflare edge",
"options": [
{
"names": [
"--hostname",
"--tunnel-host",
"-T"
],
"description": "Specify the hostname of your application",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Hostname"
},
"is_required": true
},
{
"names": [
"--destination"
],
"description": "Specify the destination address of your SSH server",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address of SSH server"
},
"is_required": true
},
{
"names": [
"--url",
"--listener",
"-L"
],
"description": "Specify the host:port to forward data to Cloudflare edge",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Host:port to forward data to Cloudflare edge"
},
"is_required": true
},
{
"names": [
"--service-token-id",
"--id"
],
"description": "Specify an Access service token ID you wish to use. [$TUNNEL_SERVICE_TOKEN_ID]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Access service token ID"
},
"is_required": true
},
{
"names": [
"--service-token-secret",
"--secret"
],
"description": "Specify an Access service token secret you wish to use. [$TUNNEL_SERVICE_TOKEN_SECRET]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Access service token secret"
},
"is_required": true
},
{
"names": [
"--log-directory",
"--logfile"
],
"description": "Save application log to this directory for reporting issues",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Directory",
"template": "folders"
},
"is_required": true
},
{
"names": [
"--log-level",
"--loglevel"
],
"description": "Application logging level {debug, info, warn, error, fatal}",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Directory",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
},
"is_required": true
}
]
},
{
"name": "rdp",
"description": "The rdp subcommand sends data over a proxy to the Cloudflare edge",
"options": [
{
"names": [
"--hostname",
"--tunnel-host",
"-T"
],
"description": "Specify the hostname of your application",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Hostname"
},
"is_required": true
},
{
"names": [
"--destination"
],
"description": "Specify the destination address of your SSH server",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address of SSH server"
},
"is_required": true
},
{
"names": [
"--url",
"--listener",
"-L"
],
"description": "Specify the host:port to forward data to Cloudflare edge",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Host:port to forward data to Cloudflare edge"
},
"is_required": true
},
{
"names": [
"--service-token-id",
"--id"
],
"description": "Specify an Access service token ID you wish to use. [$TUNNEL_SERVICE_TOKEN_ID]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Access service token ID"
},
"is_required": true
},
{
"names": [
"--service-token-secret",
"--secret"
],
"description": "Specify an Access service token secret you wish to use. [$TUNNEL_SERVICE_TOKEN_SECRET]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Access service token secret"
},
"is_required": true
},
{
"names": [
"--log-directory",
"--logfile"
],
"description": "Save application log to this directory for reporting issues",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Directory",
"template": "folders"
},
"is_required": true
},
{
"names": [
"--log-level",
"--loglevel"
],
"description": "Application logging level {debug, info, warn, error, fatal}",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Directory",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
},
"is_required": true
}
]
},
{
"name": "ssh",
"description": "The ssh subcommand sends data over a proxy to the Cloudflare edge",
"options": [
{
"names": [
"--hostname",
"--tunnel-host",
"-T"
],
"description": "Specify the hostname of your application",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Hostname"
},
"is_required": true
},
{
"names": [
"--destination"
],
"description": "Specify the destination address of your SSH server",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address of SSH server"
},
"is_required": true
},
{
"names": [
"--url",
"--listener",
"-L"
],
"description": "Specify the host:port to forward data to Cloudflare edge",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Host:port to forward data to Cloudflare edge"
},
"is_required": true
},
{
"names": [
"--service-token-id",
"--id"
],
"description": "Specify an Access service token ID you wish to use. [$TUNNEL_SERVICE_TOKEN_ID]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Access service token ID"
},
"is_required": true
},
{
"names": [
"--service-token-secret",
"--secret"
],
"description": "Specify an Access service token secret you wish to use. [$TUNNEL_SERVICE_TOKEN_SECRET]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Access service token secret"
},
"is_required": true
},
{
"names": [
"--log-directory",
"--logfile"
],
"description": "Save application log to this directory for reporting issues",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Directory",
"template": "folders"
},
"is_required": true
},
{
"names": [
"--log-level",
"--loglevel"
],
"description": "Application logging level {debug, info, warn, error, fatal}",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Directory",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
},
"is_required": true
}
]
},
{
"name": "smb",
"description": "The smb subcommand sends data over a proxy to the Cloudflare edge",
"options": [
{
"names": [
"--hostname",
"--tunnel-host",
"-T"
],
"description": "Specify the hostname of your application",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Hostname"
},
"is_required": true
},
{
"names": [
"--destination"
],
"description": "Specify the destination address of your SSH server",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address of SSH server"
},
"is_required": true
},
{
"names": [
"--url",
"--listener",
"-L"
],
"description": "Specify the host:port to forward data to Cloudflare edge",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Host:port to forward data to Cloudflare edge"
},
"is_required": true
},
{
"names": [
"--service-token-id",
"--id"
],
"description": "Specify an Access service token ID you wish to use. [$TUNNEL_SERVICE_TOKEN_ID]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Access service token ID"
},
"is_required": true
},
{
"names": [
"--service-token-secret",
"--secret"
],
"description": "Specify an Access service token secret you wish to use. [$TUNNEL_SERVICE_TOKEN_SECRET]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Access service token secret"
},
"is_required": true
},
{
"names": [
"--log-directory",
"--logfile"
],
"description": "Save application log to this directory for reporting issues",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Directory",
"template": "folders"
},
"is_required": true
},
{
"names": [
"--log-level",
"--loglevel"
],
"description": "Application logging level {debug, info, warn, error, fatal}",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Directory",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
},
"is_required": true
}
]
},
{
"name": "ssh-config",
"description": "Prints an example configuration ~/.ssh/config",
"options": [
{
"names": [
"--hostname"
],
"description": "Specify the hostname of your application",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Hostname"
},
"is_required": true
},
{
"names": [
"--short-lived-cert"
],
"description": "Specify if you wish to generate short lived certs. (default: false)"
}
],
"args": [
{
"name": "command options"
},
{
"name": "arguments",
"is_variadic": true
}
]
},
{
"name": "ssh-gen",
"description": "Generates a short lived certificate for given hostname",
"options": [
{
"names": [
"--hostname"
],
"description": "Specify the hostname of your application",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Hostname"
},
"is_required": true
}
],
"args": [
{
"name": "command options"
},
{
"name": "arguments",
"is_variadic": true
}
]
},
{
"name": "help",
"aliases": [
"h"
],
"description": "Shows a list of commands or help for one command"
}
],
"args": [
{
"name": "command options"
},
{
"name": "arguments",
"is_variadic": true
}
]
},
{
"name": "tunnel",
"description": "Use Cloudflare Tunnel to expose private services to the Internet or to Cloudflare connected private users",
"subcommands": [
{
"name": "login",
"description": "Generate a configuration file with your login details"
},
{
"name": "create",
"description": "Creates a tunnel, registers it with Cloudflare edge and generates credential file used to run this tunnel. Use \"cloudflared tunnel route\" subcommand to map a DNS name to this tunnel and \"cloudflared t",
"options": [
{
"names": [
"--config"
],
"description": "Specifies a config file in YAML format. (default: \"/usr/local/etc/cloudflared/config.yml\")",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Config file"
},
"is_required": true
},
{
"names": [
"--origincert"
],
"description": "Path to the certificate generated for your origin when you run cloudflared login. [$TUNNEL_ORIGIN_CERT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Certificate generated"
},
"is_required": true
},
{
"names": [
"--autoupdate-freq"
],
"description": "Autoupdate frequency. Default is 24h0m0s. (default: 24h0m0s)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Frequency"
},
"is_required": true
},
{
"names": [
"--no-autoupdate"
],
"description": "Disable periodic check for updates, restarting the server with the new version. (default: false) [$NO_AUTOUPDATE]"
},
{
"names": [
"--metrics"
],
"description": "Listen address for metrics reporting. (default: \"localhost:\") [$TUNNEL_METRICS]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Adress"
},
"is_required": true
},
{
"names": [
"--pidfile"
],
"description": "Write the application's PID to this file after first successful connection. [$TUNNEL_PIDFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Application PID"
},
"is_required": true
},
{
"names": [
"--loglevel"
],
"description": "Application logging level {debug, info, warn, error, fatal}. At debug level cloudflared will log request URL, method, protocol, content length, as well as, all request and response headers. This can e",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
},
"is_required": true
},
{
"names": [
"--transport-loglevel",
"--proto-loglevel"
],
"description": "Transport logging level(previously called protocol logging level) {debug, info, warn, error, fatal} (default: \"info\") [$TUNNEL_PROTO_LOGLEVEL, $TUNNEL_TRANSPORT_LOGLEVEL]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
},
"is_required": true
},
{
"names": [
"--logfile"
],
"description": "Save application log to this file for reporting issues. [$TUNNEL_LOGFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "File",
"template": "filepaths"
},
"is_required": true
},
{
"names": [
"--log-directory"
],
"description": "Save application log to this directory for reporting issues. [$TUNNEL_LOGDIRECTORY]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Directory",
"template": "folders"
},
"is_required": true
},
{
"names": [
"--trace-output"
],
"description": "Name of trace output file, generated when cloudflared stops. [$TUNNEL_TRACE_OUTPUT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Output file"
},
"is_required": true
},
{
"names": [
"--output",
"-o"
],
"description": "Render output using given FORMAT. Valid options are 'json' or 'yaml'",
"takes_arg": true,
"arg": {
"name": "format",
"description": "Format",
"suggestions": [
"json",
"yaml"
]
}
},
{
"names": [
"--credentials-file",
"--cred-file"
],
"description": "Filepath at which to read/write the tunnel credentials [$TUNNEL_CRED_FILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Filepath",
"template": "filepaths"
}
},
{
"names": [
"--secret",
"-s"
],
"description": "Base64 encoded secret to set for the tunnel. The decoded secret must be at least 32 bytes long. If not specified, a random 32-byte secret will be generated. [$TUNNEL_CREATE_SECRET]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Base 64 encoded secret"
}
}
],
"args": [
{
"name": "name"
}
]
},
{
"name": "route",
"description": "The route command defines how Cloudflare will proxy requests to this tunnel",
"subcommands": [
{
"name": "dns",
"description": "Creates a DNS CNAME record hostname that points to the tunnel",
"options": [
{
"names": [
"--overwrite-dns",
"-f"
],
"description": "Overwrites existing DNS records with this hostname (default: false) [$TUNNEL_FORCE_PROVISIONING_DNS]"
}
],
"args": [
{
"name": "tunnel",
"description": "Tunnel"
},
{
"name": "hostname",
"description": "Hostname"
}
]
},
{
"name": "lb",
"description": "Creates Load Balancer with an origin pool that points to the tunnel",
"args": [
{
"name": "tunnel",
"description": "Tunnel"
},
{
"name": "hostname",
"description": "Hostname"
},
{
"name": "LB-POOL",
"description": "Load balancer pool"
}
]
},
{
"name": "ip",
"description": "Configure and query Cloudflare WARP routing to private IP networks made available through Cloudflare Tunnels",
"subcommands": [
{
"name": "add",
"description": "Add a new network to the routing table reachable via a Tunnel",
"options": [
{
"names": [
"--vnet",
"--vn"
],
"description": "The ID or name of the virtual network to which the route is associated to",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Id or name"
}
}
],
"args": [
{
"name": "command options"
},
{
"name": "arguments",
"is_variadic": true
}
]
},
{
"name": "show",
"aliases": [
"list"
],
"description": "Shows your organization private routing table. You can use flags to filter the results",
"options": [
{
"names": [
"--filter-is-deleted"
],
"description": "If false (default), only show non-deleted routes. If true, only show deleted routes. (default: false)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Id or name"
}
},
{
"names": [
"--filter-tunnel-id"
],
"description": "Show only routes with the given tunnel ID",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Id"
}
},
{
"names": [
"--filter-network-is-subset-of",
"--nsub"
],
"description": "Show only routes whose network is a subset of the given network",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Network"
}
},
{
"names": [
"--filter-network-is-superset-of",
"--nsup"
],
"description": "Show only routes whose network is a superset of the given network",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Network"
}
},
{
"names": [
"--filter-comment-is"
],
"description": "Show only routes with this comment",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Comment"
}
},
{
"names": [
"--filter-vnet-id"
],
"description": "Show only routes that are attached to the given virtual network ID",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Vnet id"
}
},
{
"names": [
"--output",
"-o"
],
"description": "Render output using given FORMAT. Valid options are 'json' or 'yaml'",
"takes_arg": true,
"arg": {
"name": "format",
"description": "Format",
"suggestions": [
"json",
"yaml"
]
}
}
],
"args": [
{
"name": "flags",
"is_variadic": true
}
]
},
{
"name": "delete",
"description": "Delete a row from your organization's private routing table",
"options": [
{
"names": [
"--vnet",
"--vn"
],
"description": "The ID or name of the virtual network to which the route is associated to",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Id or name"
}
}
],
"args": [
{
"name": "flags",
"is_variadic": true
},
{
"name": "CIDR"
}
]
},
{
"name": "get",
"description": "Check which row of the routing table matches a given IP",
"options": [
{
"names": [
"--vnet",
"--vn"
],
"description": "The ID or name of the virtual network to which the route is associated to",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Id or name"
}
}
],
"args": [
{
"name": "flags",
"is_variadic": true
},
{
"name": "IP"
}
]
}
]
}
],
"args": [
{
"name": "command options"
},
{
"name": "arguments",
"is_variadic": true
}
]
},
{
"name": "vnet",
"description": "Configure and query virtual networks to manage private IP routes with overlapping IPs",
"subcommands": [
{
"name": "add",
"description": "Add a new virtual network to which IP routes can be attached",
"options": [
{
"names": [
"--default",
"-d"
],
"description": "The virtual network becomes the default one for the account. This means that all operations that omit a virtual network will now implicitly be using this virtual network (i.e., the default one) such a"
}
]
},
{
"name": "list",
"description": "Lists the virtual networks based on the given filter flags",
"options": [
{
"names": [
"--id"
],
"description": "List virtual networks with the given ID",
"takes_arg": true,
"arg": {
"name": "ID",
"description": "Id"
}
},
{
"names": [
"--name"
],
"description": "List virtual networks with the given NAME",
"takes_arg": true,
"arg": {
"name": "NAME",
"description": "Name"
}
},
{
"names": [
"--is-default"
],
"description": "If true, lists the virtual network that is the default one. If false, lists all non-default virtual networks for the account. If absent, all are included in the results regardless of their default sta"
},
{
"names": [
"--show-deleted"
],
"description": "If false (default), only show non-deleted virtual networks. If true, only show deleted virtual networks. (default: false)"
},
{
"names": [
"--output",
"-o"
],
"description": "Render output using given FORMAT. Valid options are 'json' or 'yaml'",
"takes_arg": true,
"arg": {
"name": "format",
"description": "Format",
"suggestions": [
"json",
"yaml"
]
}
}
]
},
{
"name": "delete",
"description": "Delete a virtual network"
},
{
"name": "update",
"description": "Update a virtual network",
"options": [
{
"names": [
"--name",
"-n"
],
"description": "The new name for the virtual network",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Name"
}
},
{
"names": [
"--comment",
"-c"
],
"description": "A new comment describing the purpose of the virtual network",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Comment"
}
},
{
"names": [
"--default",
"-d"
],
"description": "The virtual network becomes the default one for the account. This means that all operations that omit a virtual network will now implicitly be using this virtual network (i.e., the default one) such a"
}
]
}
],
"args": [
{
"name": "command options"
},
{
"name": "arguments",
"is_variadic": true
}
]
},
{
"name": "run",
"description": "Proxy a local web server by running the given tunnel",
"options": [
{
"names": [
"--config"
],
"description": "Specifies a config file in YAML format. (default: \"/usr/local/etc/cloudflared/config.yml\")",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Config file in YAML"
}
},
{
"names": [
"--origincert"
],
"description": "Path to the certificate generated for your origin when you run cloudflared login. [$TUNNEL_ORIGIN_CERT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Path to the certificate",
"template": "filepaths"
}
},
{
"names": [
"--autoupdate-freq"
],
"description": "Autoupdate frequency. Default is 24h0m0s. (default: 24h0m0s)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Autoupdate frequency"
}
},
{
"names": [
"--no-autoupdate"
],
"description": "Disable periodic check for updates, restarting the server with the new version. (default: false) [$NO_AUTOUPDATE]"
},
{
"names": [
"--metrics"
],
"description": "Listen address for metrics reporting. (default: \"localhost:\") [$TUNNEL_METRICS]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Listen address"
}
},
{
"names": [
"--pidfile"
],
"description": "Write the application's PID to this file after first successful connection. [$TUNNEL_PIDFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Application's PID"
}
},
{
"names": [
"--loglevel"
],
"description": "Application logging level {debug, info, warn, error, fatal}. At debug level cloudflared will log request URL, method, protocol, content length, as well as, all request and response headers. This can e",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--transport-loglevel",
"--proto-loglevel"
],
"description": "Transport logging level(previously called protocol logging level) {debug, info, warn, error, fatal} (default: \"info\") [$TUNNEL_PROTO_LOGLEVEL, $TUNNEL_TRANSPORT_LOGLEVEL]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--logfile"
],
"description": "Save application log to this file for reporting issues. [$TUNNEL_LOGFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"--log-directory"
],
"description": "Save application log to this directory for reporting issues. [$TUNNEL_LOGDIRECTORY]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"--trace-output"
],
"description": "Name of trace output file, generated when cloudflared stops. [$TUNNEL_TRACE_OUTPUT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"--force",
"-f"
],
"description": "By default, if a tunnel is currently being run from a cloudflared, you can't simultaneously rerun it again from a second cloudflared. The --force flag lets you overwrite the previous tunnel. If you wa"
},
{
"names": [
"--credentials-file",
"--cred-file"
],
"description": "Filepath at which to read/write the tunnel credentials [$TUNNEL_CRED_FILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Filepath",
"template": "filepaths"
}
},
{
"names": [
"--credentials-contents"
],
"description": "Contents of the tunnel credentials JSON file to use. When provided along with credentials-file, this will take precedence. [$TUNNEL_CRED_CONTENTS]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Contents of the tunnel credentials JSON"
}
},
{
"names": [
"--features",
"-F"
],
"description": "Opt into various features that are still being developed or tested. (accepts multiple inputs)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Features"
}
},
{
"names": [
"--token"
],
"description": "The Tunnel token. When provided along with credentials, this will take precedence. [$TUNNEL_TOKEN]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Tunnel token"
}
},
{
"names": [
"--url"
],
"description": "Connect to the local webserver at URL. (default: \"http://localhost:8080\") [$TUNNEL_URL]",
"takes_arg": true,
"arg": {
"name": "URL",
"description": "Url"
}
},
{
"names": [
"--hello-world"
],
"description": "Run Hello World Server (default: false) [$TUNNEL_HELLO_WORLD]"
},
{
"names": [
"--socks5"
],
"description": "Specify if this tunnel is running as a SOCK5 Server This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rule"
},
{
"names": [
"--proxy-connect-timeout"
],
"description": "HTTP proxy timeout for establishing a new connection This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rul"
},
{
"names": [
"--proxy-tls-timeout"
],
"description": "HTTP proxy timeout for completing a TLS handshake This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rules "
},
{
"names": [
"--proxy-tcp-keepalive"
],
"description": "HTTP proxy TCP keepalive duration This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rules and define this "
},
{
"names": [
"--proxy-no-happy-eyeballs"
],
"description": "HTTP proxy should disable \"happy eyeballs\" for IPv4/v6 fallback This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on "
},
{
"names": [
"--proxy-keepalive-connections"
],
"description": "HTTP proxy maximum keepalive connection pool size This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rules "
},
{
"names": [
"--proxy-keepalive-timeout"
],
"description": "HTTP proxy timeout for closing an idle connection This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rules "
},
{
"names": [
"--proxy-connection-timeout"
],
"description": "DEPRECATED. No longer has any effect. (default: 1m30s)"
},
{
"names": [
"--proxy-expect-continue-timeout"
],
"description": "DEPRECATED. No longer has any effect. (default: 1m30s)"
},
{
"names": [
"--http-host-header"
],
"description": "Sets the HTTP Host header for the local webserver. This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rules"
},
{
"names": [
"--origin-server-name"
],
"description": "Hostname on the origin server certificate. This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rules and def"
},
{
"names": [
"--unix-socket"
],
"description": "Path to unix socket to use instead of --url [$TUNNEL_UNIX_SOCKET]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Unix socket path",
"template": "filepaths"
}
},
{
"names": [
"--origin-ca-pool"
],
"description": "Path to the CA for the certificate of your origin. This option should be used only if your certificate is not signed by Cloudflare. This flag only takes effect if you define your origin with --url and"
},
{
"names": [
"--no-tls-verify"
],
"description": "Disables TLS verification of the certificate presented by your origin. Will allow any certificate from the origin to be accepted. Note: The connection from your machine to Cloudflare's Edge is still e"
},
{
"names": [
"--no-chunked-encoding"
],
"description": "Disables chunked transfer encoding; useful if you are running a WSGI server. This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way i"
},
{
"names": [
"--bastion"
],
"description": "Runs as jump host (default: false) [$TUNNEL_BASTION]"
},
{
"names": [
"--proxy-address"
],
"description": "Listen address for the proxy. (default: \"127.0.0.1\") [$TUNNEL_PROXY_ADDRESS]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address"
}
},
{
"names": [
"--proxy-port"
],
"description": "Listen port for the proxy. (default: 0) [$TUNNEL_PROXY_PORT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address"
}
}
]
},
{
"name": "list",
"description": "Cloudflared tunnel list will display all active tunnels, their created time and associated connections",
"options": [
{
"names": [
"--config"
],
"description": "Specifies a config file in YAML format. (default: \"/usr/local/etc/cloudflared/config.yml\")",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Config file"
}
},
{
"names": [
"--origincert"
],
"description": "Path to the certificate generated for your origin when you run cloudflared login. [$TUNNEL_ORIGIN_CERT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Certificate path",
"template": "filepaths"
}
},
{
"names": [
"--autoupdate-freq"
],
"description": "Autoupdate frequency. Default is 24h0m0s. (default: 24h0m0s)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Frequency"
}
},
{
"names": [
"--no-autoupdate"
],
"description": "Disable periodic check for updates, restarting the server with the new version. (default: false) [$NO_AUTOUPDATE]"
},
{
"names": [
"--metrics"
],
"description": "Listen address for metrics reporting. (default: \"localhost:\") [$TUNNEL_METRICS]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address"
}
},
{
"names": [
"--pidfile"
],
"description": "Write the application's PID to this file after first successful connection. [$TUNNEL_PIDFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "PID"
}
},
{
"names": [
"--loglevel"
],
"description": "Application logging level { value: debug, info, warn, error, fatal}. At debug level cloudflared will log request URL, method, protocol, content length, as well as, all request and response headers. Th",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--transport-loglevel",
"--proto-loglevel"
],
"description": "Transport logging level(previously called protocol logging level) { value: debug, info, warn, error, fatal} (default: \"info\") [$TUNNEL_PROTO_LOGLEVEL, $TUNNEL_TRANSPORT_LOGLEVEL]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--logfile"
],
"description": "Save application log to this file for reporting issues. [$TUNNEL_LOGFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"--log-directory"
],
"description": "Save application log to this directory for reporting issues. [$TUNNEL_LOGDIRECTORY]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Folder",
"template": "folders"
}
},
{
"names": [
"--trace-output"
],
"description": "Name of trace output file, generated when cloudflared stops. [$TUNNEL_TRACE_OUTPUT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Name"
}
},
{
"names": [
"--output",
"-o"
],
"description": "Render output using given FORMAT. Valid options are 'json' or 'yaml'",
"takes_arg": true,
"arg": {
"name": "FORMAT",
"description": "Format",
"suggestions": [
"json",
"yaml"
]
}
},
{
"names": [
"--show-deleted",
"-d"
],
"description": "Include deleted tunnels in the list (default: false)"
},
{
"names": [
"--name",
"-n"
],
"description": "List tunnels with the given NAME",
"takes_arg": true,
"arg": {
"name": "NAME",
"description": "Name"
}
},
{
"names": [
"--name-prefix",
"--np"
],
"description": "List tunnels that start with the give NAME prefix",
"takes_arg": true,
"arg": {
"name": "NAME",
"description": "Name prefix"
}
},
{
"names": [
"--exclude-name-prefix",
"--enp"
],
"description": "List tunnels whose NAME does not start with the given prefix",
"takes_arg": true,
"arg": {
"name": "NAME",
"description": "Prefix"
}
},
{
"names": [
"--when",
"-w"
],
"description": "List tunnels that are active at the given TIME in RFC3339 format (default: current time, 2022-04-07T20:03:58+01:00)",
"takes_arg": true,
"arg": {
"name": "TIME",
"description": "Time in RFC3339 format"
}
},
{
"names": [
"--id",
"-i"
],
"description": "List tunnel by ID",
"takes_arg": true,
"arg": {
"name": "ID",
"description": "Id"
}
},
{
"names": [
"--show-recently-disconnected",
"--rd"
],
"description": "Include connections that have recently disconnected in the list (default: false)"
},
{
"names": [
"--sort-by"
],
"description": "Sorts the list of tunnels by the given field. Valid options are { value: name, id, createdAt, deletedAt, numConnections} (default: \"name\") [$TUNNEL_LIST_SORT_BY]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Field",
"suggestions": [
"name",
"id",
"createdAt",
"deletedAt",
"numConnections"
]
}
},
{
"names": [
"--invert-sort"
],
"description": "Inverts the sort order of the tunnel list. (default: false) [$TUNNEL_LIST_INVERT_SORT]"
}
]
},
{
"name": "info",
"description": "Cloudflared tunnel info displays details about the active connectors for a given tunnel (identified by name or uuid)",
"options": [
{
"names": [
"--config"
],
"description": "Specifies a config file in YAML format. (default: \"/usr/local/etc/cloudflared/config.yml\")",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Config file"
}
},
{
"names": [
"--origincert"
],
"description": "Path to the certificate generated for your origin when you run cloudflared login. [$TUNNEL_ORIGIN_CERT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Certificate path",
"template": "filepaths"
}
},
{
"names": [
"--autoupdate-freq"
],
"description": "Autoupdate frequency. Default is 24h0m0s. (default: 24h0m0s)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Frequency"
}
},
{
"names": [
"--no-autoupdate"
],
"description": "Disable periodic check for updates, restarting the server with the new version. (default: false) [$NO_AUTOUPDATE]"
},
{
"names": [
"--metrics"
],
"description": "Listen address for metrics reporting. (default: \"localhost:\") [$TUNNEL_METRICS]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address"
}
},
{
"names": [
"--pidfile"
],
"description": "Write the application's PID to this file after first successful connection. [$TUNNEL_PIDFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "PID"
}
},
{
"names": [
"--loglevel"
],
"description": "Application logging level { value: debug, info, warn, error, fatal}. At debug level cloudflared will log request URL, method, protocol, content length, as well as, all request and response headers. Th",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--transport-loglevel",
"--proto-loglevel"
],
"description": "Transport logging level(previously called protocol logging level) { value: debug, info, warn, error, fatal} (default: \"info\") [$TUNNEL_PROTO_LOGLEVEL, $TUNNEL_TRANSPORT_LOGLEVEL]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--logfile"
],
"description": "Save application log to this file for reporting issues. [$TUNNEL_LOGFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"--log-directory"
],
"description": "Save application log to this directory for reporting issues. [$TUNNEL_LOGDIRECTORY]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Folder",
"template": "folders"
}
},
{
"names": [
"--trace-output"
],
"description": "Name of trace output file, generated when cloudflared stops. [$TUNNEL_TRACE_OUTPUT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Name"
}
},
{
"names": [
"--output",
"-o"
],
"description": "Render output using given FORMAT. Valid options are 'json' or 'yaml'",
"takes_arg": true,
"arg": {
"name": "FORMAT",
"description": "Format",
"suggestions": [
"json",
"yaml"
]
}
},
{
"names": [
"--show-recently-disconnected",
"--rd"
],
"description": "Include connections that have recently disconnected in the list (default: false)"
},
{
"names": [
"--sort-by"
],
"description": "Sorts the list of tunnels by the given field. Valid options are { value: name, id, createdAt, deletedAt, numConnections} (default: \"name\") [$TUNNEL_LIST_SORT_BY]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Field",
"suggestions": [
"name",
"id",
"createdAt",
"deletedAt",
"numConnections"
]
}
},
{
"names": [
"--invert-sort"
],
"description": "Inverts the sort order of the tunnel list. (default: false) [$TUNNEL_LIST_INVERT_SORT]"
}
]
},
{
"name": "delete",
"description": "Cloudflared tunnel delete will delete tunnels with the given tunnel UUIDs or names. A tunnel cannot be deleted if it has active connections. To delete the tunnel unconditionally, use -f flag",
"options": [
{
"names": [
"--config"
],
"description": "Specifies a config file in YAML format. (default: \"/usr/local/etc/cloudflared/config.yml\")",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Config file"
}
},
{
"names": [
"--origincert"
],
"description": "Path to the certificate generated for your origin when you run cloudflared login. [$TUNNEL_ORIGIN_CERT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Certificate path",
"template": "filepaths"
}
},
{
"names": [
"--autoupdate-freq"
],
"description": "Autoupdate frequency. Default is 24h0m0s. (default: 24h0m0s)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Frequency"
}
},
{
"names": [
"--no-autoupdate"
],
"description": "Disable periodic check for updates, restarting the server with the new version. (default: false) [$NO_AUTOUPDATE]"
},
{
"names": [
"--metrics"
],
"description": "Listen address for metrics reporting. (default: \"localhost:\") [$TUNNEL_METRICS]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address"
}
},
{
"names": [
"--pidfile"
],
"description": "Write the application's PID to this file after first successful connection. [$TUNNEL_PIDFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "PID"
}
},
{
"names": [
"--loglevel"
],
"description": "Application logging level { value: debug, info, warn, error, fatal}. At debug level cloudflared will log request URL, method, protocol, content length, as well as, all request and response headers. Th",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--transport-loglevel",
"--proto-loglevel"
],
"description": "Transport logging level(previously called protocol logging level) { value: debug, info, warn, error, fatal} (default: \"info\") [$TUNNEL_PROTO_LOGLEVEL, $TUNNEL_TRANSPORT_LOGLEVEL]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--logfile"
],
"description": "Save application log to this file for reporting issues. [$TUNNEL_LOGFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"--log-directory"
],
"description": "Save application log to this directory for reporting issues. [$TUNNEL_LOGDIRECTORY]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Folder",
"template": "folders"
}
},
{
"names": [
"--trace-output"
],
"description": "Name of trace output file, generated when cloudflared stops. [$TUNNEL_TRACE_OUTPUT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Name"
}
},
{
"names": [
"--credentials-file",
"--cred-file"
],
"description": "Filepath at which to read/write the tunnel credentials [$TUNNEL_CRED_FILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Path",
"template": "filepaths"
}
},
{
"names": [
"--force",
"-f"
],
"description": "Cleans up any stale connections before the tunnel is deleted. cloudflared will not delete a tunnel with connections without this flag. (default: false) [$TUNNEL_RUN_FORCE_OVERWRITE]"
}
],
"args": [
{
"name": "TUNNEL",
"description": "Tunnel"
}
]
},
{
"name": "cleanup",
"description": "Delete connections for tunnels with the given UUIDs or names",
"options": [
{
"names": [
"--config"
],
"description": "Specifies a config file in YAML format. (default: \"/usr/local/etc/cloudflared/config.yml\")",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Config file"
}
},
{
"names": [
"--origincert"
],
"description": "Path to the certificate generated for your origin when you run cloudflared login. [$TUNNEL_ORIGIN_CERT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Certificate path",
"template": "filepaths"
}
},
{
"names": [
"--autoupdate-freq"
],
"description": "Autoupdate frequency. Default is 24h0m0s. (default: 24h0m0s)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Frequency"
}
},
{
"names": [
"--no-autoupdate"
],
"description": "Disable periodic check for updates, restarting the server with the new version. (default: false) [$NO_AUTOUPDATE]"
},
{
"names": [
"--metrics"
],
"description": "Listen address for metrics reporting. (default: \"localhost:\") [$TUNNEL_METRICS]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address"
}
},
{
"names": [
"--pidfile"
],
"description": "Write the application's PID to this file after first successful connection. [$TUNNEL_PIDFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "PID"
}
},
{
"names": [
"--loglevel"
],
"description": "Application logging level { value: debug, info, warn, error, fatal}. At debug level cloudflared will log request URL, method, protocol, content length, as well as, all request and response headers. Th",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--transport-loglevel",
"--proto-loglevel"
],
"description": "Transport logging level(previously called protocol logging level) { value: debug, info, warn, error, fatal} (default: \"info\") [$TUNNEL_PROTO_LOGLEVEL, $TUNNEL_TRANSPORT_LOGLEVEL]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--logfile"
],
"description": "Save application log to this file for reporting issues. [$TUNNEL_LOGFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"--log-directory"
],
"description": "Save application log to this directory for reporting issues. [$TUNNEL_LOGDIRECTORY]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Folder",
"template": "folders"
}
},
{
"names": [
"--trace-output"
],
"description": "Name of trace output file, generated when cloudflared stops. [$TUNNEL_TRACE_OUTPUT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Name"
}
},
{
"names": [
"--credentials-file",
"--cred-file"
],
"description": "Filepath at which to read/write the tunnel credentials [$TUNNEL_CRED_FILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Path",
"template": "filepaths"
}
},
{
"names": [
"--force",
"-f"
],
"description": "Cleans up any stale connections before the tunnel is deleted. cloudflared will not delete a tunnel with connections without this flag. (default: false) [$TUNNEL_RUN_FORCE_OVERWRITE]"
}
],
"args": [
{
"name": "TUNNEL",
"description": "Tunnel"
}
]
},
{
"name": "token",
"description": "Fetch the credentials token for an existing tunnel (by name or UUID) that allows to run it",
"options": [
{
"names": [
"--config"
],
"description": "Specifies a config file in YAML format. (default: \"/usr/local/etc/cloudflared/config.yml\")",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Config file"
}
},
{
"names": [
"--origincert"
],
"description": "Path to the certificate generated for your origin when you run cloudflared login. [$TUNNEL_ORIGIN_CERT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Certificate path",
"template": "filepaths"
}
},
{
"names": [
"--autoupdate-freq"
],
"description": "Autoupdate frequency. Default is 24h0m0s. (default: 24h0m0s)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Frequency"
}
},
{
"names": [
"--no-autoupdate"
],
"description": "Disable periodic check for updates, restarting the server with the new version. (default: false) [$NO_AUTOUPDATE]"
},
{
"names": [
"--metrics"
],
"description": "Listen address for metrics reporting. (default: \"localhost:\") [$TUNNEL_METRICS]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address"
}
},
{
"names": [
"--pidfile"
],
"description": "Write the application's PID to this file after first successful connection. [$TUNNEL_PIDFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "PID"
}
},
{
"names": [
"--loglevel"
],
"description": "Application logging level { value: debug, info, warn, error, fatal}. At debug level cloudflared will log request URL, method, protocol, content length, as well as, all request and response headers. Th",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--transport-loglevel",
"--proto-loglevel"
],
"description": "Transport logging level(previously called protocol logging level) { value: debug, info, warn, error, fatal} (default: \"info\") [$TUNNEL_PROTO_LOGLEVEL, $TUNNEL_TRANSPORT_LOGLEVEL]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--logfile"
],
"description": "Save application log to this file for reporting issues. [$TUNNEL_LOGFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"--log-directory"
],
"description": "Save application log to this directory for reporting issues. [$TUNNEL_LOGDIRECTORY]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Folder",
"template": "folders"
}
},
{
"names": [
"--trace-output"
],
"description": "Name of trace output file, generated when cloudflared stops. [$TUNNEL_TRACE_OUTPUT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Name"
}
},
{
"names": [
"--credentials-file",
"--cred-file"
],
"description": "Filepath at which to read/write the tunnel credentials [$TUNNEL_CRED_FILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Path",
"template": "filepaths"
}
},
{
"names": [
"--force",
"-f"
],
"description": "Cleans up any stale connections before the tunnel is deleted. cloudflared will not delete a tunnel with connections without this flag. (default: false) [$TUNNEL_RUN_FORCE_OVERWRITE]"
}
],
"args": [
{
"name": "TUNNEL",
"description": "Tunnel"
}
]
},
{
"name": "help",
"aliases": [
"h"
],
"description": "Shows a list of commands or help for one command"
}
],
"options": [
{
"names": [
"--config"
],
"description": "Specifies a config file in YAML format. (default: \"/usr/local/etc/cloudflared/config.yml\")",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Config file"
}
},
{
"names": [
"--origincert"
],
"description": "Path to the certificate generated for your origin when you run cloudflared login. [$TUNNEL_ORIGIN_CERT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Certificate path",
"template": "filepaths"
}
},
{
"names": [
"--autoupdate-freq"
],
"description": "Autoupdate frequency. Default is 24h0m0s. (default: 24h0m0s)",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Frequency"
}
},
{
"names": [
"--no-autoupdate"
],
"description": "Disable periodic check for updates, restarting the server with the new version. (default: false) [$NO_AUTOUPDATE]"
},
{
"names": [
"--metrics"
],
"description": "Listen address for metrics reporting. (default: \"localhost:\") [$TUNNEL_METRICS]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address"
}
},
{
"names": [
"--pidfile"
],
"description": "Write the application's PID to this file after first successful connection. [$TUNNEL_PIDFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "PID"
}
},
{
"names": [
"--url"
],
"description": "Connect to the local webserver at URL. (default: \"http://localhost:8080\") [$TUNNEL_URL]",
"takes_arg": true,
"arg": {
"name": "URL",
"description": "Url"
}
},
{
"names": [
"--hello-world"
],
"description": "Run Hello World Server (default: false) [$TUNNEL_HELLO_WORLD]"
},
{
"names": [
"--socks5"
],
"description": "Specify if this tunnel is running as a SOCK5 Server This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rule"
},
{
"names": [
"--proxy-connect-timeout"
],
"description": "HTTP proxy timeout for establishing a new connection This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rul"
},
{
"names": [
"--proxy-tls-timeout"
],
"description": "HTTP proxy timeout for completing a TLS handshake This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rules "
},
{
"names": [
"--proxy-tcp-keepalive"
],
"description": "HTTP proxy TCP keepalive duration This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rules and define this "
},
{
"names": [
"--proxy-no-happy-eyeballs"
],
"description": "HTTP proxy should disable \"happy eyeballs\" for IPv4/v6 fallback This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on "
},
{
"names": [
"--proxy-keepalive-connections"
],
"description": "HTTP proxy maximum keepalive connection pool size This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rules "
},
{
"names": [
"--proxy-keepalive-timeout"
],
"description": "HTTP proxy timeout for closing an idle connection This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rules "
},
{
"names": [
"--proxy-connection-timeout"
],
"description": "DEPRECATED. No longer has any effect. (default: 1m30s)"
},
{
"names": [
"--proxy-expect-continue-timeout"
],
"description": "DEPRECATED. No longer has any effect. (default: 1m30s)"
},
{
"names": [
"--http-host-header"
],
"description": "Sets the HTTP Host header for the local webserver. This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rules"
},
{
"names": [
"--origin-server-name"
],
"description": "Hostname on the origin server certificate. This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way is to rely on ingress rules and def"
},
{
"names": [
"--unix-socket"
],
"description": "Path to unix socket to use instead of --url [$TUNNEL_UNIX_SOCKET]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Unix socket",
"template": "filepaths"
}
},
{
"names": [
"--origin-ca-pool"
],
"description": "Path to the CA for the certificate of your origin. This option should be used only if your certificate is not signed by Cloudflare. This flag only takes effect if you define your origin with --url and"
},
{
"names": [
"--no-tls-verify"
],
"description": "Disables TLS verification of the certificate presented by your origin. Will allow any certificate from the origin to be accepted. Note: The connection from your machine to Cloudflare's Edge is still e"
},
{
"names": [
"--no-chunked-encoding"
],
"description": "Disables chunked transfer encoding; useful if you are running a WSGI server. This flag only takes effect if you define your origin with --url and if you do not use ingress rules. The recommended way i"
},
{
"names": [
"--bastion"
],
"description": "Runs as jump host (default: false) [$TUNNEL_BASTION]"
},
{
"names": [
"--proxy-address"
],
"description": "Listen address for the proxy. (default: \"127.0.0.1\") [$TUNNEL_PROXY_ADDRESS]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address"
}
},
{
"names": [
"--proxy-port"
],
"description": "Listen port for the proxy. (default: 0) [$TUNNEL_PROXY_PORT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Address"
}
},
{
"names": [
"--loglevel"
],
"description": "Application logging level { value: debug, info, warn, error, fatal}. At debug level cloudflared will log request URL, method, protocol, content length, as well as, all request and response headers. Th",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--transport-loglevel",
"--proto-loglevel"
],
"description": "Transport logging level(previously called protocol logging level) { value: debug, info, warn, error, fatal} (default: \"info\") [$TUNNEL_PROTO_LOGLEVEL, $TUNNEL_TRANSPORT_LOGLEVEL]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Logging level",
"suggestions": [
"debug",
"info",
"warn",
"error",
"fatal"
]
}
},
{
"names": [
"--logfile"
],
"description": "Save application log to this file for reporting issues. [$TUNNEL_LOGFILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "File",
"template": "filepaths"
}
},
{
"names": [
"--log-directory"
],
"description": "Save application log to this directory for reporting issues. [$TUNNEL_LOGDIRECTORY]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Folder",
"template": "folders"
}
},
{
"names": [
"--trace-output"
],
"description": "Name of trace output file, generated when cloudflared stops. [$TUNNEL_TRACE_OUTPUT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Name"
}
},
{
"names": [
"--proxy-dns"
],
"description": "Run a DNS over HTTPS proxy server. (default: false) [$TUNNEL_DNS]"
},
{
"names": [
"--proxy-dns-port"
],
"description": "Listen on given port for the DNS over HTTPS proxy server. (default: 53) [$TUNNEL_DNS_PORT]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Port"
}
},
{
"names": [
"--proxy-dns-address"
],
"description": "Listen address for the DNS over HTTPS proxy server. (default: \"localhost\") [$TUNNEL_DNS_ADDRESS]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Listen address"
}
},
{
"names": [
"--proxy-dns-upstream"
],
"description": "Upstream endpoint URL, you can specify multiple endpoints for redundancy. (default: \"https://1.1.1.1/dns-query\", \"https://1.0.0.1/dns-query\") (accepts multiple inputs) [$TUNNEL_DNS_UPSTREAM]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Upstream endpoint",
"is_variadic": true
}
},
{
"names": [
"--proxy-dns-max-upstream-conns"
],
"description": "Maximum concurrent connections to upstream. Setting to 0 means unlimited. (default: 5) [$TUNNEL_DNS_MAX_UPSTREAM_CONNS]",
"takes_arg": true,
"arg": {
"name": "URL",
"description": "Max concurrent connections"
}
},
{
"names": [
"--proxy-dns-bootstrap"
],
"description": "Bootstrap endpoint URL, you can specify multiple endpoints for redundancy. (default: \"https://162.159.36.1/dns-query\", \"https://162.159.46.1/dns-query\", \"https://[2606:4700:4700::1111]/dns-query\", \"ht",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Bootstrap endpoint",
"is_variadic": true
}
},
{
"names": [
"--credentials-file",
"--cred-file"
],
"description": "Filepath at which to read/write the tunnel credentials [$TUNNEL_CRED_FILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Path",
"template": "filepaths"
}
},
{
"names": [
"--region"
],
"description": "Cloudflare Edge region to connect to. Omit or set to empty to connect to the global region. [$TUNNEL_REGION]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Region"
}
},
{
"names": [
"--hostname"
],
"description": "Set a hostname on a Cloudflare zone to route traffic through this tunnel. [$TUNNEL_HOSTNAME]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Hostname"
}
},
{
"names": [
"--lb-pool"
],
"description": "The name of a (new/existing) load balancing pool to add this origin to. [$TUNNEL_LB_POOL]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Pool name"
}
},
{
"names": [
"--metrics-update-freq"
],
"description": "Frequency to update tunnel metrics (default: 5s) [$TUNNEL_METRICS_UPDATE_FREQ]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Frequency"
}
},
{
"names": [
"--tag"
],
"description": "Custom tags used to identify this tunnel, in format KEY=VALUE. Multiple tags may be specified (accepts multiple inputs) [$TUNNEL_TAG]",
"takes_arg": true,
"arg": {
"name": "KEY",
"description": "Tag",
"is_variadic": true
}
},
{
"names": [
"--retries"
],
"description": "Maximum number of retries for connection/protocol errors. (default: 5) [$TUNNEL_RETRIES]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Max retries"
}
},
{
"names": [
"--grace-period"
],
"description": "When cloudflared receives SIGINT/SIGTERM it will stop accepting new requests, wait for in-progress requests to terminate, then shutdown. Waiting for in-progress requests will timeout after this grace ",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Time (s)"
}
},
{
"names": [
"--compression-quality"
],
"description": "(beta) Use cross-stream compression instead HTTP compression. 0-off, 1-low, 2-medium, >=3-high. (default: 0) [$TUNNEL_COMPRESSION_LEVEL]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Compression quality",
"suggestions": [
"0",
"1",
"3"
]
}
},
{
"names": [
"--name",
"-n"
],
"description": "Stable name to identify the tunnel. Using this flag will create, route and run a tunnel. For production usage, execute each command separately [$TUNNEL_NAME]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Name"
}
},
{
"names": [
"--ui"
],
"description": "Launch tunnel UI. Tunnel logs are scrollable via 'j', 'k', or arrow keys. (default: false)"
},
{
"names": [
"--overwrite-dns",
"-f"
],
"description": "Overwrites existing DNS records with this hostname (default: false) [$TUNNEL_FORCE_PROVISIONING_DNS]"
}
],
"args": [
{
"name": "command options"
}
]
}
],
"options": [
{
"names": [
"--credentials-file",
"--cred-file"
],
"description": "Filepath at which to read/write the tunnel credentials [$TUNNEL_CRED_FILE]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Credentials path",
"template": "filepaths"
}
},
{
"names": [
"--region"
],
"description": "Cloudflare Edge region to connect to. Omit or set to empty to connect to the global region. [$TUNNEL_REGION]",
"takes_arg": true,
"arg": {
"name": "value",
"description": "Region"
}
},
{
"names": [
"--overwrite-dns",
"-f"
],
"description": "Overwrites existing DNS records with this hostname (default: false) [$TUNNEL_FORCE_PROVISIONING_DNS]"
},
{
"names": [
"--help",
"-h"
],
"description": "Show help for cloudflared"
}
]
}