p4gefau1t / trojan-go

Go实现的Trojan代理,支持多路复用/路由功能/CDN中转/Shadowsocks混淆插件,多平台,无依赖。A Trojan proxy written in Go. An unidentifiable mechanism that helps you bypass GFW. https://p4gefau1t.github.io/trojan-go/
GNU General Public License v3.0
7.78k stars 1.68k forks source link

UDP以及多路复用似乎还存在问题 #202

Open XuuKoo opened 4 years ago

XuuKoo commented 4 years ago

使用环境:iOS,shadowrocket 问题描述:使用Google voice打电话时,服务端有大量报错,虽然不影响通话。打开多路复用后,使用Google voice打电话时,safari有几率出现无法打开google的情况。

服务端配置(使用haproxy负责tls): { "run_type": "server", "local_addr": "127.0.0.1", "local_port": 10086, "remote_addr": "127.0.0.1", "remote_port": 8899, "log_level": 1, "log_file": "/var/log/trojan-go/trojan-go.log", "password": [ ], "disable_http_check": false, "udp_timeout": 30, "tcp": { "no_delay": true, "keep_alive": true, "prefer_ipv4": true }, "mux": { "enabled": true, "concurrency": 8, "idle_timeout": 300 }, "transport_plugin": { "enabled": true, "type": "plaintext", "command": "", "option": "", "arg": [], "env": [] }, "router": { "enabled": true, "bypass": [], "proxy": [], "block": [ "geoip:private" ], "default_policy": "proxy", "domain_strategy": "as_is", "geoip": "/usr/share/trojan-go/geoip.dat", "geosite": "/usr/share/trojan-go/geosite.dat" } }

shadowrocket日志: image image

在客户端不开启多路复用时:

服务端错误日志: image

在客户端开启多路复用时:

服务端错误日志: image

在开启多路复用时,用voice拨打电话时,用safari试图访问Google.com,有几率出现如下错误: image 或: image

p4gefau1t commented 4 years ago

这个..看起来是 shadowrocket 的问题

XuuKoo commented 4 years ago

shadowrocket

如果确定是shadowrocket的问题的话……但是shadowrocket好像没有开github,还没法@

h31105 commented 4 years ago

@XuuKoo 只能帮你到这了... @cutepro

cute commented 4 years ago

@XuuKoo 资源回收考虑,默认是空闲 5 秒关闭 UDP 转发连接。可以在 Shadowrocket - 设置 - UDP - 超时时间改成大一些。

XuuKoo commented 4 years ago

@XuuKoo 资源回收考虑,默认是空闲 5 秒关闭 UDP 转发连接。可以在 Shadowrocket - 设置 - UDP - 超时时间改成大一些。

但是我在trojan-go服务端把udptimeout设置成5也有这个问题。

cute commented 4 years ago

@XuuKoo 资源回收考虑,默认是空闲 5 秒关闭 UDP 转发连接。可以在 Shadowrocket - 设置 - UDP - 超时时间改成大一些。

但是我在trojan-go服务端把udptimeout设置成5也有这个问题。

在 Shadowrocket - 设置 - UDP - 超时时间改成大一些。

XuuKoo commented 4 years ago

@XuuKoo 资源回收考虑,默认是空闲 5 秒关闭 UDP 转发连接。可以在 Shadowrocket - 设置 - UDP - 超时时间改成大一些。

但是我在trojan-go服务端把udptimeout设置成5也有这个问题。

在 Shadowrocket - 设置 - UDP - 超时时间改成大一些。

我知道。那服务端和shadowrocket里udp超时要设置成一样吗?

另外请问下,shadowrocket里的udp清理间隔具体是指什么?

cute commented 4 years ago

二者都在做相似的工作。可以设置成一样,但不是必须的。 5秒内没有数据传输。

XuuKoo commented 4 years ago

二者都在做相似的工作。可以设置成一样,但不是必须的。 5秒内没有数据传输。

hello 我刚刚测试了一下,trojan go服务端、shadowrocket的udp超时/清理时间设置成30s,上述trojan go服务端错误日志依旧。

cute commented 4 years ago

二者都在做相似的工作。可以设置成一样,但不是必须的。

5秒内没有数据传输。

hello

我刚刚测试了一下,trojan go服务端、shadowrocket的udp超时/清理时间设置成30s,上述trojan go服务端错误日志依旧。

首先,这是正常的关闭行为。其次无论多长时间这个日志总会出现的。

XuuKoo commented 4 years ago

二者都在做相似的工作。可以设置成一样,但不是必须的。

5秒内没有数据传输。

hello 我刚刚测试了一下,trojan go服务端、shadowrocket的udp超时/清理时间设置成30s,上述trojan go服务端错误日志依旧。

首先,这是正常的关闭行为。其次无论多长时间这个日志总会出现的。

那超时设置长一点是应对这个issue里的哪个问题呢

cute commented 4 years ago

二者都在做相似的工作。可以设置成一样,但不是必须的。

5秒内没有数据传输。

hello

我刚刚测试了一下,trojan go服务端、shadowrocket的udp超时/清理时间设置成30s,上述trojan go服务端错误日志依旧。

首先,这是正常的关闭行为。其次无论多长时间这个日志总会出现的。

那超时设置长一点是应对这个issue里的哪个问题呢

定时器检测:当前时间 - 上次传输时间 > 超时时间 则关闭。

XuuKoo commented 4 years ago

二者都在做相似的工作。可以设置成一样,但不是必须的。

5秒内没有数据传输。

hello

我刚刚测试了一下,trojan go服务端、shadowrocket的udp超时/清理时间设置成30s,上述trojan go服务端错误日志依旧。

首先,这是正常的关闭行为。其次无论多长时间这个日志总会出现的。

那超时设置长一点是应对这个issue里的哪个问题呢

定时器检测:当前时间 - 上次传输时间 > 超时时间 则关闭。

本issue提到了两个问题,根据上面的讨论,所以: 1.日志里的错误信息不是问题。 2.gv拨打电话时有几率大不开google.com,增加udp超时时间可以解决这个问题。 是这样吗?

cute commented 4 years ago

二者都在做相似的工作。可以设置成一样,但不是必须的。

5秒内没有数据传输。

hello

我刚刚测试了一下,trojan go服务端、shadowrocket的udp超时/清理时间设置成30s,上述trojan go服务端错误日志依旧。

首先,这是正常的关闭行为。其次无论多长时间这个日志总会出现的。

那超时设置长一点是应对这个issue里的哪个问题呢

定时器检测:当前时间 - 上次传输时间 > 超时时间 则关闭。

本issue提到了两个问题,根据上面的讨论,所以:

1.日志里的错误信息不是问题。

2.gv拨打电话时有几率大不开google.com,增加udp超时时间可以解决这个问题。

是这样吗?

2:不能。可以尝试设置禁止gv联网,然后在Shadowrocket - 设置 - 代理 - 代理地址 - 选择 127.0.0.1

XuuKoo commented 4 years ago

二者都在做相似的工作。可以设置成一样,但不是必须的。

5秒内没有数据传输。

hello

我刚刚测试了一下,trojan go服务端、shadowrocket的udp超时/清理时间设置成30s,上述trojan go服务端错误日志依旧。

首先,这是正常的关闭行为。其次无论多长时间这个日志总会出现的。

那超时设置长一点是应对这个issue里的哪个问题呢

定时器检测:当前时间 - 上次传输时间 > 超时时间 则关闭。

本issue提到了两个问题,根据上面的讨论,所以: 1.日志里的错误信息不是问题。 2.gv拨打电话时有几率大不开google.com,增加udp超时时间可以解决这个问题。 是这样吗?

2:不能。可以尝试设置禁止gv联网,然后在Shadowrocket - 设置 - 代理 - 代理地址 - 选择 127.0.0.1

请问lookback和tun这俩代理方式有啥区别。