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

proxy/shadowsocks: dropping invalid UDP packet from: udp:127.0.0.1:43893 > proxy/shadowsocks: len(bs) <= 32 #2310

Closed
jnxyatmjx opened this issue Jul 10, 2023 · 2 comments
Labels
bug Something isn't working

Comments

@jnxyatmjx
Copy link

jnxyatmjx commented Jul 10, 2023

客户端使用shadowsocks-libev 的ss-tunnel。命令为 ss-tunnel -s 127.0.0.1 -p 19969 -k xxx -t 3 -L 1.1.1.1:53 -l 53535 -b 0.0.0.0 -m none -6 -u 作为客户端dns查询使用。
服务端使用xray的shadowsocks,配置为
{
"listen": "0.0.0.0",
"port": 8388,
"protocol": "shadowsocks",
"settings": {
"method": "none",
"password": "xy",
"level": 0,
"network": "tcp,udp",
"ivCheck": false
},
"streamSettings": {
"network": "tcp"
}
}
客户端和服务端shadowsocks协议中间还套了其他协议。
当我触发ss-tunnel的dns查询动作(比如浏览器访问 https://t.co/KXyz22S4o )后,服务端xray出现了错误dropping invalid UDP packet from: udp:127.0.0.1:43361 > proxy/shadowsocks: len(bs) <= 32,当我把加密方法改为有效加密方法(比如aes-128-gcm)后则一切正常。
shadowsocks-libev的none加密方法是自己实现的。即消息接收或发送后不做处理原样输出。【shadowsocks-libev的ss-tunnel和ss-server在none方法时能正常通讯】。
请问 xray 的shadowsocks协议none方法,是怎么样保证udp长度不小于32的呢?

@jnxyatmjx
Copy link
Author

image
这个非AEAD无加密测试方法也报错。

@Fangliding
Copy link
Member

经过测试已可以正常转发UDP

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants