diff --git a/docs/config/inbounds/http.md b/docs/config/inbounds/http.md index 6d281a5e..6382fd5c 100644 --- a/docs/config/inbounds/http.md +++ b/docs/config/inbounds/http.md @@ -29,8 +29,8 @@ HTTP 协议。 { // ... "protocol": "http", + // [!code focus:10] "settings": { - // [!code focus:8] "users": [ { "user": "my-username", diff --git a/docs/config/inbounds/hysteria.md b/docs/config/inbounds/hysteria.md index 8b02ac6b..26ca652c 100644 --- a/docs/config/inbounds/hysteria.md +++ b/docs/config/inbounds/hysteria.md @@ -14,8 +14,8 @@ { // ... "protocol": "hysteria", + // [!code focus:10] "settings": { - // [!code focus:8] "version": 2, "users": [ { diff --git a/docs/config/inbounds/shadowsocks.md b/docs/config/inbounds/shadowsocks.md index 841187da..99142225 100644 --- a/docs/config/inbounds/shadowsocks.md +++ b/docs/config/inbounds/shadowsocks.md @@ -37,8 +37,8 @@ Shadowsocks 2022 新协议格式提升了性能并带有完整的重放保护, { // ... "protocol": "shadowsocks", + // [!code focus:13] "settings": { - // [!code focus:11] "network": "tcp,udp", "method": "aes-256-gcm", "password": "114514", diff --git a/docs/config/inbounds/socks.md b/docs/config/inbounds/socks.md index f71091a6..0264a51b 100644 --- a/docs/config/inbounds/socks.md +++ b/docs/config/inbounds/socks.md @@ -18,8 +18,8 @@ { // ... "protocol": "socks", + // [!code focus:12] "settings": { - // [!code focus:10] "auth": "noauth", "users": [ { diff --git a/docs/config/inbounds/trojan.md b/docs/config/inbounds/trojan.md index b79122d5..65485b19 100644 --- a/docs/config/inbounds/trojan.md +++ b/docs/config/inbounds/trojan.md @@ -16,8 +16,8 @@ Trojan 被设计工作在正确配置的加密 TLS 隧道 { // ... "protocol": "trojan", + // [!code focus:14] "settings": { - // [!code focus:12] "users": [ { "password": "password", diff --git a/docs/config/inbounds/tun.md b/docs/config/inbounds/tun.md index 4bd550f6..4341b38f 100644 --- a/docs/config/inbounds/tun.md +++ b/docs/config/inbounds/tun.md @@ -14,8 +14,8 @@ Android 需要外部 APP 传入 TUN FD,使用 VPN Service 重定向流量。 { // ... "protocol": "tun", + // [!code focus:9] "settings": { - // [!code focus:7] "name": "xray0", "mtu": 1500, "gateway": ["10.0.0.1/16", "fc00::1/64"], diff --git a/docs/config/inbounds/tunnel.md b/docs/config/inbounds/tunnel.md index 421c7358..e880f729 100644 --- a/docs/config/inbounds/tunnel.md +++ b/docs/config/inbounds/tunnel.md @@ -12,8 +12,8 @@ Tunnel(隧道),旧称 dokodemo-door(任意门),可以监听数个本 { // ... "protocol": "tunnel", + // [!code focus:12] "settings": { - // [!code focus:10] "allowedNetwork": "tcp", "rewriteAddress": "8.8.8.8", "rewritePort": 53, diff --git a/docs/config/inbounds/vless.md b/docs/config/inbounds/vless.md index d808683a..1a05b758 100644 --- a/docs/config/inbounds/vless.md +++ b/docs/config/inbounds/vless.md @@ -14,8 +14,8 @@ VLESS 是一个无状态的轻量传输协议,它分为入站和出站两部 { // ... "protocol": "vless", + // [!code focus:17] "settings": { - // [!code focus:15] "users": [ { "id": "5783a3e7-e373-51cd-8642-c83782b807c5", diff --git a/docs/config/inbounds/vmess.md b/docs/config/inbounds/vmess.md index 16215499..f1bab8cf 100644 --- a/docs/config/inbounds/vmess.md +++ b/docs/config/inbounds/vmess.md @@ -16,8 +16,8 @@ VMess 依赖于系统时间,请确保使用 Xray 的系统 UTC 时间误差在 { // ... "protocol": "vmess", + // [!code focus:12] "settings": { - // [!code focus:10] "users": [ { "id": "5783a3e7-e373-51cd-8642-c83782b807c5", diff --git a/docs/config/inbounds/wireguard.md b/docs/config/inbounds/wireguard.md index dfa4f71b..1351ec40 100644 --- a/docs/config/inbounds/wireguard.md +++ b/docs/config/inbounds/wireguard.md @@ -16,8 +16,8 @@ User-space Wireguard 协议实现。 { // ... "protocol": "wireguard", + // [!code focus:10] "settings": { - // [!code focus:8] "secretKey": "PRIVATE_KEY", "peers": [ { diff --git a/docs/config/outbounds/blackhole.md b/docs/config/outbounds/blackhole.md index d2ddaafb..6d793ab6 100644 --- a/docs/config/outbounds/blackhole.md +++ b/docs/config/outbounds/blackhole.md @@ -12,8 +12,8 @@ Blackhole(黑洞)是一个出站数据协议,它会阻碍所有数据的 { // ... "protocol": "blackhole", + // [!code focus:5] "settings": { - // [!code focus:3] "response": { "type": "none" } diff --git a/docs/config/outbounds/dns.md b/docs/config/outbounds/dns.md index 9fc7d2ae..3e8f1021 100644 --- a/docs/config/outbounds/dns.md +++ b/docs/config/outbounds/dns.md @@ -16,8 +16,8 @@ DNS 是一个出站协议,用于接收由 routing 送入的 DNS 查询,并 { // ... "protocol": "dns", + // [!code focus:17] "settings": { - // [!code focus:15] "rewriteNetwork": "udp", "rewriteAddress": "1.1.1.1", "rewritePort": 53, diff --git a/docs/config/outbounds/freedom.md b/docs/config/outbounds/freedom.md index be5839ea..94119054 100644 --- a/docs/config/outbounds/freedom.md +++ b/docs/config/outbounds/freedom.md @@ -16,8 +16,8 @@ Freedom 是一个出站协议,可以用来向任意网络发送(正常的) { // ... "protocol": "freedom", + // [!code focus:29] "settings": { - // [!code focus:27] "domainStrategy": "AsIs", "redirect": "127.0.0.1:3366", "userLevel": 0, diff --git a/docs/config/outbounds/http.md b/docs/config/outbounds/http.md index 56df91e5..b0b3d259 100644 --- a/docs/config/outbounds/http.md +++ b/docs/config/outbounds/http.md @@ -20,8 +20,8 @@ HTTP 协议。 { // ... "protocol": "http", + // [!code focus:12] "settings": { - // [!code focus:10] "address": "192.168.108.1", "port": 3128, "user": "my-username", diff --git a/docs/config/outbounds/hysteria.md b/docs/config/outbounds/hysteria.md index 0e73701b..7be3f9dc 100644 --- a/docs/config/outbounds/hysteria.md +++ b/docs/config/outbounds/hysteria.md @@ -18,8 +18,8 @@ Hysteria 协议的客户端实现。 { // ... "protocol": "hysteria", + // [!code focus:5] "settings": { - // [!code focus:3] "version": 2, "address": "192.168.108.1", "port": 3128 diff --git a/docs/config/outbounds/loopback.md b/docs/config/outbounds/loopback.md index 628ad1d4..349c0d1f 100644 --- a/docs/config/outbounds/loopback.md +++ b/docs/config/outbounds/loopback.md @@ -12,8 +12,8 @@ Loopback 是个出站数据协议,其作用为将经该出站传出的数据 { // ... "protocol": "loopback", + // [!code focus:3] "settings": { - // [!code focus:1] "inboundTag": "TagUseAsInbound" } } diff --git a/docs/config/outbounds/shadowsocks.md b/docs/config/outbounds/shadowsocks.md index f9fae12c..3b4262ba 100644 --- a/docs/config/outbounds/shadowsocks.md +++ b/docs/config/outbounds/shadowsocks.md @@ -37,8 +37,8 @@ Shadowsocks 2022 新协议格式提升了性能并带有完整的重放保护, { // ... "protocol": "shadowsocks", + // [!code focus:10] "settings": { - // [!code focus:8] "email": "love@xray.com", "address": "127.0.0.1", "port": 1234, diff --git a/docs/config/outbounds/socks.md b/docs/config/outbounds/socks.md index 0c293905..5fd122ad 100644 --- a/docs/config/outbounds/socks.md +++ b/docs/config/outbounds/socks.md @@ -16,8 +16,8 @@ { // ... "protocol": "socks", + // [!code focus:8] "settings": { - // [!code focus:6] "address": "127.0.0.1", "port": 1234, "user": "test user", diff --git a/docs/config/outbounds/trojan.md b/docs/config/outbounds/trojan.md index 59a7ef49..f556b4bf 100644 --- a/docs/config/outbounds/trojan.md +++ b/docs/config/outbounds/trojan.md @@ -16,8 +16,8 @@ Trojan 被设计工作在正确配置的加密 TLS 隧道 { // ... "protocol": "trojan", + // [!code focus:7] "settings": { - // [!code focus:5] "address": "127.0.0.1", "port": 1234, "password": "password", diff --git a/docs/config/outbounds/vless.md b/docs/config/outbounds/vless.md index f796f454..c1334508 100644 --- a/docs/config/outbounds/vless.md +++ b/docs/config/outbounds/vless.md @@ -14,8 +14,8 @@ VLESS 是一个无状态的轻量传输协议,它分为入站和出站两部 { // ... "protocol": "vless", + // [!code focus:9] "settings": { - // [!code focus:7] "address": "example.com", "port": 443, "id": "5783a3e7-e373-51cd-8642-c83782b807c5", diff --git a/docs/config/outbounds/vmess.md b/docs/config/outbounds/vmess.md index 82411692..d8c9a92f 100644 --- a/docs/config/outbounds/vmess.md +++ b/docs/config/outbounds/vmess.md @@ -16,8 +16,8 @@ VMess 依赖于系统时间,请确保使用 Xray 的系统 UTC 时间误差在 { // ... "protocol": "vmess", + // [!code focus:8] "settings": { - // [!code focus:6] "address": "127.0.0.1", "port": 37192, "id": "5783a3e7-e373-51cd-8642-c83782b807c5", diff --git a/docs/config/outbounds/wireguard.md b/docs/config/outbounds/wireguard.md index 9713fbbf..87145cd4 100644 --- a/docs/config/outbounds/wireguard.md +++ b/docs/config/outbounds/wireguard.md @@ -16,8 +16,8 @@ { // ... "protocol": "wireguard", + // [!code focus:20] "settings": { - // [!code focus:18] "secretKey": "PRIVATE_KEY", "address": [ // optional, default ["10.0.0.1", "fd59:7153:2388:b5fd:0000:0000:0000:0001"] diff --git a/docs/config/transport.md b/docs/config/transport.md index a03700c1..a8f36f50 100644 --- a/docs/config/transport.md +++ b/docs/config/transport.md @@ -24,8 +24,8 @@ "outbounds": [ { // ... + // [!code focus:18] "streamSettings": { - // [!code focus:16] // 传输方式 "network": "raw", "rawSettings": {}, diff --git a/docs/config/transports/finalmask.md b/docs/config/transports/finalmask.md index 0b11c9b9..1cadf6bc 100644 --- a/docs/config/transports/finalmask.md +++ b/docs/config/transports/finalmask.md @@ -15,8 +15,8 @@ FinalMask 在核心处理完包括 TLS/REALITY 在内的传输层加密后,对 { // ... "streamSettings": { + // [!code focus:33] "finalmask": { - // [!code focus:31] "tcp": [ { "type": "", diff --git a/docs/config/transports/grpc.md b/docs/config/transports/grpc.md index e46b9cb1..70a9494a 100644 --- a/docs/config/transports/grpc.md +++ b/docs/config/transports/grpc.md @@ -45,8 +45,8 @@ gRPC(HTTP/2)内置多路复用,不建议使用 gRPC 与 HTTP/2 时启用 m // ... "streamSettings": { "network": "grpc", + // [!code focus:10] "grpcSettings": { - // [!code focus:8] "authority": "grpc.example.com", "serviceName": "name", "multiMode": false, diff --git a/docs/config/transports/httpupgrade.md b/docs/config/transports/httpupgrade.md index 9bc4497a..8dc11501 100644 --- a/docs/config/transports/httpupgrade.md +++ b/docs/config/transports/httpupgrade.md @@ -19,8 +19,8 @@ // ... "streamSettings": { "network": "httpupgrade", + // [!code focus:8] "httpupgradeSettings": { - // [!code focus:6] "acceptProxyProtocol": false, "path": "/", "host": "xray.com", diff --git a/docs/config/transports/hysteria.md b/docs/config/transports/hysteria.md index 14b65689..31d6553c 100644 --- a/docs/config/transports/hysteria.md +++ b/docs/config/transports/hysteria.md @@ -14,8 +14,8 @@ Hysteria2 的底层 QUIC 传输的 Xray 实现,通常搭配 hysteria[出站](. // ... "streamSettings": { "network": "hysteria", + // [!code focus:17] "hysteriaSettings": { - // [!code focus:14] "version": 2, "auth": "password", "udpIdleTimeout": 60, diff --git a/docs/config/transports/mkcp.md b/docs/config/transports/mkcp.md index e430107f..145b949b 100644 --- a/docs/config/transports/mkcp.md +++ b/docs/config/transports/mkcp.md @@ -20,8 +20,8 @@ mKCP 牺牲带宽来降低延迟。传输同样的内容,mKCP 一般比 TCP // ... "streamSettings": { "network": "mkcp", + // [!code focus:9] "kcpSettings": { - // [!code focus:7] "mtu": 1350, "tti": 20, "uplinkCapacity": 5, diff --git a/docs/config/transports/raw.md b/docs/config/transports/raw.md index ede0a674..16bc0f2a 100644 --- a/docs/config/transports/raw.md +++ b/docs/config/transports/raw.md @@ -16,8 +16,8 @@ // ... "streamSettings": { "network": "raw", + // [!code focus:6] "rawSettings": { - // [!code focus:4] "acceptProxyProtocol": false, "header": { "type": "none" diff --git a/docs/config/transports/reality.md b/docs/config/transports/reality.md index 06b88e59..bfbc459b 100644 --- a/docs/config/transports/reality.md +++ b/docs/config/transports/reality.md @@ -26,8 +26,8 @@ REALITY 只是修改了 TLS,客户端的实现只需要轻度修改完全随 // ... "streamSettings": { "security": "reality", + // [!code focus:30] "realitySettings": { - // [!code focus:28] // 入站(服务端)配置 "show": false, "target": "example.com:443", diff --git a/docs/config/transports/sockopt.md b/docs/config/transports/sockopt.md index b0fa238b..6f7109b5 100644 --- a/docs/config/transports/sockopt.md +++ b/docs/config/transports/sockopt.md @@ -15,8 +15,8 @@ Sockopt 用于配置底层网络行为。 { // ... "streamSettings": { + // [!code focus:21] "sockopt": { - // [!code focus:19] "mark": 0, "tcpMaxSeg": 1440, "tcpFastOpen": false, diff --git a/docs/config/transports/tls.md b/docs/config/transports/tls.md index b8651aac..fcfb6bad 100644 --- a/docs/config/transports/tls.md +++ b/docs/config/transports/tls.md @@ -18,8 +18,8 @@ TLS 是常见的传输层加密方式。 // ... "streamSettings": { "security": "tls", + // [!code focus:20] "tlsSettings": { - // [!code focus:18] "serverName": "xray.com", "verifyPeerCertByName": "", "rejectUnknownSni": false, diff --git a/docs/config/transports/websocket.md b/docs/config/transports/websocket.md index 2be1c281..97113870 100644 --- a/docs/config/transports/websocket.md +++ b/docs/config/transports/websocket.md @@ -24,8 +24,8 @@ Websocket 会识别 HTTP 请求的 X-Forwarded-For 头来覆写流量的源地 // ... "streamSettings": { "network": "websocket", + // [!code focus:9] "wsSettings": { - // [!code focus:7] "acceptProxyProtocol": false, "path": "/", "host": "xray.com", diff --git a/docs/en/config/inbounds/http.md b/docs/en/config/inbounds/http.md index b00b6135..bbd85342 100644 --- a/docs/en/config/inbounds/http.md +++ b/docs/en/config/inbounds/http.md @@ -29,8 +29,8 @@ Use the following environment variables in Linux to enable a global HTTP proxy f { // ... "protocol": "http", + // [!code focus:10] "settings": { - // [!code focus:8] "users": [ { "user": "my-username", diff --git a/docs/en/config/inbounds/hysteria.md b/docs/en/config/inbounds/hysteria.md index 9387b429..c8dd2868 100644 --- a/docs/en/config/inbounds/hysteria.md +++ b/docs/en/config/inbounds/hysteria.md @@ -14,8 +14,8 @@ The `hysteria protocol` itself has no authentication; `users` only take effect w { // ... "protocol": "hysteria", + // [!code focus:10] "settings": { - // [!code focus:8] "version": 2, "users": [ { diff --git a/docs/en/config/inbounds/shadowsocks.md b/docs/en/config/inbounds/shadowsocks.md index 23d4fc49..036ab8e8 100644 --- a/docs/en/config/inbounds/shadowsocks.md +++ b/docs/en/config/inbounds/shadowsocks.md @@ -37,8 +37,8 @@ Under the "none" encryption method, traffic will be transmitted in plain text. T { // ... "protocol": "shadowsocks", + // [!code focus:13] "settings": { - // [!code focus:11] "network": "tcp,udp", "method": "aes-256-gcm", "password": "114514", diff --git a/docs/en/config/inbounds/socks.md b/docs/en/config/inbounds/socks.md index 3ad272fb..eac26cab 100644 --- a/docs/en/config/inbounds/socks.md +++ b/docs/en/config/inbounds/socks.md @@ -18,8 +18,8 @@ A more meaningful usage of `Socks` inbound is to listen within a LAN or on the l { // ... "protocol": "socks", + // [!code focus:12] "settings": { - // [!code focus:10] "auth": "noauth", "users": [ { diff --git a/docs/en/config/inbounds/trojan.md b/docs/en/config/inbounds/trojan.md index 51d30945..fb337975 100644 --- a/docs/en/config/inbounds/trojan.md +++ b/docs/en/config/inbounds/trojan.md @@ -16,8 +16,8 @@ Trojan is designed to work over correctly configured encrypted TLS tunnels. { // ... "protocol": "trojan", + // [!code focus:14] "settings": { - // [!code focus:12] "users": [ { "password": "password", diff --git a/docs/en/config/inbounds/tun.md b/docs/en/config/inbounds/tun.md index f6e74eb4..3d2e1259 100644 --- a/docs/en/config/inbounds/tun.md +++ b/docs/en/config/inbounds/tun.md @@ -14,8 +14,8 @@ On Android, the TUN FD must be passed in from an external app, which uses VPN Se { // ... "protocol": "tun", + // [!code focus:9] "settings": { - // [!code focus:7] "name": "xray0", "mtu": 1500, "gateway": ["10.0.0.1/16", "fc00::1/64"], diff --git a/docs/en/config/inbounds/tunnel.md b/docs/en/config/inbounds/tunnel.md index 64eb61e0..edc7ed39 100644 --- a/docs/en/config/inbounds/tunnel.md +++ b/docs/en/config/inbounds/tunnel.md @@ -12,8 +12,8 @@ Tunnel, formerly known as dokodemo-door (Arbitrary Door), can listen on multiple { // ... "protocol": "tunnel", + // [!code focus:12] "settings": { - // [!code focus:10] "allowedNetwork": "tcp", "rewriteAddress": "8.8.8.8", "rewritePort": 53, diff --git a/docs/en/config/inbounds/vless.md b/docs/en/config/inbounds/vless.md index 0a28ec10..c92d2958 100644 --- a/docs/en/config/inbounds/vless.md +++ b/docs/en/config/inbounds/vless.md @@ -14,8 +14,8 @@ Unlike [VMess](./vmess.md), VLESS does not depend on system time. The authentica { // ... "protocol": "vless", + // [!code focus:17] "settings": { - // [!code focus:15] "users": [ { "id": "5783a3e7-e373-51cd-8642-c83782b807c5", diff --git a/docs/en/config/inbounds/vmess.md b/docs/en/config/inbounds/vmess.md index 11c0e8cd..4cc79abe 100644 --- a/docs/en/config/inbounds/vmess.md +++ b/docs/en/config/inbounds/vmess.md @@ -16,8 +16,8 @@ VMess depends on system time. Please ensure that the system UTC time of the devi { // ... "protocol": "vmess", + // [!code focus:12] "settings": { - // [!code focus:10] "users": [ { "id": "5783a3e7-e373-51cd-8642-c83782b807c5", diff --git a/docs/en/config/inbounds/wireguard.md b/docs/en/config/inbounds/wireguard.md index 593769eb..557013d0 100644 --- a/docs/en/config/inbounds/wireguard.md +++ b/docs/en/config/inbounds/wireguard.md @@ -16,8 +16,8 @@ User-space WireGuard protocol implementation. { // ... "protocol": "wireguard", + // [!code focus:10] "settings": { - // [!code focus:8] "secretKey": "PRIVATE_KEY", "peers": [ { diff --git a/docs/en/config/outbounds/blackhole.md b/docs/en/config/outbounds/blackhole.md index 4de9cca9..01b1ab7a 100644 --- a/docs/en/config/outbounds/blackhole.md +++ b/docs/en/config/outbounds/blackhole.md @@ -12,8 +12,8 @@ Blackhole is an outbound data protocol that blocks all outbound data. When used { // ... "protocol": "blackhole", + // [!code focus:5] "settings": { - // [!code focus:3] "response": { "type": "none" } diff --git a/docs/en/config/outbounds/dns.md b/docs/en/config/outbounds/dns.md index 8b98417b..c10e7df4 100644 --- a/docs/en/config/outbounds/dns.md +++ b/docs/en/config/outbounds/dns.md @@ -16,8 +16,8 @@ It can allow queries to the target DNS server, `hijack` them to the built-in [DN { // ... "protocol": "dns", + // [!code focus:17] "settings": { - // [!code focus:15] "rewriteNetwork": "udp", "rewriteAddress": "1.1.1.1", "rewritePort": 53, diff --git a/docs/en/config/outbounds/freedom.md b/docs/en/config/outbounds/freedom.md index b9d7b2c9..bd5c73bb 100644 --- a/docs/en/config/outbounds/freedom.md +++ b/docs/en/config/outbounds/freedom.md @@ -16,8 +16,8 @@ This outbound has a default safety policy in server-side and reverse-proxy scena { // ... "protocol": "freedom", + // [!code focus:29] "settings": { - // [!code focus:27] "domainStrategy": "AsIs", "redirect": "127.0.0.1:3366", "userLevel": 0, diff --git a/docs/en/config/outbounds/http.md b/docs/en/config/outbounds/http.md index a763faa9..2791762c 100644 --- a/docs/en/config/outbounds/http.md +++ b/docs/en/config/outbounds/http.md @@ -20,8 +20,8 @@ HTTP protocol. { // ... "protocol": "http", + // [!code focus:12] "settings": { - // [!code focus:10] "address": "192.168.108.1", "port": 3128, "user": "my-username", diff --git a/docs/en/config/outbounds/hysteria.md b/docs/en/config/outbounds/hysteria.md index 16c950b7..a702e6d4 100644 --- a/docs/en/config/outbounds/hysteria.md +++ b/docs/en/config/outbounds/hysteria.md @@ -18,8 +18,8 @@ The `hysteria protocol` itself has no authentication. When using with a non `hys { // ... "protocol": "hysteria", + // [!code focus:5] "settings": { - // [!code focus:3] "version": 2, "address": "192.168.108.1", "port": 3128 diff --git a/docs/en/config/outbounds/loopback.md b/docs/en/config/outbounds/loopback.md index c1d9a6e8..8f58c88f 100644 --- a/docs/en/config/outbounds/loopback.md +++ b/docs/en/config/outbounds/loopback.md @@ -12,8 +12,8 @@ Loopback is an outbound data protocol. Its function is to re-inject data sent th { // ... "protocol": "loopback", + // [!code focus:3] "settings": { - // [!code focus:1] "inboundTag": "TagUseAsInbound" } } diff --git a/docs/en/config/outbounds/shadowsocks.md b/docs/en/config/outbounds/shadowsocks.md index ee7e8fc5..5240d61e 100644 --- a/docs/en/config/outbounds/shadowsocks.md +++ b/docs/en/config/outbounds/shadowsocks.md @@ -37,8 +37,8 @@ Under the "none" encryption method, traffic will be transmitted in plain text. T { // ... "protocol": "shadowsocks", + // [!code focus:10] "settings": { - // [!code focus:8] "email": "love@xray.com", "address": "127.0.0.1", "port": 1234, diff --git a/docs/en/config/outbounds/socks.md b/docs/en/config/outbounds/socks.md index 835778bf..1526fafb 100644 --- a/docs/en/config/outbounds/socks.md +++ b/docs/en/config/outbounds/socks.md @@ -16,8 +16,8 @@ Standard Socks protocol implementation, compatible with Socks 5. { // ... "protocol": "socks", + // [!code focus:8] "settings": { - // [!code focus:6] "address": "127.0.0.1", "port": 1234, "user": "test user", diff --git a/docs/en/config/outbounds/trojan.md b/docs/en/config/outbounds/trojan.md index 15a1e820..797b0937 100644 --- a/docs/en/config/outbounds/trojan.md +++ b/docs/en/config/outbounds/trojan.md @@ -16,8 +16,8 @@ Trojan is designed to work over a correctly configured encrypted TLS tunnel. { // ... "protocol": "trojan", + // [!code focus:7] "settings": { - // [!code focus:5] "address": "127.0.0.1", "port": 1234, "password": "password", diff --git a/docs/en/config/outbounds/vless.md b/docs/en/config/outbounds/vless.md index fc129806..1348cf6a 100644 --- a/docs/en/config/outbounds/vless.md +++ b/docs/en/config/outbounds/vless.md @@ -14,8 +14,8 @@ Unlike [VMess](./vmess.md), VLESS does not depend on system time. The authentica { // ... "protocol": "vless", + // [!code focus:9] "settings": { - // [!code focus:7] "address": "example.com", "port": 443, "id": "5783a3e7-e373-51cd-8642-c83782b807c5", diff --git a/docs/en/config/outbounds/vmess.md b/docs/en/config/outbounds/vmess.md index 789896e1..0f5bc636 100644 --- a/docs/en/config/outbounds/vmess.md +++ b/docs/en/config/outbounds/vmess.md @@ -16,8 +16,8 @@ VMess depends on system time. Please ensure that the UTC time of the system runn { // ... "protocol": "vmess", + // [!code focus:8] "settings": { - // [!code focus:6] "address": "127.0.0.1", "port": 37192, "id": "5783a3e7-e373-51cd-8642-c83782b807c5", diff --git a/docs/en/config/outbounds/wireguard.md b/docs/en/config/outbounds/wireguard.md index bd27555a..22a8f9a3 100644 --- a/docs/en/config/outbounds/wireguard.md +++ b/docs/en/config/outbounds/wireguard.md @@ -16,8 +16,8 @@ Standard Wireguard protocol implementation. { // ... "protocol": "wireguard", + // [!code focus:20] "settings": { - // [!code focus:18] "secretKey": "PRIVATE_KEY", "address": [ // optional, default ["10.0.0.1", "fd59:7153:2388:b5fd:0000:0000:0000:0001"] diff --git a/docs/en/config/transport.md b/docs/en/config/transport.md index d1ab9acd..62c92b4c 100644 --- a/docs/en/config/transport.md +++ b/docs/en/config/transport.md @@ -24,8 +24,8 @@ For direct outbounds such as [Freedom](./outbounds/freedom.md), the peer is usua "outbounds": [ { // ... + // [!code focus:18] "streamSettings": { - // [!code focus:16] // Transport methods "network": "raw", "rawSettings": {}, diff --git a/docs/en/config/transports/finalmask.md b/docs/en/config/transports/finalmask.md index aac94b4a..5fc8b8da 100644 --- a/docs/en/config/transports/finalmask.md +++ b/docs/en/config/transports/finalmask.md @@ -15,8 +15,8 @@ It can be used for multiple kinds of TCP and UDP camouflage, as well as QUIC-rel { // ... "streamSettings": { + // [!code focus:33] "finalmask": { - // [!code focus:31] "tcp": [ { "type": "", diff --git a/docs/en/config/transports/grpc.md b/docs/en/config/transports/grpc.md index d588a245..4691aade 100644 --- a/docs/en/config/transports/grpc.md +++ b/docs/en/config/transports/grpc.md @@ -45,8 +45,8 @@ If you are using fallback, please note the following: // ... "streamSettings": { "network": "grpc", + // [!code focus:10] "grpcSettings": { - // [!code focus:8] "authority": "grpc.example.com", "serviceName": "name", "multiMode": false, diff --git a/docs/en/config/transports/httpupgrade.md b/docs/en/config/transports/httpupgrade.md index 7640749c..3eeb03e3 100644 --- a/docs/en/config/transports/httpupgrade.md +++ b/docs/en/config/transports/httpupgrade.md @@ -19,8 +19,8 @@ Its design is not recommended for standalone use; instead, it is intended to wor // ... "streamSettings": { "network": "httpupgrade", + // [!code focus:8] "httpupgradeSettings": { - // [!code focus:6] "acceptProxyProtocol": false, "path": "/", "host": "xray.com", diff --git a/docs/en/config/transports/hysteria.md b/docs/en/config/transports/hysteria.md index f127dcde..fcc90c08 100644 --- a/docs/en/config/transports/hysteria.md +++ b/docs/en/config/transports/hysteria.md @@ -14,8 +14,8 @@ Xray implementation of the underlying QUIC transport for Hysteria2, typically us // ... "streamSettings": { "network": "hysteria", + // [!code focus:17] "hysteriaSettings": { - // [!code focus:15] "version": 2, "auth": "password", "udpIdleTimeout": 60, diff --git a/docs/en/config/transports/mkcp.md b/docs/en/config/transports/mkcp.md index dc6129f5..12d3a499 100644 --- a/docs/en/config/transports/mkcp.md +++ b/docs/en/config/transports/mkcp.md @@ -20,8 +20,8 @@ Please ensure that the firewall configuration on the host is correct. // ... "streamSettings": { "network": "mkcp", + // [!code focus:9] "kcpSettings": { - // [!code focus:7] "mtu": 1350, "tti": 20, "uplinkCapacity": 5, diff --git a/docs/en/config/transports/raw.md b/docs/en/config/transports/raw.md index b3fa6832..2994c4b0 100644 --- a/docs/en/config/transports/raw.md +++ b/docs/en/config/transports/raw.md @@ -16,8 +16,8 @@ It can be combined with various protocols in multiple modes. // ... "streamSettings": { "network": "raw", + // [!code focus:6] "rawSettings": { - // [!code focus:4] "acceptProxyProtocol": false, "header": { "type": "none" diff --git a/docs/en/config/transports/reality.md b/docs/en/config/transports/reality.md index 641637df..527f5720 100644 --- a/docs/en/config/transports/reality.md +++ b/docs/en/config/transports/reality.md @@ -26,8 +26,8 @@ For more information, see the [REALITY project](https://github.com/XTLS/REALITY) // ... "streamSettings": { "security": "reality", + // [!code focus:30] "realitySettings": { - // [!code focus:28] // Inbound (server-side) settings "show": false, "target": "example.com:443", diff --git a/docs/en/config/transports/sockopt.md b/docs/en/config/transports/sockopt.md index 8d1fea9e..226d34fe 100644 --- a/docs/en/config/transports/sockopt.md +++ b/docs/en/config/transports/sockopt.md @@ -15,8 +15,8 @@ It can be used to tune transparent proxying, DNS resolution strategy, and many o { // ... "streamSettings": { + // [!code focus:21] "sockopt": { - // [!code focus:19] "mark": 0, "tcpMaxSeg": 1440, "tcpFastOpen": false, diff --git a/docs/en/config/transports/tls.md b/docs/en/config/transports/tls.md index 2e13f18b..eb4e4109 100644 --- a/docs/en/config/transports/tls.md +++ b/docs/en/config/transports/tls.md @@ -18,8 +18,8 @@ It supports use with the `RAW`, `XHTTP`, `mKCP`, `gRPC`, `WebSocket`, `HTTPUpgra // ... "streamSettings": { "security": "tls", + // [!code focus:20] "tlsSettings": { - // [!code focus:18] "serverName": "xray.com", "verifyPeerCertByName": "", "rejectUnknownSni": false, diff --git a/docs/en/config/transports/websocket.md b/docs/en/config/transports/websocket.md index cf548dd5..5cd4da89 100644 --- a/docs/en/config/transports/websocket.md +++ b/docs/en/config/transports/websocket.md @@ -24,8 +24,8 @@ WebSocket will recognize the `X-Forwarded-For` header in HTTP requests to overwr // ... "streamSettings": { "network": "websocket", + // [!code focus:9] "wsSettings": { - // [!code focus:7] "acceptProxyProtocol": false, "path": "/", "host": "xray.com", diff --git a/docs/ru/config/inbounds/http.md b/docs/ru/config/inbounds/http.md index c30f2c03..7cf69820 100644 --- a/docs/ru/config/inbounds/http.md +++ b/docs/ru/config/inbounds/http.md @@ -29,8 +29,8 @@ { // ... "protocol": "http", + // [!code focus:10] "settings": { - // [!code focus:8] "users": [ { "user": "my-username", diff --git a/docs/ru/config/inbounds/hysteria.md b/docs/ru/config/inbounds/hysteria.md index c404c63f..ef6011b6 100644 --- a/docs/ru/config/inbounds/hysteria.md +++ b/docs/ru/config/inbounds/hysteria.md @@ -14,8 +14,8 @@ { // ... "protocol": "hysteria", + // [!code focus:10] "settings": { - // [!code focus:8] "version": 2, "users": [ { diff --git a/docs/ru/config/inbounds/shadowsocks.md b/docs/ru/config/inbounds/shadowsocks.md index 50674127..020133ff 100644 --- a/docs/ru/config/inbounds/shadowsocks.md +++ b/docs/ru/config/inbounds/shadowsocks.md @@ -37,8 +37,8 @@ { // ... "protocol": "shadowsocks", + // [!code focus:13] "settings": { - // [!code focus:11] "network": "tcp,udp", "method": "aes-256-gcm", "password": "114514", diff --git a/docs/ru/config/inbounds/socks.md b/docs/ru/config/inbounds/socks.md index 5f1bf453..09c1b004 100644 --- a/docs/ru/config/inbounds/socks.md +++ b/docs/ru/config/inbounds/socks.md @@ -18,8 +18,8 @@ { // ... "protocol": "socks", + // [!code focus:12] "settings": { - // [!code focus:10] "auth": "noauth", "users": [ { diff --git a/docs/ru/config/inbounds/trojan.md b/docs/ru/config/inbounds/trojan.md index c12d0c19..f7cbd84d 100644 --- a/docs/ru/config/inbounds/trojan.md +++ b/docs/ru/config/inbounds/trojan.md @@ -16,8 +16,8 @@ Trojan предназначен для работы в правильно нас { // ... "protocol": "trojan", + // [!code focus:14] "settings": { - // [!code focus:12] "users": [ { "password": "password", diff --git a/docs/ru/config/inbounds/tun.md b/docs/ru/config/inbounds/tun.md index 9de7b26b..76d23619 100644 --- a/docs/ru/config/inbounds/tun.md +++ b/docs/ru/config/inbounds/tun.md @@ -14,8 +14,8 @@ { // ... "protocol": "tun", + // [!code focus:9] "settings": { - // [!code focus:7] "name": "xray0", "mtu": 1500, "gateway": ["10.0.0.1/16", "fc00::1/64"], diff --git a/docs/ru/config/inbounds/tunnel.md b/docs/ru/config/inbounds/tunnel.md index c03f4b53..6a14d79d 100644 --- a/docs/ru/config/inbounds/tunnel.md +++ b/docs/ru/config/inbounds/tunnel.md @@ -12,8 +12,8 @@ { // ... "protocol": "tunnel", + // [!code focus:12] "settings": { - // [!code focus:10] "allowedNetwork": "tcp", "rewriteAddress": "8.8.8.8", "rewritePort": 53, diff --git a/docs/ru/config/inbounds/vless.md b/docs/ru/config/inbounds/vless.md index d9e0ffce..beb6b00b 100644 --- a/docs/ru/config/inbounds/vless.md +++ b/docs/ru/config/inbounds/vless.md @@ -14,8 +14,8 @@ VLESS - это легкий транспортный протокол без с { // ... "protocol": "vless", + // [!code focus:17] "settings": { - // [!code focus:15] "flow": "xtls-rprx-vision", "users": [ { diff --git a/docs/ru/config/inbounds/vmess.md b/docs/ru/config/inbounds/vmess.md index db21d46e..b4588d0e 100644 --- a/docs/ru/config/inbounds/vmess.md +++ b/docs/ru/config/inbounds/vmess.md @@ -16,8 +16,8 @@ VMess полагается на системное время. Убедитес { // ... "protocol": "vmess", + // [!code focus:12] "settings": { - // [!code focus:10] "users": [ { "id": "5783a3e7-e373-51cd-8642-c83782b807c5", diff --git a/docs/ru/config/inbounds/wireguard.md b/docs/ru/config/inbounds/wireguard.md index 0c8849c2..cf5704aa 100644 --- a/docs/ru/config/inbounds/wireguard.md +++ b/docs/ru/config/inbounds/wireguard.md @@ -16,8 +16,8 @@ { // ... "protocol": "wireguard", + // [!code focus:10] "settings": { - // [!code focus:8] "secretKey": "PRIVATE_KEY", "peers": [ { diff --git a/docs/ru/config/outbounds/blackhole.md b/docs/ru/config/outbounds/blackhole.md index b8b33ac2..49eda79f 100644 --- a/docs/ru/config/outbounds/blackhole.md +++ b/docs/ru/config/outbounds/blackhole.md @@ -12,8 +12,8 @@ Blackhole - это протокол исходящих данных, котор { // ... "protocol": "blackhole", + // [!code focus:5] "settings": { - // [!code focus:3] "response": { "type": "none" } diff --git a/docs/ru/config/outbounds/dns.md b/docs/ru/config/outbounds/dns.md index 3aabeb3c..6a41dc1e 100644 --- a/docs/ru/config/outbounds/dns.md +++ b/docs/ru/config/outbounds/dns.md @@ -16,8 +16,8 @@ DNS — это исходящий протокол, который приним { // ... "protocol": "dns", + // [!code focus:17] "settings": { - // [!code focus:15] "rewriteNetwork": "udp", "rewriteAddress": "1.1.1.1", "rewritePort": 53, diff --git a/docs/ru/config/outbounds/freedom.md b/docs/ru/config/outbounds/freedom.md index ad26343b..d67c6ee3 100644 --- a/docs/ru/config/outbounds/freedom.md +++ b/docs/ru/config/outbounds/freedom.md @@ -16,8 +16,8 @@ Freedom — это исходящий протокол, который можн { // ... "protocol": "freedom", + // [!code focus:29] "settings": { - // [!code focus:27] "domainStrategy": "AsIs", "redirect": "127.0.0.1:3366", "userLevel": 0, diff --git a/docs/ru/config/outbounds/http.md b/docs/ru/config/outbounds/http.md index 6302bc90..e1b5be7a 100644 --- a/docs/ru/config/outbounds/http.md +++ b/docs/ru/config/outbounds/http.md @@ -20,8 +20,8 @@ { // ... "protocol": "http", + // [!code focus:12] "settings": { - // [!code focus:10] "address": "192.168.108.1", "port": 3128, "user": "my-username", diff --git a/docs/ru/config/outbounds/hysteria.md b/docs/ru/config/outbounds/hysteria.md index 0bd7ef89..9cb0c509 100644 --- a/docs/ru/config/outbounds/hysteria.md +++ b/docs/ru/config/outbounds/hysteria.md @@ -18,8 +18,8 @@ { // ... "protocol": "hysteria", + // [!code focus:5] "settings": { - // [!code focus:3] "version": 2, "address": "192.168.108.1", "port": 3128 diff --git a/docs/ru/config/outbounds/loopback.md b/docs/ru/config/outbounds/loopback.md index 1e6d4e73..0a3505b0 100644 --- a/docs/ru/config/outbounds/loopback.md +++ b/docs/ru/config/outbounds/loopback.md @@ -12,8 +12,8 @@ Loopback - это исходящий протокол данных, которы { // ... "protocol": "loopback", + // [!code focus:3] "settings": { - // [!code focus:1] "inboundTag": "TagUseAsInbound" } } diff --git a/docs/ru/config/outbounds/shadowsocks.md b/docs/ru/config/outbounds/shadowsocks.md index 4962d08b..2bbe85d4 100644 --- a/docs/ru/config/outbounds/shadowsocks.md +++ b/docs/ru/config/outbounds/shadowsocks.md @@ -37,8 +37,8 @@ { // ... "protocol": "shadowsocks", + // [!code focus:10] "settings": { - // [!code focus:8] "email": "love@xray.com", "address": "127.0.0.1", "port": 1234, diff --git a/docs/ru/config/outbounds/socks.md b/docs/ru/config/outbounds/socks.md index 48e0cc77..1ff7b604 100644 --- a/docs/ru/config/outbounds/socks.md +++ b/docs/ru/config/outbounds/socks.md @@ -16,8 +16,8 @@ { // ... "protocol": "socks", + // [!code focus:8] "settings": { - // [!code focus:6] "address": "127.0.0.1", "port": 1234, "user": "test user", diff --git a/docs/ru/config/outbounds/trojan.md b/docs/ru/config/outbounds/trojan.md index 70773dfb..7c590ce8 100644 --- a/docs/ru/config/outbounds/trojan.md +++ b/docs/ru/config/outbounds/trojan.md @@ -16,8 +16,8 @@ Trojan предназначен для работы в правильно нас { // ... "protocol": "trojan", + // [!code focus:7] "settings": { - // [!code focus:5] "address": "127.0.0.1", "port": 1234, "password": "password", diff --git a/docs/ru/config/outbounds/vless.md b/docs/ru/config/outbounds/vless.md index b69f24e0..7bf6cf7c 100644 --- a/docs/ru/config/outbounds/vless.md +++ b/docs/ru/config/outbounds/vless.md @@ -14,8 +14,8 @@ VLESS - это легкий транспортный протокол без с { // ... "protocol": "vless", + // [!code focus:9] "settings": { - // [!code focus:7] "address": "example.com", "port": 443, "id": "5783a3e7-e373-51cd-8642-c83782b807c5", diff --git a/docs/ru/config/outbounds/vmess.md b/docs/ru/config/outbounds/vmess.md index 0428cdc7..757d8a08 100644 --- a/docs/ru/config/outbounds/vmess.md +++ b/docs/ru/config/outbounds/vmess.md @@ -16,8 +16,8 @@ VMess полагается на системное время. Убедитес { // ... "protocol": "vmess", + // [!code focus:8] "settings": { - // [!code focus:6] "id": "5783a3e7-e373-51cd-8642-c83782b807c5", "security": "auto", "level": 0, diff --git a/docs/ru/config/outbounds/wireguard.md b/docs/ru/config/outbounds/wireguard.md index 918be8c6..04b39148 100644 --- a/docs/ru/config/outbounds/wireguard.md +++ b/docs/ru/config/outbounds/wireguard.md @@ -16,8 +16,8 @@ { // ... "protocol": "wireguard", + // [!code focus:20] "settings": { - // [!code focus:18] "secretKey": "PRIVATE_KEY", "address": [ // необязательно, по умолчанию ["10.0.0.1", "fd59:7153:2388:b5fd:0000:0000:0000:0001"] diff --git a/docs/ru/config/transport.md b/docs/ru/config/transport.md index c3e290b1..2ccc9b68 100644 --- a/docs/ru/config/transport.md +++ b/docs/ru/config/transport.md @@ -24,8 +24,8 @@ "outbounds": [ { // ... + // [!code focus:18] "streamSettings": { - // [!code focus:16] // Способы передачи "network": "raw", "rawSettings": {}, diff --git a/docs/ru/config/transports/finalmask.md b/docs/ru/config/transports/finalmask.md index 41502e28..0fed38f1 100644 --- a/docs/ru/config/transports/finalmask.md +++ b/docs/ru/config/transports/finalmask.md @@ -15,8 +15,8 @@ FinalMask добавляет последний слой маскировки п { // ... "streamSettings": { + // [!code focus:33] "finalmask": { - // [!code focus:31] "tcp": [ { "type": "", diff --git a/docs/ru/config/transports/grpc.md b/docs/ru/config/transports/grpc.md index 84ddeb2a..17eabed2 100644 --- a/docs/ru/config/transports/grpc.md +++ b/docs/ru/config/transports/grpc.md @@ -44,8 +44,8 @@ gRPC (HTTP/2) имеет встроенное мультиплексирован // ... "streamSettings": { "network": "grpc", + // [!code focus:10] "grpcSettings": { - // [!code focus:8] "authority": "grpc.example.com", "serviceName": "name", "multiMode": false, diff --git a/docs/ru/config/transports/httpupgrade.md b/docs/ru/config/transports/httpupgrade.md index d4e03638..0269a5d0 100644 --- a/docs/ru/config/transports/httpupgrade.md +++ b/docs/ru/config/transports/httpupgrade.md @@ -20,8 +20,8 @@ // ... "streamSettings": { "network": "httpupgrade", + // [!code focus:8] "httpupgradeSettings": { - // [!code focus:6] "acceptProxyProtocol": false, "path": "/", "host": "xray.com", diff --git a/docs/ru/config/transports/hysteria.md b/docs/ru/config/transports/hysteria.md index 1314b0dc..bda44660 100644 --- a/docs/ru/config/transports/hysteria.md +++ b/docs/ru/config/transports/hysteria.md @@ -14,8 +14,8 @@ // ... "streamSettings": { "network": "hysteria", + // [!code focus:17] "hysteriaSettings": { - // [!code focus:15] "version": 2, "auth": "password", "udpIdleTimeout": 60, diff --git a/docs/ru/config/transports/mkcp.md b/docs/ru/config/transports/mkcp.md index 2fbaebb2..64982b11 100644 --- a/docs/ru/config/transports/mkcp.md +++ b/docs/ru/config/transports/mkcp.md @@ -20,8 +20,8 @@ mKCP жертвует пропускной способностью ради у // ... "streamSettings": { "network": "mkcp", + // [!code focus:9] "kcpSettings": { - // [!code focus:7] "mtu": 1350, "tti": 20, "uplinkCapacity": 5, diff --git a/docs/ru/config/transports/raw.md b/docs/ru/config/transports/raw.md index 87292aba..68cedfdb 100644 --- a/docs/ru/config/transports/raw.md +++ b/docs/ru/config/transports/raw.md @@ -16,8 +16,8 @@ // ... "streamSettings": { "network": "raw", + // [!code focus:6] "rawSettings": { - // [!code focus:4] "acceptProxyProtocol": false, "header": { "type": "none" diff --git a/docs/ru/config/transports/reality.md b/docs/ru/config/transports/reality.md index ce303e90..d9b4efd6 100644 --- a/docs/ru/config/transports/reality.md +++ b/docs/ru/config/transports/reality.md @@ -26,8 +26,8 @@ REALITY модифицирует только TLS. На стороне клие // ... "streamSettings": { "security": "reality", + // [!code focus:30] "realitySettings": { - // [!code focus:28] // Входящие настройки (сервер) "show": false, "target": "example.com:443", diff --git a/docs/ru/config/transports/sockopt.md b/docs/ru/config/transports/sockopt.md index a27b56be..a1de6dd1 100644 --- a/docs/ru/config/transports/sockopt.md +++ b/docs/ru/config/transports/sockopt.md @@ -15,8 +15,8 @@ Sockopt используется для настройки низкоуровн { // ... "streamSettings": { + // [!code focus:21] "sockopt": { - // [!code focus:19] "mark": 0, "tcpMaxSeg": 1440, "tcpFastOpen": false, diff --git a/docs/ru/config/transports/tls.md b/docs/ru/config/transports/tls.md index 7966e0d4..e8eabb53 100644 --- a/docs/ru/config/transports/tls.md +++ b/docs/ru/config/transports/tls.md @@ -18,8 +18,8 @@ TLS — это обычный механизм защиты транспорта // ... "streamSettings": { "security": "tls", + // [!code focus:20] "tlsSettings": { - // [!code focus:18] "serverName": "xray.com", "verifyPeerCertByName": "", "rejectUnknownSni": false, diff --git a/docs/ru/config/transports/websocket.md b/docs/ru/config/transports/websocket.md index d0fa19e7..94fb0daa 100644 --- a/docs/ru/config/transports/websocket.md +++ b/docs/ru/config/transports/websocket.md @@ -24,8 +24,8 @@ WebSocket распознает заголовок X-Forwarded-For в HTTP-зап // ... "streamSettings": { "network": "websocket", + // [!code focus:9] "wsSettings": { - // [!code focus:7] "acceptProxyProtocol": false, "path": "/", "host": "xray.com",