Timeouts
Every timeout is set beside what it bounds. Each layer bounds its own handshake, and nothing adds an overall limit, so a stack's handshakes may together take the sum of their timeouts.
Handshakes
| What | Key | Default |
|---|---|---|
| TCP connect, name resolution included | tcp dial_timeout | 10s |
| Next address of a domain | tcp next_address_delay | 250ms |
| TLS | tls handshake_timeout | 10s |
| WebSocket | ws handshake_timeout | 10s |
| HTTPUpgrade | httpupgrade handshake_timeout | 10s |
| PROXY protocol header | proxy_protocol timeout | 1s |
| SOCKS5 | socks5 handshake_timeout | 10s |
| HTTP proxy | http handshake_timeout | 10s |
| Trojan | trojan handshake_timeout | 10s |
| VLESS | vless handshake_timeout | 10s |
| Mixed's first byte | mixed first_byte_timeout | 10s |
| Sniffing | sniff timeout | 300ms |
| Proxy request held for the first payload | proxy_request_timing max_delay | 400ms |
Idle
| What | Key | Default |
|---|---|---|
| TCP connection | inbound tcp_idle_timeout | 5m |
| UDP session | inbound udp_session_idle_timeout | 5m |
| UDP routing decision | inbound udp_routing_cache_entry_idle_timeout | 1m |
| UDP live-list entry | stats tracking.udp_entry_idle_timeout | 1m |
| Freedom's UDP socket | freedom nat.idle_timeout | 5m |
| TCP keep-alive | tcp keep_alive | 15s |
Other
| What | Key | Default |
|---|---|---|
| One DNS query | DNS server settings.timeout | 5s |
| One group probe | probe timeout | 10s |
| Between probe rounds | probe interval | 5m |
| Held UDP session (XUDP) | Mux.Cool hold_time | 60s |