3x-ui/docs/lib/xray
MHSanaei d50c419e28 fix(web): read the client address from the proxy end of forwarded headers
getRemoteIp took a trusted proxy's X-Real-IP first, otherwise the leftmost
X-Forwarded-For entry. A proxy that forwards a client-sent X-Real-IP
unchanged (Caddy, HAProxy) or appends to X-Forwarded-For leaves both values
to the client. X-Forwarded-For is now read from the right, skipping trusted
proxies. X-Real-IP is believed only when it agrees with that hop or stands
alone, and a disagreement falls back to the proxy's own address.

The documented Caddyfile and the docs reverse-proxy generator now overwrite
X-Real-IP with the address Caddy saw.
2026-10-24 01:39:23 +02:00
..
api-client.test.ts
api-client.ts
base64.test.ts
base64.ts
firewall.test.ts
firewall.ts
install.test.ts
install.ts
links.test.ts
links.ts
outbounds.test.ts
outbounds.ts
protocols.test.ts
protocols.ts
reality.test.ts
reality.ts
reverse-proxy.test.ts
reverse-proxy.ts
routing.test.ts
routing.ts
subscription.test.ts
subscription.ts
telegram.test.ts
telegram.ts