mirror of
https://github.com/fumiama/terasu-cloudflared.git
synced 2026-06-05 17:10:24 +08:00
To help support users with environments that don't work well with the DNS local resolver's automatic resolution process for local resolver addresses, we introduce a flag to provide them statically to the runtime. When providing the resolver addresses, cloudflared will no longer lookup the DNS resolver addresses and use the user input directly. When provided with a list of DNS resolvers larger than one, the resolver service will randomly select one at random for each incoming request. Closes TUN-9473
164 lines
7.0 KiB
Go
164 lines
7.0 KiB
Go
package flags
|
|
|
|
const (
|
|
// HaConnections specifies how many connections to make to the edge
|
|
HaConnections = "ha-connections"
|
|
|
|
// SshPort is the port on localhost the cloudflared ssh server will run on
|
|
SshPort = "local-ssh-port"
|
|
|
|
// SshIdleTimeout defines the duration a SSH session can remain idle before being closed
|
|
SshIdleTimeout = "ssh-idle-timeout"
|
|
|
|
// SshMaxTimeout defines the max duration a SSH session can remain open for
|
|
SshMaxTimeout = "ssh-max-timeout"
|
|
|
|
// SshLogUploaderBucketName is the bucket name to use for the SSH log uploader
|
|
SshLogUploaderBucketName = "bucket-name"
|
|
|
|
// SshLogUploaderRegionName is the AWS region name to use for the SSH log uploader
|
|
SshLogUploaderRegionName = "region-name"
|
|
|
|
// SshLogUploaderSecretID is the Secret id of SSH log uploader
|
|
SshLogUploaderSecretID = "secret-id"
|
|
|
|
// SshLogUploaderAccessKeyID is the Access key id of SSH log uploader
|
|
SshLogUploaderAccessKeyID = "access-key-id"
|
|
|
|
// SshLogUploaderSessionTokenID is the Session token of SSH log uploader
|
|
SshLogUploaderSessionTokenID = "session-token"
|
|
|
|
// SshLogUploaderS3URL is the S3 URL of SSH log uploader (e.g. don't use AWS s3 and use google storage bucket instead)
|
|
SshLogUploaderS3URL = "s3-url-host"
|
|
|
|
// HostKeyPath is the path of the dir to save SSH host keys too
|
|
HostKeyPath = "host-key-path"
|
|
|
|
// RpcTimeout is how long to wait for a Capnp RPC request to the edge
|
|
RpcTimeout = "rpc-timeout"
|
|
|
|
// WriteStreamTimeout sets if we should have a timeout when writing data to a stream towards the destination (edge/origin).
|
|
WriteStreamTimeout = "write-stream-timeout"
|
|
|
|
// QuicDisablePathMTUDiscovery sets if QUIC should not perform PTMU discovery and use a smaller (safe) packet size.
|
|
// Packets will then be at most 1252 (IPv4) / 1232 (IPv6) bytes in size.
|
|
// Note that this may result in packet drops for UDP proxying, since we expect being able to send at least 1280 bytes of inner packets.
|
|
QuicDisablePathMTUDiscovery = "quic-disable-pmtu-discovery"
|
|
|
|
// QuicConnLevelFlowControlLimit controls the max flow control limit allocated for a QUIC connection. This controls how much data is the
|
|
// receiver willing to buffer. Once the limit is reached, the sender will send a DATA_BLOCKED frame to indicate it has more data to write,
|
|
// but it's blocked by flow control
|
|
QuicConnLevelFlowControlLimit = "quic-connection-level-flow-control-limit"
|
|
|
|
// QuicStreamLevelFlowControlLimit is similar to quicConnLevelFlowControlLimit but for each QUIC stream. When the sender is blocked,
|
|
// it will send a STREAM_DATA_BLOCKED frame
|
|
QuicStreamLevelFlowControlLimit = "quic-stream-level-flow-control-limit"
|
|
|
|
// Ui is to enable launching cloudflared in interactive UI mode
|
|
Ui = "ui"
|
|
|
|
// ConnectorLabel is the command line flag to give a meaningful label to a specific connector
|
|
ConnectorLabel = "label"
|
|
|
|
// MaxActiveFlows is the command line flag to set the maximum number of flows that cloudflared can be processing at the same time
|
|
MaxActiveFlows = "max-active-flows"
|
|
|
|
// Tag is the command line flag to set custom tags used to identify this tunnel via added HTTP request headers to the origin
|
|
Tag = "tag"
|
|
|
|
// Protocol is the command line flag to set the protocol to use to connect to the Cloudflare Edge
|
|
Protocol = "protocol"
|
|
|
|
// PostQuantum is the command line flag to force the connection to Cloudflare Edge to use Post Quantum cryptography
|
|
PostQuantum = "post-quantum"
|
|
|
|
// Features is the command line flag to opt into various features that are still being developed or tested
|
|
Features = "features"
|
|
|
|
// EdgeIpVersion is the command line flag to set the Cloudflare Edge IP address version to connect with
|
|
EdgeIpVersion = "edge-ip-version"
|
|
|
|
// EdgeBindAddress is the command line flag to bind to IP address for outgoing connections to Cloudflare Edge
|
|
EdgeBindAddress = "edge-bind-address"
|
|
|
|
// Force is the command line flag to specify if you wish to force an action
|
|
Force = "force"
|
|
|
|
// Edge is the command line flag to set the address of the Cloudflare tunnel server. Only works in Cloudflare's internal testing environment
|
|
Edge = "edge"
|
|
|
|
// Region is the command line flag to set the Cloudflare Edge region to connect to
|
|
Region = "region"
|
|
|
|
// IsAutoUpdated is the command line flag to signal the new process that cloudflared has been autoupdated
|
|
IsAutoUpdated = "is-autoupdated"
|
|
|
|
// LBPool is the command line flag to set the name of the load balancing pool to add this origin to
|
|
LBPool = "lb-pool"
|
|
|
|
// Retries is the command line flag to set the maximum number of retries for connection/protocol errors
|
|
Retries = "retries"
|
|
|
|
// MaxEdgeAddrRetries is the command line flag to set the maximum number of times to retry on edge addrs before falling back to a lower protocol
|
|
MaxEdgeAddrRetries = "max-edge-addr-retries"
|
|
|
|
// GracePeriod is the command line flag to set the maximum amount of time that cloudflared waits to shut down if it is still serving requests
|
|
GracePeriod = "grace-period"
|
|
|
|
// ICMPV4Src is the command line flag to set the source address and the interface name to send/receive ICMPv4 messages
|
|
ICMPV4Src = "icmpv4-src"
|
|
|
|
// ICMPV6Src is the command line flag to set the source address and the interface name to send/receive ICMPv6 messages
|
|
ICMPV6Src = "icmpv6-src"
|
|
|
|
// ProxyDns is the command line flag to run DNS server over HTTPS
|
|
ProxyDns = "proxy-dns"
|
|
|
|
// Name is the command line to set the name of the tunnel
|
|
Name = "name"
|
|
|
|
// AutoUpdateFreq is the command line for setting the frequency that cloudflared checks for updates
|
|
AutoUpdateFreq = "autoupdate-freq"
|
|
|
|
// NoAutoUpdate is the command line flag to disable cloudflared from checking for updates
|
|
NoAutoUpdate = "no-autoupdate"
|
|
|
|
// LogLevel is the command line flag for the cloudflared logging level
|
|
LogLevel = "loglevel"
|
|
|
|
// LogLevelSSH is the command line flag for the cloudflared ssh logging level
|
|
LogLevelSSH = "log-level"
|
|
|
|
// TransportLogLevel is the command line flag for the transport logging level
|
|
TransportLogLevel = "transport-loglevel"
|
|
|
|
// LogFile is the command line flag to define the file where application logs will be stored
|
|
LogFile = "logfile"
|
|
|
|
// LogDirectory is the command line flag to define the directory where application logs will be stored.
|
|
LogDirectory = "log-directory"
|
|
|
|
// LogFormatOutput allows the command line logs to be output as JSON.
|
|
LogFormatOutput = "output"
|
|
LogFormatOutputValueDefault = "default"
|
|
LogFormatOutputValueJSON = "json"
|
|
|
|
// TraceOutput is the command line flag to set the name of trace output file
|
|
TraceOutput = "trace-output"
|
|
|
|
// OriginCert is the command line flag to define the path for the origin certificate used by cloudflared
|
|
OriginCert = "origincert"
|
|
|
|
// Metrics is the command line flag to define the address of the metrics server
|
|
Metrics = "metrics"
|
|
|
|
// MetricsUpdateFreq is the command line flag to define how frequently tunnel metrics are updated
|
|
MetricsUpdateFreq = "metrics-update-freq"
|
|
|
|
// ApiURL is the command line flag used to define the base URL of the API
|
|
ApiURL = "api-url"
|
|
|
|
// Virtual DNS resolver service resolver addresses to use instead of dynamically fetching them from the OS.
|
|
VirtualDNSServiceResolverAddresses = "dns-resolver-addrs"
|
|
)
|