Open elric8 opened 4 years ago
无法复现,请指出你的使用 socks 代理的客户端(如浏览器或其他应用)
无法复现,请指出你的使用 socks 代理的客户端(如浏览器或其他应用)
yon用的是sstap
手机端使用igniter 0.98, 服务器log出现相同错误
配置
{
"run_type": "server",
"local_addr": "::",
"local_port": 8110,
"remote_addr": "127.0.0.1",
"remote_port": 80,
"password": [
],
"log_level": 3,
"ssl": {
"cert": "/etc/trojan/fullchain.pem",
"key": "/etc/trojan/privkey.pem",
"key_password": "",
"cipher": "",
"prefer_server_cipher": true,
"alpn": [
"http/1.1"
],
"alpn_port_override": {
"h2": 81
},
"reuse_session": true,
"session_ticket": false,
"session_timeout": 600,
"plain_http_response": "",
"curves": "",
"dhparam": ""
},
"mysql": {
"enabled": true,
"server_addr": "127.0.0.1",
"server_port": 3306,
"database": "trojan",
"username": "trojan",
"password": "xxx",
"key": "",
"cert": "",
"ca": ""
},
"router": {
"enabled": true,
"block": [
"geoip:private"
],
"geoip": "/etc/trojan/geoip.dat",
"geosite": "/etc/trojan/geosite.dat"
}
}
nginx转发:
# Request dispatcher
stream {
# SNI forward
map $ssl_preread_server_name $backend_name {
xxx.xxx.com trojan;
default web;
}
# web
upstream web {
server localhost:8443;
}
# trojan
upstream trojan {
server localhost:8110;
}
# listen port 443 and enable ssl_preread
server {
listen 443 reuseport;
listen [::]:443 reuseport;
proxy_pass $backend_name;
ssl_preread on;
}
}
[08-05 08:35:31.459 26825:26825 V/TrojanConfig]
{"local_addr":"127.0.0.1","local_port":40785,"remote_server_remark":"xxx","remote_addr":"xxx.xxx.com","remote_port":443,"password":["xxx"],"log_level":2,"ssl":{"verify":true,"cert":"\/data\/user\/0\/io.github.trojan_gfw.igniter\/cache\/cacert.pem","cipher":"ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA","cipher_tls13":"TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384","alpn":["h2","http\/1.1"],"sni":"xxx.xxx.com"},"enable_ipv6":true}
[08-05 08:35:51.612 26825:26825 W/System.err]
java.net.URISyntaxException: Illegal character in path at index 82: github.com/p4gefau1t/trojan-go/proxy.(*Proxy).relayPacketLoop.func1.1:proxy.go:142 failed to parse udp packet addr
[08-05 08:35:51.612 26825:26825 W/System.err]
at io.github.trojan_gfw.igniter.TrojanURLHelper.ParseTrojanURL(TrojanURLHelper.java:26)
[08-05 08:35:51.612 26825:26825 W/System.err]
at io.github.trojan_gfw.igniter.MainActivity$16.run(MainActivity.java:445)
服务端的报错是因为 UDP 隧道长时间不活跃,连接被客户端关闭。
我使用其他 UDP 客户端的测试均正常,从日志来看很可能是你的客户端没有正确处理返回的 UDP 包。
另外 @HiFiPhile 的客户端日志是 UI 的日志,不包含任何关于连接的有效信息。
总结下来是这样的,也可能是Ignite的问题:
Ignite的log没有更多的信息
找到原因了 @p4gefau1t 只要開啓 多路復用 就會造成UDP大量報錯 現在關閉后,正常通訊
MUX不是特色功能么,开启MUX UDP报错是否有影响
我也遇到同样问题 软路由模式:nat 开启了websocket 使用mux.enabled=true时,程序的udp包转发失败,把mux.enabled设为false就正常了
版本:v0.8.2
遇到同样问题 客户端: igniter-go 0.9.5beta-SNAPSHOT, qv2ray 2.6.3:5840, shadowrocket 最新版,开启多路复用后服务端报错:
failed to parse udp packet addr | unable to read ATYP | EOF
服务端版本0.8.2
遇到同样问题 PC客户端:V2RayN v4.19,Mux未开启 Android客户端:V2RayNG v1.6.14,无Mux选项 服务器端:Trojan-go v0.8.2,用 tls-shunt-proxy v0.7.0 分流反代 trojan-go 流量出现此问题,netstat 查看连接发现 trojan-go 进程产生大量 udp6 连接,改为 trojan-go 直接监听 443 端口后此问题消失。
遇到相同的问题。 客户端用openwrt,passwall的trojan-go,服务端是容器p4gefau1t/trojan-go,配置除了添加ws和mux,其它都是默认的,在服务端日志也发现了这个问题[ERROR] 2022/05/26 01:46:38 github.com/p4gefau1t/trojan-go/tunnel/simplesocks.(*Server).acceptLoop:server.go:41 simplesocks server faield to read header | EOF
udp显示错误,TCP可以,手机上shadowrocket可以连接(udp不知道) 日志
配置文件: 服务端: { "run_type": "server", "local_addr": "0.0.0.0", "local_port": 443, "remote_addr": "127.0.0.1", "remote_port": 80, "password": ["XXX"], "udp_timeout": 3600, "ssl": { "cert": "/usr/src/trojan-cert/XXX", "key": "/usr/src/trojan-cert/XXX", "sni": "XXX" }, "router": { "enabled": true, "block": [ "geoip:private" ], "geoip": "/usr/share/trojan-go/geoip.dat", "geosite": "/usr/share/trojan-go/geosite.dat" } }
本地端: { "run_type": "client", "local_addr": "127.0.0.1", "local_port": 1080, "remote_addr": "XXX", "remote_port": 443, "password": [ "XXX" ], "ssl": { "sni": "XXX" }, "mux": { "enabled": true }, "router": { "enabled": true, "bypass": [ "geoip:cn", "geoip:private", "geosite:cn", "geosite:geolocation-cn" ], "block": [ "geosite:category-ads" ], "proxy": [ "geosite:geolocation-!cn" ], "default_policy": "proxy", "geoip": "/usr/share/trojan-go/geoip.dat", "geosite": "/usr/share/trojan-go/geosite.dat" } }