-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Vision: 连接总是在服务端 connIdle 设置的 2 倍时间断线 #3348
Comments
测试时只把 Server config 里面的 connIdle 改成了 20,写 issue 时忘记更新了。Server log 可见 |
xtls对于timer的实现似乎不正确 关掉flow试一试 |
服务端和客户端 flow 都置空,的确没有再断了 |
关掉flow不会失去安全性吗 |
是bug 会修的 要关只是确认一下 |
This comment was marked as off-topic.
This comment was marked as off-topic.
已知潜在问题,双向 Splice 会导致 timer 没被更新从而掐断连接 @yuhan6665 |
可以吧 |
这个坑挺好填的,Splice 又观察不了, |
|
timer在 Xray-core/proxy/vless/outbound/outbound.go Line 238 in 26d49df
被传入 encoding.XtlsWrite() 在其内部好像只有一个简单粗暴的 Xray-core/proxy/vless/encoding/encoding.go Line 248 in 26d49df
在其他情况下 这个timer是这么用的 Xray-core/proxy/vless/outbound/outbound.go Line 241 in 26d49df
|
不知道 Linux 双向 Splice 后有没有自带不活跃超时机制, |
yuhan6665:我没实现双向 splice。。只是加了 freedom 下行方向。。 |
@yuhan6665 bug依然存在,症状相同,已确认双端运行的构建版本都是3168d27 server error.log
client Verror.txt
|
@MetaZuo 你的日志帮我想起 inbound 缺了一个修复 你再试下 https://github.com/XTLS/Xray-core/actions/runs/9153291749 |
@yuhan6665 经测试应该是解决了,感谢! |
Thanks all! |
完整性要求
版本
描述
Windows 电脑 pip 走代理下载包的时候总是在一定进度断线,手动使用 curl 下载可复现问题。以下载 torch 包为例,命令:
服务端配置的 connIdle 为 128,下载总是会在 4:17(即 256 s) 断线。服务端 connIdle 改为 20,则会在 40 s 时断线。尝试多组数字均满足规律。并且使用浏览器下载时能够正常完成,似乎仅影响 pip 和 上述 curl 命令等单条连接的情况。
客户端:最初在 Openwrt (arm64) 路由器透明代理(使用 passwall)时观察到,后为了排除路由器自身原因,使用多个设备连接公共 Wifi 测试,仅在 Windows 下仍然观察到此问题,Linux, ios, MacOS 无论自己的路由器/公共wifi均正常。可稳定复现。
服务器:切换使用2家云主机商的3台vps,现象相同。
重现方式
Server config:
Windows 电脑连接公共 wifi,使用以下配置,命令行运行 xray.exe
Client config:
日志
Server access.log:
Client Verror.txt:
Client Vaccess.txt:
The text was updated successfully, but these errors were encountered: