2dust / v2rayNG

A V2Ray client for Android, support Xray core and v2fly core
https://1.2345345.xyz
GNU General Public License v3.0
31.36k stars 4.81k forks source link

fake host/ws for Iranian users #3090

Closed farhadgh64 closed 3 weeks ago

farhadgh64 commented 3 weeks ago

The mahsaNG (https://github.com/GFW-knocker/MahsaNG) application has added a feature called "fake host". In Iran, one of the internet service providers, Irancell, has taken action that has disabled all configurations that use CloudFlare's http port. However, with the mahsaNG application's fake host feature, these configurations can be reconnected. I would like to request that you add this feature to your application.

APT-ZERO commented 3 weeks ago

What do you mean FakeHost? you can set ANY HOST HEADER for HTTP configs no matter it's REAL or FAKE HOST

farhadgh64 commented 3 weeks ago

ok, i'm not an expert but i try my best to explain: in WS Transmission on http port of cloudflare the ISP drops the connection (some says when you request ws host this happen but on my experience any connextion on cloudflare that have no SNI the hand shake not occur) on the v2rayn the session fails whit below log: _--------- beginning of main 05-07 20:00:05.676 I/GoLog (29743): loading core config 05-07 20:00:05.677 I/GoLog (29743): Preparing Domain: zula.ir:8880 05-07 20:00:05.683 I/GoLog (29743): Prepare Result: 05-07 20:00:05.683 I/GoLog (29743): Domain: zula.ir 05-07 20:00:05.683 I/GoLog (29743): Port: 8880 05-07 20:00:05.683 I/GoLog (29743): IPs: [188.114.96.3 188.114.97.3 2606:4700:3032::6815:452c 2606:4700:3031::ac43:cc54] 05-07 20:00:07.018 I/GoLog (29743): new core 05-07 20:00:07.286 I/GoLog (29743): start core 05-07 20:00:07.287 I/GoLog (29743): [Warning] core: Xray 1.8.11 started 05-07 20:00:07.334 D/com.v2ray.ang(29743): [/data/app/~~jw8YpjK75swnGww89xI7Aw==/com.v2ray.ang-QEMjC63pGthanRcYsPky2A==/lib/arm64/libtun2socks.so, --netif-ipaddr, 26.26.26.2, --netif-netmask, 255.255.255.252, --socks-server-addr, 127.0.0.1:10808, --tunmtu, 1500, --sock-path, sock_path, --enable-udprelay, --loglevel, notice] 05-07 20:00:07.337 D/com.v2ray.ang(29743): Process[pid=21268, hasExited=false] 05-07 20:00:07.337 D/com.v2ray.ang(29743): /data/user/0/com.v2ray.ang/files/sock_path 05-07 20:00:07.337 D/com.v2ray.ang(29743): libtun2socks.so check 05-07 20:00:07.353 I/tun2socks(21268): NOTICE(tun2socks): initializing BadVPN tun2socks 1.999.130 05-07 20:00:07.390 D/com.v2ray.ang(29743): sendFd tries: 0 05-07 20:00:07.391 I/tun2socks(21268): NOTICE(tun2socks): entering event loop 05-07 20:00:07.600 I/GoLog (29743): udp:127.0.0.1:46264 accepted udp:1.1.1.1:53 [socks -> proxy] 05-07 20:00:07.682 I/GoLog (29743): udp:127.0.0.1:44529 accepted udp:1.1.1.1:53 [socks -> proxy] 05-07 20:00:07.684 I/GoLog (29743): udp:127.0.0.1:40685 accepted udp:1.1.1.1:53 [socks -> proxy] 05-07 20:00:07.688 I/GoLog (29743): udp:127.0.0.1:56181 accepted udp:1.1.1.1:53 [socks -> proxy] 05-07 20:00:07.728 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:07.728 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:07.729 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:07.729 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:07.732 I/GoLog (29743): tcp:127.0.0.1:41420 accepted tcp:161.117.238.89:5222 [socks -> proxy] 05-07 20:00:07.811 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:08.014 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:08.015 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:08.022 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:08.112 I/GoLog (29743): fdConn FileConn Close Fd: 115 Err: file file+net Socket: setnonblock: bad file descriptor 05-07 20:00:08.412 I/GoLog (29743): udp:127.0.0.1:60052 accepted udp:1.1.1.1:53 [socks -> proxy] 05-07 20:00:08.459 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:08.514 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:08.803 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:09.099 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:09.099 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:11.319 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:11.409 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:11.410 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:11.414 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:11.451 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:11.451 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:12.155 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:12.690 I/GoLog (29743): tcp:127.0.0.1:41468 accepted tcp:1.1.1.1:53 [socks -> proxy] 05-07 20:00:12.690 I/GoLog (29743): tcp:127.0.0.1:41472 accepted tcp:1.1.1.1:53 [socks -> proxy] 05-07 20:00:12.692 I/GoLog (29743): tcp:127.0.0.1:41478 accepted tcp:1.1.1.1:53 [socks -> proxy] 05-07 20:00:12.731 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:12.743 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:12.821 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:14.750 D/com.v2ray.ang(29743): measureV2rayDelay: go.Universe$proxyerror: Get "https://www.google.com/generate_204": net/http: TLS handshake timeout 05-07 20:00:15.273 D/com.v2ray.ang(29743): tun2socks destroy 05-07 20:00:15.273 I/tun2socks(21268): NOTICE(tun2socks): termination requested 05-07 20:00:15.273 I/tun2socks(21268): NOTICE(tun2socks): tearing down 05-07 20:00:15.274 I/tun2socks(21268): NOTICE(tun2socks): Free TCP connections 05-07 20:00:15.274 I/tun2socks(21268): NOTICE(tun2socks): exiting 05-07 20:00:15.275 D/com.v2ray.ang(29743): libtun2socks.so exited 05-07 20:00:15.709 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:15.710 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:15.725 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:15.725 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:15.760 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:16.416 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:16.424 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:16.458 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:16.818 I/GoLog (29743): Using Prepared: 188.114.96.3 05-07 20:00:17.115 I/GoLog (29743): Not Using Prepared: tcp,172.67.221.114:8880 05-07 20:00:17.150 I/GoLog (29743): Not Using Prepared: tcp,zula.ir:2052 but on new MahsaNG App with the fakehost enabled as "cloudflare.com" the log is : --------- beginning of main 05-07 20:04:14.892 I/GoLog (22544): loading core config 05-07 20:04:14.893 I/GoLog (22544): Preparing Domain: zula.ir:8880 05-07 20:04:14.994 I/GoLog (22544): Prepare Result: 05-07 20:04:14.994 I/GoLog (22544): Domain: zula.ir 05-07 20:04:14.994 I/GoLog (22544): Port: 8880 05-07 20:04:14.994 I/GoLog (22544): IPs: [188.114.98.0 188.114.99.0 2a06:98c1:3120::3 2a06:98c1:3121::3] 05-07 20:04:15.100 I/GoLog (22544): new core 05-07 20:04:15.145 I/GoLog (22544): start core 05-07 20:04:15.146 I/GoLog (22544): [Warning] core: Xray 1.8.10 started 05-07 20:04:15.179 D/com.MahsaNet.MahsaNG(22544): [/data/app/~~8s84ndNfrPYDSNx5hkIVBg==/com.MahsaNet.MahsaNG-jpiXH69qHKbL3DSycM3rxw==/lib/arm64/libtun2socks.so, --netif-ipaddr, 26.26.26.2, --netif-netmask, 255.255.255.252, --socks-server-addr, 127.0.0.1:10808, --tunmtu, 1500, --sock-path, sock_path, --enable-udprelay, --loglevel, notice] 05-07 20:04:15.182 D/com.MahsaNet.MahsaNG(22544): Process[pid=23103, hasExited=false] 05-07 20:04:15.182 D/com.MahsaNet.MahsaNG(22544): /data/user/0/com.MahsaNet.MahsaNG/files/sockpath 05-07 20:04:15.182 D/com.MahsaNet.MahsaNG(22544): libtun2socks.so check 05-07 20:04:15.202 I/tun2socks(23103): NOTICE(tun2socks): initializing BadVPN tun2socks 1.999.130 05-07 20:04:15.233 D/com.MahsaNet.MahsaNG(22544): sendFd tries: 0 05-07 20:04:15.234 I/tun2socks(23103): NOTICE(tun2socks): entering event loop 05-07 20:04:15.409 I/GoLog (22544): udp:127.0.0.1:39971 accepted udp:1.1.1.1:53 [socks -> proxy] 05-07 20:04:15.448 I/GoLog (22544): Using Prepared: 188.114.98.0 05-07 20:04:15.471 I/GoLog (22544): udp:127.0.0.1:42451 accepted udp:1.1.1.1:53 [socks -> proxy] 05-07 20:04:15.473 I/GoLog (22544): udp:127.0.0.1:35306 accepted udp:1.1.1.1:53 [socks -> proxy] 05-07 20:04:15.477 I/GoLog (22544): udp:127.0.0.1:41802 accepted udp:1.1.1.1:53 [socks -> proxy] 05-07 20:04:15.489 I/GoLog (22544): Using Prepared: 188.114.98.0 05-07 20:04:15.509 I/GoLog (22544): Using Prepared: 188.114.98.0 05-07 20:04:15.590 I/GoLog (22544): Using Prepared: 188.114.98.0 05-07 20:04:15.594 I/GoLog (22544): tcp:127.0.0.1:42288 accepted tcp:161.117.238.89:5222 [socks >> proxy] 05-07 20:04:15.634 I/GoLog (22544): Using Prepared: 188.114.98.0 05-07 20:04:15.849 I/GoLog (22544): DNS accepted udp:1.1.1.1:53 [xray.system.7f92044b-05d7-4045-be95-3c558c96d4b1 -> proxy] 05-07 20:04:15.880 I/GoLog (22544): Using Prepared: 188.114.98.0 05-07 20:04:15.949 I/GoLog (22544): udp:127.0.0.1:47488 accepted udp:1.1.1.1:53 [socks -> proxy] 05-07 20:04:15.949 I/GoLog (22544): udp:127.0.0.1:60975 accepted udp:1.1.1.1:53 [socks -> proxy] 05-07 20:04:15.955 I/GoLog (22544): udp:127.0.0.1:53116 accepted udp:1.1.1.1:53 [socks -> proxy] 05-07 20:04:15.989 I/GoLog (22544): Using Prepared: 188.114.98.0 05-07 20:04:15.989 I/GoLog (22544): Using Prepared: 188.114.98.0 05-07 20:04:15.989 I/GoLog (22544): fdConn FileConn Close Fd: 122 Err: file file+net Socket: setnonblock: bad file descriptor 05-07 20:04:15.990 I/GoLog (22544): switched to next IP: 188.114.99.0 05-07 20:04:16.040 I/GoLog (22544): Using Prepared: 188.114.99.0 05-07 20:04:16.307 I/GoLog (22544): tcp:127.0.0.1:42294 accepted tcp:64.233.167.188:5228 [socks >> proxy] 05-07 20:04:16.344 I/GoLog (22544): Using Prepared: 188.114.99.0 05-07 20:04:16.430 I/GoLog (22544): Using Prepared: 188.114.99.0 05-07 20:04:17.673 D/com.MahsaNet.MahsaNG(22544): tun2socks destroy 05-07 20:04:17.673 I/tun2socks(23103): NOTICE(tun2socks): termination requested 05-07 20:04:17.673 I/tun2socks(23103): NOTICE(tun2socks): tearing down 05-07 20:04:17.673 I/tun2socks(23103): NOTICE(tun2socks): Free TCP connections 05-07 20:04:17.673 I/tun2socks(23103): NOTICE(tun2socks): exiting 05-07 20:04:17.675 D/com.MahsaNet.MahsaNG(22544): libtun2socks.so exited and the setting in app as the picture: photo_2024-05-07_20-11-28

2dust commented 3 weeks ago

Please go to xray-core

APT-ZERO commented 3 weeks ago

They just changed Address part of config, nothing special

farhadgh64 commented 3 weeks ago

i don't think so, because on that ISP there is no connection without SNI and http protocol has no SNI, then thats not a changed address