{
"api" : {
"listen" : "127.0.0.1:10085",
"services" : [
"HandlerService"
],
"tag" : "api"
},
"dns" : {
"queryStrategy" : "UseIPv4"
},
"inbounds" : [
{
"listen" : "127.0.0.1",
"port" : 10808,
"protocol" : "socks",
"settings" : {
"auth" : "noauth",
"udp" : true
},
"sniffing" : {
"destOverride" : [
"quic",
"tls",
"http"
],
"enabled" : true,
"excludedDomains" : [
],
"metadataOnly" : false,
"routeOnly" : true
},
"tag" : "socks-in"
},
{
"listen" : "127.0.0.1",
"port" : 10809,
"protocol" : "http",
"settings" : {
"auth" : "noauth",
"udp" : true
},
"sniffing" : {
"destOverride" : [
"quic",
"tls",
"http"
],
"enabled" : true,
"excludedDomains" : [
],
"metadataOnly" : false,
"routeOnly" : true
},
"tag" : "http"
},
{
"listen" : "127.0.0.1",
"port" : 10820,
"protocol" : "socks",
"settings" : {
"auth" : "noauth",
"udp" : true
},
"sniffing" : {
"destOverride" : [
"quic",
"tls",
"http"
],
"enabled" : true,
"excludedDomains" : [
],
"metadataOnly" : false,
"routeOnly" : true
},
"tag" : "socks-direct"
}
],
"log" : {
"access" : "\/Users\/freedom\/Library\/Group Containers\/group.su.ffg.happ\/Library\/Application Support\/Xray\/logs\/access",
"dnsLog" : true,
"loglevel" : "Debug"
},
"outbounds" : [
{
"protocol" : "vless",
"settings" : {
"vnext" : [
{
"address" : "4.3.2.1",
"port" : 443,
"users" : [
{
"encryption" : "none",
"flow" : "xtls-rprx-vision",
"id" : "947b2a27-d5ba-4df4-8e0c-571899511104",
"level" : 8,
"security" : "auto"
}
]
}
]
},
"streamSettings" : {
"network" : "tcp",
"realitySettings" : {
"fingerprint" : "chrome",
"mldsa65Verify" : "",
"publicKey" : "If7Xei16e5rjIJWqTElGLmdJ-qu5rP7IttdCDJ4GusY",
"serverName" : "www.google.com",
"shortId" : "37b4985385c55e4c",
"show" : false,
"spiderX" : ""
},
"security" : "reality",
"tcpSettings" : {
"header" : {
"request" : {
"headers" : {
"Host" : [
""
]
},
"method" : "GET",
"path" : [
""
]
},
"type" : "none"
}
}
},
"tag" : "proxy"
},
{
"protocol" : "freedom",
"tag" : "direct"
},
{
"protocol" : "blackhole",
"tag" : "block"
}
],
"policy" : {
"levels" : {
"8" : {
"bufferSize" : 3,
"connIdle" : 100,
"downlinkOnly" : 4,
"handshake" : 3,
"statsUserDownlink" : false,
"statsUserOnline" : false,
"statsUserUplink" : false,
"uplinkOnly" : 2
}
},
"system" : {
"statsInboundDownlink" : false,
"statsInboundUplink" : false,
"statsOutboundDownlink" : false,
"statsOutboundUplink" : false
}
},
"remarks" : "Test",
"routing" : {
"domainStrategy" : "AsIs",
"rules" : [
{
"inboundTag" : [
"socks-direct"
],
"outboundTag" : "direct"
}
]
}
}
Integrity requirements
Description
Reality suddenly stopped working with one of my internet connections. I'm reporting this as a potential bug since your slogan is "Xray, Penetrates Everything."
It looks like the protocol itself gets blocked by the government firewall. I suspect that the firewall modifies the TLS ClientHello during the connection, causing the Xray server to reject it. However, I'm not sure whether this is the real cause, this is just a hypothesis based on the symptoms. If you need more information to debug and fix, I'm ready to help.
What I've found:
Let me know what I cando to collect more debug information for you.
Reproduction Method
You need to be under an ISP that blocks Reality like in my case. Just try to access Internet using Xray VLESS + Reality using the configurations provided by me.
Client config
Details
{ "api" : { "listen" : "127.0.0.1:10085", "services" : [ "HandlerService" ], "tag" : "api" }, "dns" : { "queryStrategy" : "UseIPv4" }, "inbounds" : [ { "listen" : "127.0.0.1", "port" : 10808, "protocol" : "socks", "settings" : { "auth" : "noauth", "udp" : true }, "sniffing" : { "destOverride" : [ "quic", "tls", "http" ], "enabled" : true, "excludedDomains" : [ ], "metadataOnly" : false, "routeOnly" : true }, "tag" : "socks-in" }, { "listen" : "127.0.0.1", "port" : 10809, "protocol" : "http", "settings" : { "auth" : "noauth", "udp" : true }, "sniffing" : { "destOverride" : [ "quic", "tls", "http" ], "enabled" : true, "excludedDomains" : [ ], "metadataOnly" : false, "routeOnly" : true }, "tag" : "http" }, { "listen" : "127.0.0.1", "port" : 10820, "protocol" : "socks", "settings" : { "auth" : "noauth", "udp" : true }, "sniffing" : { "destOverride" : [ "quic", "tls", "http" ], "enabled" : true, "excludedDomains" : [ ], "metadataOnly" : false, "routeOnly" : true }, "tag" : "socks-direct" } ], "log" : { "access" : "\/Users\/freedom\/Library\/Group Containers\/group.su.ffg.happ\/Library\/Application Support\/Xray\/logs\/access", "dnsLog" : true, "loglevel" : "Debug" }, "outbounds" : [ { "protocol" : "vless", "settings" : { "vnext" : [ { "address" : "4.3.2.1", "port" : 443, "users" : [ { "encryption" : "none", "flow" : "xtls-rprx-vision", "id" : "947b2a27-d5ba-4df4-8e0c-571899511104", "level" : 8, "security" : "auto" } ] } ] }, "streamSettings" : { "network" : "tcp", "realitySettings" : { "fingerprint" : "chrome", "mldsa65Verify" : "", "publicKey" : "If7Xei16e5rjIJWqTElGLmdJ-qu5rP7IttdCDJ4GusY", "serverName" : "www.google.com", "shortId" : "37b4985385c55e4c", "show" : false, "spiderX" : "" }, "security" : "reality", "tcpSettings" : { "header" : { "request" : { "headers" : { "Host" : [ "" ] }, "method" : "GET", "path" : [ "" ] }, "type" : "none" } } }, "tag" : "proxy" }, { "protocol" : "freedom", "tag" : "direct" }, { "protocol" : "blackhole", "tag" : "block" } ], "policy" : { "levels" : { "8" : { "bufferSize" : 3, "connIdle" : 100, "downlinkOnly" : 4, "handshake" : 3, "statsUserDownlink" : false, "statsUserOnline" : false, "statsUserUplink" : false, "uplinkOnly" : 2 } }, "system" : { "statsInboundDownlink" : false, "statsInboundUplink" : false, "statsOutboundDownlink" : false, "statsOutboundUplink" : false } }, "remarks" : "Test", "routing" : { "domainStrategy" : "AsIs", "rules" : [ { "inboundTag" : [ "socks-direct" ], "outboundTag" : "direct" } ] } }Server config
Details
{ "log": { "loglevel": "debug", "dnsLog": true }, "routing": { "rules": [], "domainStrategy": "AsIs" }, "inbounds": [ { "port": 443, "protocol": "vless", "tag": "vless_tls", "settings": { "clients": [ { "id": "947b2a27-d5ba-4df4-8e0c-571899511104", "email": "user1@myserver", "flow": "xtls-rprx-vision" } ], "decryption": "none" }, "streamSettings": { "network": "tcp", "security": "reality", "realitySettings": { "show": false, "dest": "www.google.com:443", "xver": 0, "serverNames": [ "www.google.com" ], "privateKey": "iEsTlYHFGjuHrj3GDY6fo8q6s21ceCwb1g1D_NAS2X0", "minClientVer": "", "maxClientVer": "", "maxTimeDiff": 0, "shortIds": [ "0123456789abcdef" ] } }, "sniffing": { "enabled": true, "destOverride": [ "http", "tls" ] } } ], "outbounds": [ { "protocol": "freedom", "tag": "direct" }, { "protocol": "blackhole", "tag": "block" } ] }Client log
From Happ
Server log
journalctI logs