XTLS / Xray-core

Xray, Penetrates Everything. Also the best v2ray-core, with XTLS support. Fully compatible configuration.
https://t.me/projectXray
Mozilla Public License 2.0
25.78k stars 3.97k forks source link

[Feature Request] Raw HTTP Headers #4040

Closed fodhelper closed 4 days ago

fodhelper commented 5 days ago

Xray already have Fragment and Noise GFW bypass methods that can bypass Russia and Iran GFW But there is more tricks like the ones in the popular tool byedpi and others for non tls HTTP connections and some closed source vpn apps also uses a combination of duplicate host header and space/null characters that worked on cf

If you add a option to set Raw HTTP Request Headers for HTTP based transports, it can include all possible http header tricks

POST /path HTTP/1.1\r\nHost: example.com\r\nUpgrade: websocket\r\n just pure user input for http header and no default header or value

If it's structure be like Noise so payloads can be base64 then users will be able to use non-ASCII characters and maybe even send each Host value in a different tcp packet with a delay/null-bytes between characters to fool GFW

Fangliding commented 4 days ago

基于http的传输都可以修改请求头。至于乱改http头部数据,大概不会有那么无聊的功能

fodhelper commented 4 days ago

HTTP-based transmissions can modify request headers.

can't do tricks like this https://github.com/XTLS/Xray-core/issues/3346 to be able to use a blocked domain for CDN and it's not possible to set header order to fake a real browser http request fingerprint (like https://github.com/wangluozhe/requests) it's a good feature, but as you don't like it and you even want to report it to cloudflare then i will not mention it again