Guangming Li

Results 21 comments of Guangming Li

查看 net/http 的源代码,发现调用了bufio.ReadSlice('\n'),如果发送的数据里没有换行符会一直卡着。所以不能用 http.ReadRequest 来检测是否是 HTTP 请求,应该使用类似 http-parser 那种基于状态的检测。 * https://github.com/golang/go/blob/6f264801a76bbf1a0defacba4230efaefc47598c/src/bufio/bufio.go#L331 * https://github.com/nodejs/http-parser

@p4gefau1t 这样的话只能在使用websocket传输的时候才可以使用shadowsocks加密。

@p4gefau1t 目前客户端通过生成一个必须含有0x0a的AEAD IV可以解决。

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

> > @XuuKoo 资源回收考虑,默认是空闲 5 秒关闭 UDP 转发连接。可以在 Shadowrocket - 设置 - UDP - 超时时间改成大一些。 > > 但是我在trojan-go服务端把udptimeout设置成5也有这个问题。 在 Shadowrocket - 设置 - UDP - 超时时间改成大一些。

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

> > 二者都在做相似的工作。可以设置成一样,但不是必须的。 > > > 5秒内没有数据传输。 > > > > hello > > 我刚刚测试了一下,trojan go服务端、shadowrocket的udp超时/清理时间设置成30s,上述trojan go服务端错误日志依旧。 首先,这是正常的关闭行为。其次无论多长时间这个日志总会出现的。

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

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

此处处理不妥,如果要转发的 udp 是 ipv4 地址就会失败。 https://github.com/EAimTY/tuic/blob/d9b652bb11c21be204cf14c662381eba72a4978a/server/src/connection/udp.rs#L126