You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem?
目前 tun2socks 支持 双栈 ip 地址,但却不支持 双栈 ip fallback,具体表现为,当配置 双栈 ip 之后,如果本地路由配置是 ipv6 优先,但某个网站的 ipv6 地址无法连接(上游不支持 ipv6 ,或者网站本身 ipv6 坏了),这个网站就无法开启,浏览器不会 fallback 到 ipv4 。
# 假设物理网卡为 eth0,有双栈 ip
tun2socks -device tun://tun0 -proxy direct:// -interface eth0
ip addr add 10.0.0.1/24 dev tun0
ip -6 addr add 2001:db8::1/64 dev tun0
ip link set dev tun0 up
ip route add default dev tun0
ip -6 route add default dev tun0
Is your feature request related to a problem?
目前 tun2socks 支持 双栈 ip 地址,但却不支持 双栈 ip fallback,具体表现为,当配置 双栈 ip 之后,如果本地路由配置是 ipv6 优先,但某个网站的 ipv6 地址无法连接(上游不支持 ipv6 ,或者网站本身 ipv6 坏了),这个网站就无法开启,浏览器不会 fallback 到 ipv4 。
复现可以使用 https://ipv6-test.com/ 网站,用 direct:// 作为上游即可。
看右边的 Default 和 Fallback 项。
这个网站测试 Fallback 使用的域名是 http://fallback-v6.ipv6-test.com 和 http://fallback-v4.ipv6-test.com ,这两个域名都有双栈解析,但其中一栈对应的 ip 的 80 端口是个黑洞,浏览器必须能够 fallback 到另一栈才能正常访问。
Describe the solution you'd like
不太确定这个功能技术上能否实现。
想要实现这个功能,需要改变建立连接的机制,必须当上游建立连接成功,并开始传输数据之后,下游才能建立连接,当上游建立连接 失败,下游则不建立连接。此时,浏览器会 fallback 到别的地址。
现在的 tun2socks 的机制是,下游发起连接之后,tun2socks 就立即和下游建立连接,然后才去连接上游,当上游建立连接失败,下游建立的连接就关闭。此时,由于下游的连接是已经正常建立并关闭的,浏览器就不会再去 fallback 到别的地址。
Describe alternatives you've considered
无
Additional context
The text was updated successfully, but these errors were encountered: