MatsuriDayo / NekoBoxForAndroid

NekoBox for Android / sing-box / universal proxy toolchain for Android
https://matsuridayo.github.io/
Other
11.82k stars 991 forks source link

xray配置warp分流后访问openai提示Access denied,PC的NekoRay则正常 #120

Closed znlsl closed 1 year ago

znlsl commented 1 year ago

描述问题 安装warp socks代理,xray配置访问openai分流: "outbounds": [ { "protocol": "freedom", "settings": {} }, { "protocol": "blackhole", "settings": {}, "tag": "blocked" }, { "tag":"WARP", "protocol":"socks", "settings":{ "servers": [ { "address": "127.0.0.1", "port": 40000, "users": [] } ] } } ], "policy": { "system": { "statsInboundDownlink": true, "statsInboundUplink": true } }, "routing": { "domainStrategy":"AsIs", "rules": [ { "type":"field", "domain":[ "domain:intercom.io", "domain:openai.com", "ip.gs", "domain:ai.com" ], "outboundTag":"WARP" },

预期行为: 使用nekobox,打开chat.openai.com正常

实际行为: 使用nekobox,打开chat.openai.com提示Access denied

使用PC的NekoRay则正常

如何复现 使用我的订阅链接已按上述分流配置 vmess://eyJhZGQiOiJjZnQtbW9iaWxlLnpubHNsLmNmIiwiYWlkIjoiMCIsImhvc3QiOiJjZnQtb3NhLWFybTEuem5sc2wuY2YiLCJpZCI6ImIxZjRiYmE2LWVlYmEtNGE4OC1hYWM5LTVlYzE2ODliNTBlNiIsIm5ldCI6IndzIiwicGF0aCI6Ii9iMWY0YmJhNi1lZWJhLTRhODgtYWFjOS01ZWMxNjg5YjUwZTYiLCJwb3J0IjoiODAiLCJwcyI6IuaXpeacrCDlpKfpmKogYXJtMSBjZnQgaXAgODAg56e75YqoIiwic2N5IjoiYXV0byIsInNuaSI6IiIsInRscyI6IiIsInR5cGUiOiJub25lIiwidiI6IjIifQ==

  1. 打开nekobox,开启代理
  2. 用手机chrome等浏览器打开网页chat.openai.com
  3. 勾选网页提示的“确认您是真人”
  4. 网页提示access denied

日志 日志已经设置成debug,不过看上去操作过程没有什么打印,需要的话我可以再抓下

如果有日志,请上传。请在文档内查看导出日志的详细步骤。 NB4A 5173540733870892151.log

znlsl commented 1 year ago

我发现打开fakeDNS功能后,概率可以正常访问openai.com

arm64v8a commented 1 year ago

日志是空的。设置成debug,重启app后再抓。

概率可以正常访问

为什么是概率。issue 不接受风控等玄学问题。

znlsl commented 1 year ago

日志是空的。设置成debug,重启app后再抓。

概率可以正常访问

为什么是概率。issue 不接受风控等玄学问题。

NB4A 3580267771841658038.log

update:没有开fakeDNS,并且必现Access denied的log

znlsl commented 1 year ago

睡午觉前开了fakeDNS试了下没有denied,睡醒了刚开始有denied,过一会又OK了,暂时先不讨论fakeDNS,如果有需要我再复现抓瞎下log。

arm64v8a commented 1 year ago
{
    "outbounds": [
        {
            "protocol": "freedom",
            "settings": {}
        },
        {
            "protocol": "blackhole",
            "settings": {},
            "tag": "blocked"
        },
        {
            "tag": "WARP",
            "protocol": "socks",
            "settings": {
                "servers": [
                    {
                        "address": "127.0.0.1",
                        "port": 40000,
                        "users": []
                    }
                ]
            }
        }
    ],
    "policy": {
        "system": {
            "statsInboundDownlink": true,
            "statsInboundUplink": true
        }
    },
    "routing": {
        "domainStrategy": "AsIs",
        "rules": [
            {
                "type": "field",
                "domain": [
                    "domain:intercom.io",
                    "domain:openai.com",
                    "ip.gs",
                    "domain:ai.com"
                ],
                "outboundTag": "WARP"
            }
        ]
    }
}

没有开fakeDNS,并且必现Access denied

服务器没有开sniff,不会匹配到IP请求。所以必定是走服务器直连。

PC的NekoRay则正常

系统代理模式发的是域名,服务器能匹配,所以走了warp。

睡午觉前开了fakeDNS试了下没有denied,睡醒了刚开始有denied,过一会又OK了

fakedns不应该出现泄漏,你确定不是玄学问题?

https://github.com/MatsuriDayo/NekoBoxForAndroid/actions/runs/4849121907

这一版修了一个 fakedns 有关的问题,你可以试试。

znlsl commented 1 year ago
{
    "outbounds": [
        {
            "protocol": "freedom",
            "settings": {}
        },
        {
            "protocol": "blackhole",
            "settings": {},
            "tag": "blocked"
        },
        {
            "tag": "WARP",
            "protocol": "socks",
            "settings": {
                "servers": [
                    {
                        "address": "127.0.0.1",
                        "port": 40000,
                        "users": []
                    }
                ]
            }
        }
    ],
    "policy": {
        "system": {
            "statsInboundDownlink": true,
            "statsInboundUplink": true
        }
    },
    "routing": {
        "domainStrategy": "AsIs",
        "rules": [
            {
                "type": "field",
                "domain": [
                    "domain:intercom.io",
                    "domain:openai.com",
                    "ip.gs",
                    "domain:ai.com"
                ],
                "outboundTag": "WARP"
            }
        ]
    }
}

没有开fakeDNS,并且必现Access denied

服务器没有开sniff,不会匹配到IP请求。所以必定是走服务器直连。

PC的NekoRay则正常

系统代理模式发的是域名,服务器能匹配,所以走了warp。

睡午觉前开了fakeDNS试了下没有denied,睡醒了刚开始有denied,过一会又OK了

fakedns不应该出现泄漏,你确定不是玄学问题?

https://github.com/MatsuriDayo/NekoBoxForAndroid/actions/runs/4849121907

这一版修了一个 fakedns 有关的问题,你可以试试。

复现了几天都木有复现fakedns会出现问题,后续我继续跟踪!

服务器没有开sniff,不会匹配到IP请求。所以必定是走服务器直连。 --》请问这个是指xray的inbounds中enable sniffing么? "inbounds": [ { "listen": "127.0.0.1", "port": 62789, "protocol": "dokodemo-door", "settings": { "address": "127.0.0.1" }, "sniffing": { "enabled": true, "destOverride": ["http", "tls"] }, "tag": "api" } ],