Skip to content

Edge Startup Parameters Reference ​

Complete command-line parameter list for edge server start


📋 Overview ​

Edge server is started and configured via command-line parameters. CLI parameters have the highest priority, overriding YAML config files and Captain-injected startup config.

Configuration Priority ​

CLI Parameters (highest) > Startup Config Injection > YAML Config File > Defaults (lowest)

Basic Usage ​

bash
# Start in foreground
./edge server start --config config.yaml

# Start in daemon mode
./edge server start --config config.yaml --daemon

# Specify public address
./edge server start --config config.yaml --public 203.0.113.1

Parameter List ​

Process & Paths ​

ParameterShortDefaultDescription
--config-c~/.yat/config.ymlConfig file path
--daemon-dfalseRun in daemon mode
--pid-file~/.edge/RUNNINGPID file path
--sock-file~/.edge/.edge.sockIPC socket file path

Core Network ​

ParameterDefaultDescription
--publicemptyPublic IP or domain (without port)
--domainemptyCustom domain for HTTP channels
--controller.addressemptyController server address
--channel.alias_domain_policyemptyAlias domain policy: disabled | optional | required
--tunnel.listenemptyTunnel listen address
--tunnel.max_sessions0Max sessions (0=unlimited)

TLS Certificates ​

ParameterDefaultDescription
--tunnel.tls.caemptyTLS CA certificate path
--tunnel.tls.certemptyTLS server certificate path
--tunnel.tls.keyemptyTLS server private key path

HTTP Channels ​

ParameterDefaultDescription
--channel.http.enabletrueEnable HTTP channels/proxy
--channel.http.port0HTTP proxy port
--channel.https.port0HTTPS proxy port
--channel.http.addremptyHTTP proxy listen address
--channel.http.timeout0HTTP proxy request timeout
--channel.http.bufferemptyHTTP channel read buffer size (supports K/M suffix)
--channel.http.buffer.lockfalseLock buffer to fixed size, disable dynamic window
--channel.http.eager_startfalseStart HTTP proxy on boot

TCP / UDP Channels ​

ParameterDefaultDescription
--channel.tcp.enabletrueEnable TCP channels
--channel.tcp.port_min0TCP port range start
--channel.tcp.port_max0TCP port range end
--channel.udp.enabletrueEnable UDP channels
--channel.udp.port_min0UDP port range start
--channel.udp.port_max0UDP port range end

WireGuard ​

ParameterDefaultDescription
--channel.wireguard.enabletrueEnable WireGuard functionality
--channel.wireguard.relay_enabledfalseEnable Edge-side relay forwarding
--channel.wireguard.public_endpointSame as --publicWireGuard relay public address (without port)

P2P ​

ParameterDefaultDescription
--server.capabilities.auto_enabletrueAuto-enable services based on client capabilities
--server.capabilities.p2ptrueEnable P2P capability
--channel.p2p.udp_addremptyP2P UDP listen address, e.g. 0.0.0.0:9000

Tunnel Limits ​

ParameterDefaultDescription
--tunnel.limits.max_per_session0Max tunnels per user session (0=unlimited)
--tunnel.limits.max_total0Max total tunnels for this edge (0=unlimited)

CSR Forwarder ​

ParameterDefaultDescription
--csr.forwarder.enabletrueEnable CSR forwarder
--csr.forwarder.subca_serialemptyCSR forwarder sub-CA serial number

Logging ​

ParameterDefaultDescription
--log.outputconsoleLog output mode: console | file
--log.fileemptyLog file path (effective when log.output=file)
--log.levelemptyLog level: debug | info | warn | error | fatal | panic

Startup Config Injection ​

ParameterDefaultDescription
--startup.config_b64emptyStartup config (Base64 encoded JSON), delivered by Captain
--startup.config_jsonemptyStartup config (raw JSON)


YAT Team - Making intranet penetration simpler

Released under the MIT License.