Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用截止2月14日的代码编译,访问一些谷歌网站刷不出图片BUG #3024

Closed
chika0801 opened this issue Feb 14, 2024 · 22 comments

Comments

@chika0801
Copy link
Contributor

chika0801 commented Feb 14, 2024

使用VLESS Vision REALITY偷自己,复现过程:

访问 https://chromewebstore.google.com/category/themes?hl=zh-CN&utm_source=ext_sidebar 网页显示效果如图

图片

屏幕截图 2024-02-14 113105

服务端最简单配置
{
    "log": {
        "loglevel": "debug"
    },
    "inbounds": [
        {
            "listen": "0.0.0.0",
            "port": 443,
            "protocol": "vless",
            "settings": {
                "clients": [
                    {
                        "id": "chika",
                        "flow": "xtls-rprx-vision"
                    }
                ],
                "decryption": "none"
            },
            "streamSettings": {
                "network": "tcp",
                "security": "reality",
                "realitySettings": {
                    "dest": "/dev/shm/nginx.sock",
                    "xver": 1,
                    "serverNames": [
                        "域名"
                    ],
                    "privateKey": "************************************************",
                    "shortIds": [
                        "******************"
                    ]
                }
            },
            "sniffing": {
                "enabled": true,
                "destOverride": [
                    "http",
                    "tls",
                    "quic"
                ]
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom"
        }
    ]
}

已知

  1. 和客户端xray-core版本无关(有用1.8.7,有用最新编译版本,都复现)

  2. 服务端xray-core用版本1.8.7此现象消失,用最新编译的版本复现

我常浏览的网站中,就留意到谷歌相关的网站,有GMAIL,发现有些图片(如账户的头像)加载不了

chrome商店安装不了插件,图片加载失败,这个场景很好复现。不知道其他人遇到了没有。

@chise0713
Copy link
Contributor

v1.8.7...main

@qwerr0
Copy link

qwerr0 commented Feb 14, 2024

我编译了的是最新的, 使用的是 gRPC Reality 还没有遇到

@chika0801
Copy link
Contributor Author

我编译了的是最新的, 使用的是 gRPC Reality 还没有遇到,你那个日志好像漏IP了...

谢谢帮助,我再找时间试试其它协议组合,日志漏了服务端ip,我先删除了

@qwerr0
Copy link

qwerr0 commented Feb 14, 2024

我又试了一下 TCP Reality, 好像也是正常的, 我看日志里除了图片的域名 lh3.googleusercontent.com 外还有 play.google.com, feedback-pa.clients6.google.com, accounts.google.com, chromewebstore.google.com, lh3.google.com 这些域名

@qwerr0
Copy link

qwerr0 commented Feb 14, 2024

我仔细试了试, 现在我也遇到了,

https://lh3.googleusercontent.com/symkeYX2dCYyu0OOgAuxLSshF080Xe_oGZ-ymYLWjmqO1S-7SD1O9a7XyOJDxbpAuZAVHF3QfHnQkafjkpvUXVzQoA=s550-w550-h350

尝试用 curl 来访问

* TLSv1.3 (OUT), TLS alert, bad record mac (532):
* OpenSSL SSL_read: OpenSSL/3.0.11: error:0A000119:SSL routines::decryption failed or bad record mac, errno 0
* Failed receiving HTTP2 data
* Connection #0 to host lh3.googleusercontent.com left intact
curl: (56) OpenSSL SSL_read: OpenSSL/3.0.11: error:0A000119:SSL routines::decryption failed or bad record mac, errno 0

image

我刷新一会儿就可以访问, 重启浏览器后有概率遇到, gRPC Reality 正常, 我重启了几次都不会报这个错误

@Plainct
Copy link

Plainct commented Feb 14, 2024

Chrome 带的谷歌翻译用不了,开了系统代理也一样,日志里也看不到translate.googleapis.com的记录

@Fangliding
Copy link
Member

换配置试一试 比如不开vision或者不开reality

@qwerr0
Copy link

qwerr0 commented Feb 14, 2024

可能这两个commit有关 我revert掉重新编译试试:
Try to fix rare ssl error with freedom splice #3167a70
Try a better fix for rare ssl error with freedom splice #d21e9b0

我revert后就到目前还没遇到SSL错误的问题了, 大概率就是这两个commit的问题
受影响的是服务端, 只需要替换掉服务端的XrayCore就正常了

@chika0801
Copy link
Contributor Author

可能这两个commit有关 我revert掉重新编译试试: Try to fix rare ssl error with freedom splice #3167a70 Try a better fix for rare ssl error with freedom splice #d21e9b0

我revert后就到目前还没遇到SSL错误的问题了, 大概率就是这两个commit的问题 受影响的是服务端, 只需要替换掉服务端的XrayCore就正常了

我回忆了一下,当时也是看到这2个commit,就把服务端编译了更新了,然后,就留意到这一现象

@yuhan6665
Copy link
Member

应该还是 freedom splice 的问题 可能还是需要 sleep 我等会再改一下给你们测试

@yuhan6665
Copy link
Member

麻烦测一下最新的 main
之前看到有人在群里说 187 有 ssl error 然后用 ng 反复测试 找到偶尔可以复现的方法 研究了之后应该是跟 pipe 两边线程的读写有关 客户端的 splice 比较简单 splice 开始的信号就在数据源 服务器这边 inbound 发现可以 splice 之后要把这个信息传递给 Freedom 而 Freedom 那边有可能已经在读下一个 buffer 就是在这个地方容易出问题

@PaPerseller
Copy link

麻烦测一下最新的 main 之前看到有人在群里说 187 有 ssl error 然后用 ng 反复测试 找到偶尔可以复现的方法 研究了之后应该是跟 pipe 两边线程的读写有关 客户端的 splice 比较简单 splice 开始的信号就在数据源 服务器这边 inbound 发现可以 splice 之后要把这个信息传递给 Freedom 而 Freedom 那边有可能已经在读下一个 buffer 就是在这个地方容易出问题

最新代码已编译测试,ssl error 问题仍存在于服务端,与客户端无关。稳定复现测试方法:在本地go项目中使用 go get -u && go mod tidy 尝试更新 modules,stable 1.8.7 或回退至此正式版无问题,若编译上述两个 commits 及之后的版本,100% 出现 local error: tls: bad record MAC 报错

@RPRX
Copy link
Member

RPRX commented Feb 16, 2024

seed 的 release-blocker

@chika0801
Copy link
Contributor Author

测试了这个 09656bd ,故障现象没有解决。

@yuhan6665
Copy link
Member

非常感谢大家测试还提供了稳定复现的方法 应该修好了

@chika0801
Copy link
Contributor Author

测试了浏览器访问谷歌商店的网址和打开GMAIL网页看账户头像,图片都正常显示出来了。

@RPRX
Copy link
Member

RPRX commented Feb 18, 2024

没想到这么快就解决了,压力又回到了我这边

顺便试试 Go 1.22 编译的有无问题 5ea1315

@chika0801
Copy link
Contributor Author

没想到这么快就解决了,压力又回到了我这边

顺便试试 Go 1.22 编译的有无问题 5ea1315

go 1.22编译出来没问题,我用着win客户端,linux服务端,v2rayng客户端,都在用

@RPRX
Copy link
Member

RPRX commented Feb 19, 2024

go 1.22编译出来没问题,我用着win客户端,linux服务端,v2rayng客户端,都在用

今天看了篇文章说 go.mod 中写了 go 1.22 时 loopvar 新语义才会生效,所以麻烦都换成 ad3dd3d 试试

顺便当一下小白鼠 #3001 (comment) ,截至这个 commit 包含了相关内容

@enterusernamecontinue
Copy link

发现一个问题,如果中转机使用 “VLESS-Vision-TLS” 作为入栈,客户端无法访问 lh3.googleusercontent.com 。表现为 Chrome 应用商店无法加载扩展说明页图片,也无法下载安装扩展,会提示“Image decode failed”错误。(场景1)

但是客户端使用 “VLESS-gRPC-TLS”或“Socks5”连接中转机,则访问 lh3.googleusercontent.com正常,Chrome 应用商店中可以正常下载安装扩展。(场景2/3)

场景1 [Client]===VLESS-Vision-TLS===>[中转机]===VLESS-Vision-TLS===>[落地机]
场景2 [Client]===VLESS-gRPC-TLS===>[中转机]===VLESS-Vision-TLS===>[落地机]
场景3 [Client]===Socks5===>[中转机]===VLESS-Vision-TLS===>[落地机]

客户端入栈 UDP 和嗅探都开启、中转机和落地机的入栈流量嗅探也都启用。另外,尝试过禁用客户端 UDP 转发、禁用 Chrome QUIC 协议支持,还有无论“客户端/中转机/落地机”的嗅探加不加 quic 项 ,场景1都还是有问题。

{ 
    "sniffing": { 
        "enabled": true, 
        "destOverride": [ 
            "http", 
            "tls", 
            "quic" 
        ] 
    } 
}

目前还不知道“故障点”在什么地方……

@wwcd
Copy link

wwcd commented Oct 12, 2024

我也碰到和你一模一样的问题。

@autumnlong
Copy link

我不会抓代码复现,但是用vision+reality,无法使用谷歌识图,应该咋办

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests