yonggekkk / x-ui-yg

x-ui精简修改版脚本,集成argo固定临时双隧道(可共存)、本地WARP+Psiphon赛风VPN多国家分流功能,支持部分节点聚合订阅、sing-box订阅、clash-meta订阅的配置输出
https://ygkkk.blogspot.com/2023/05/reality-xui-chatgpt.html
1.71k stars 707 forks source link

[求助]Warp代理协议Socks出站不能走IPv6访问站点 #8

Closed toyo2333 closed 1 year ago

toyo2333 commented 1 year ago

你好,冒昧请教你下面的问题,我找了很多地方,试了很多种方法都解决不来,看了你的视频然后过来询问的:

先说明下,我用的不是你的xui是原版的,其他都是手工配置的,理论上应该没区别

我是双栈机器,原本vps就可以访问ChatGTP,浏览器打开 https://chat.openai.com/cdn-cgi/trace 里可以看到IP使用了VPS自己的IPv6地址。

我的目的也很简单就是:再套一层warp(用Warp-cli set-mode proxy的socks代理模式,只想用这个模式), 最终让浏览器以warp的IPv6访问ChatGTP

配置下来后:

1,在VPS上用curl https://chat.openai.com/cdn-cgi/trace --proxy socks5://127.0.0.1:40000 确认VPS默认优先使用了warp的IPv6访问了chatgpt,没问题

2,但我电脑用浏览器访问,但是却显示用了Warp的IPv4地址(还是通过上面的地址查看)。

我想了下,我浏览器应该没问题,因为原本就可以IPv6访问,VPS也没问题,因为上述命令行也是通过代理转发,所以也不是代理模式的问题。那就只能是Xray的问题了?实在搞不懂哪里出了问题,我的配置是这样的,改动的很少:

路由规则如下,增加了分流路由:

   {
        "type": "field",
        "outboundTag": "warp",
        "domain": [
            "openai.com",
            "ai.com",
            "chat.openai.com.cdn.cloudflare.net",
            "openaiapi-site.azureedge.net",
            "ip.sb"
        ]
      },

出站代理和你一样设置转发到socks协议的40000端口,发现只能走warp的IPv4后,我试了下面两种指定"UseIPv6"的设置都不行,无效!!

设置1:增加"streamSettings",在底层sockopt设置策略

    {
      "tag": "warp",
      "protocol": "socks",
      "streamSettings": {
      "sockopt": {"domainStrategy": "UseIPv6"}
      },
      "settings": {
        "servers": [
          {
            "address": "127.0.0.1",
            "port": 40000
          }
        ]
      }
    },

设置2:直接在settings里增加策略,这个和你的那个配置文件做法一样

    {
      "tag": "warp",
      "protocol": "socks",

      "settings": {
       "domainStrategy": "UseIPv6"
        "servers": [
          {
            "address": "127.0.0.1",
            "port": 40000
          }
        ]
      }
    },

恳请您能帮忙分析下哪里有问题,该如何实现我的需求(在用proxy模式的前提下)?

盼望回复,谢谢!

---补充一个情况,上面我还指定了ip.sb,我开启warp后,访问ip.sb页面显示我ipv4是not support,但ipv6显示的是我warp的ipv6的地址(不是我vps自身的那个ipv6地址),所以我就更晕了。。。

yonggekkk commented 1 year ago

以前可以的,经过几次升级就成现在这样了。。你问下WARP官方吧。。

toyo2333 commented 1 year ago

以前可以的,经过几次升级就成现在这样了。。你问下WARP官方吧。。

所以就目前的情况来看就是,只要不经过socks代理,那么可以比较灵活的指定走v6还是v4,但经过socks的就会出现我这种情况对吧?

yonggekkk commented 1 year ago

以前可以的,经过几次升级就成现在这样了。。你问下WARP官方吧。。

所以就目前的情况来看就是,只要不经过socks代理,那么可以比较灵活的指定走v6还是v4,但经过socks的就会出现我这种情况对吧?

Yes