Run a config
Load and validate JSON, then start every inbound.
tcptun --config config.jsonCLI
Most power lives in JSON; the CLI loads, validates, and generates configs. Start the server first, then the client.
Load and validate JSON, then start every inbound.
tcptun --config config.jsonValidate and compile without listening on ports.
tcptun config check --config config.jsonGenerate matching server / client configs with credentials and REALITY keys.
tcptun config native --server proxy.example.com --port 9443 --server-name example.com --dest example.com:443Build a client config from native / VLESS / VMess / Trojan URIs.
tcptun uri import --input client.uri --client --output client.jsonGenerate native reality-quic + mux.mode=quic without TCP fallback.
tcptun config native --quic --server proxy.example.com --port 9443After generating a native Reality pair, set mux.resume=true on both ends (v0.2.4+).
# on both server inbound and client outbound mux blocks
"mux": {
"mode": "group",
"resume": true,
"resume_timeout": "15s",
"resume_buffer_size": 4194304
}