{ "log": { "loglevel": "warning" }, "inbounds": [ { "tag": "http-in", "listen": "0.0.0.0", "port": 8888, "protocol": "http", "settings": { "allowTransparent": false } }, { "tag": "socks-in", "listen": "0.0.0.0", "port": 1080, "protocol": "socks", "settings": { "auth": "noauth", "udp": true } }, { "tag": "tproxy-in", "listen": "0.0.0.0", "port": 12345, "protocol": "dokodemo-door", "settings": { "network": "tcp,udp", "followRedirect": true }, "streamSettings": { "sockopt": { "tproxy": "tproxy" } } } ], "outbounds": [ { "tag": "vless-out", "protocol": "vless", "settings": { "vnext": [ { "address": "${VLESS_SERVER_IP}", "port": 443, "users": [ { "id": "${VLESS_UUID}", "encryption": "none", "flow": "xtls-rprx-vision" } ] } ] }, "streamSettings": { "network": "tcp", "security": "reality", "realitySettings": { "serverName": "${VLESS_SNI}", "publicKey": "${VLESS_PUBLIC_KEY}", "shortId": "${VLESS_SHORT_ID}", "fingerprint": "chrome" } } }, { "tag": "direct", "protocol": "freedom" }, { "tag": "block", "protocol": "blackhole" } ], "routing": { "domainStrategy": "IPIfNonMatch", "rules": [ { "type": "field", "ip": ["geoip:private"], "outboundTag": "direct" }, { "type": "field", "inboundTag": ["http-in", "socks-in", "tproxy-in"], "outboundTag": "vless-out" } ] } }