Proxy request timing
The proxy_request_timing key of a Trojan or VLESS outbound. The client holds its proxy request until the application's first bytes, so both leave in one write. A request sent alone is a small packet of a fixed length, which DPI can recognise.
Structure
{
"max_delay": "400ms",
"skip": { "enabled": false, "ports": [21, 25, 110, 143, 587, 3306] }
}Fields
max_delay
durationDefault: 400ms
The longest the request waits for the first bytes before it is sent alone.
skip.enabled
booleanDefault: false
Send the request at once for the ports in skip.ports. Their protocols (FTP, SMTP, POP3, IMAP, MySQL) wait for the server to speak first, so otherwise they start max_delay late. The cost is the recognisable lone request.
skip.ports
list of integersDefault: [21, 25, 110, 143, 587, 3306]
Destination ports that skip the wait. Writing it replaces the default list.
UDP is not affected: a UDP session sends its request with its first datagram.