Outbound
An outbound is how traffic leaves: through a proxy server, straight to the destination, or through a group that picks another outbound. Routing decides which outbound a request takes; without a routing section, every request takes the first. Blocking is a routing action, not an outbound.
Structure
{
"outbounds": [
{
"tag": "proxy",
"server": "proxy.example.com",
"server_port": 443,
"transport": [{ "type": "tcp" }, { "type": "tls" }],
"protocol": {
"type": "vless",
"settings": { "uuid": "b831381d-6324-4d53-ad4f-8cda48b30811" }
},
"dns_server": "os",
"muxcool": {},
"proxy_request_timing": { "max_delay": "400ms" }
}
],
"dns": {
"servers": [{ "tag": "os", "type": "system" }],
"default_server": "os"
}
}Protocols
| Type | Format | Carries |
|---|---|---|
socks5 | SOCKS5 | TCP |
http | HTTP | TCP |
trojan | Trojan | TCP and UDP |
vless | VLESS | TCP and UDP |
Built in, made by core rather than a module:
| Type | Format | Carries |
|---|---|---|
freedom | Freedom | TCP and UDP, straight to each destination |
urltest | URLTest, see groups | what every member carries |
fallback | Fallback, see groups | what every member carries |
selector | Selector, see groups | what every member carries |
freedom and the groups take only some of the keys below; their pages say which.
Fields
tag
stringRequired
A name unique among outbounds, used by routing, DNS servers, groups and statistics.
server
addressRequired
The proxy server, an IP or a domain. tls sends a domain as its SNI, and ws and httpupgrade as the Host, unless they set their own.
server_port
integerRequired
The proxy server's port.
transport
list of transportsRequired
The transport stack that reaches the server.
protocol
objectRequired
type and settings of one of the protocols.
dns_server
stringDefault: the DNS rules' choice
The tag of the DNS server that resolves server when it is a domain.
muxcool
objectvless
How the client uses Mux.Cool. See Mux.Cool.
proxy_request_timing
objecttrojan, vless
When the client sends its proxy request. See Proxy request timing.