Mike Wang

Results 115 comments of Mike Wang

十分感谢!稍后我会合入

感谢你们的贡献! @MasterOfStar @liuran001

仓库内置的脚本是作为示例使用的,所以选择了步骤比较简单的 Global API key。 https://github.com/MikeWang000000/Natter/blob/f8257e8cff8f013202d9af9d0f9af4d986c1c718/natter-docker/minecraft/cf-srv.py#L28-L32 上面的代码,修改为这样就可以使用 Token: ```python self.opener.addheaders = [ ("X-Auth-Email", auth_email), ("Authorization", "Bearer %s" % auth_key), ("Content-Type", "application/json") ] ```

看起来确实是个问题,感谢反馈。

这个问题应该已经修复,看下版本号是否为最新

Natter 的 socket 转发方法内的 UDP buffer 大小目前固定为 8192,如果收到的 UDP 数据包的内容大于这个值,就会被丢弃(丢包)。 可以手动把这个值改大,再试试情况是否有改善: https://github.com/MikeWang000000/Natter/blob/27d7c1d18ae70a2d6027b843ed162e3f4e28a818/natter.py#L887 Gost 的缓冲区大小不太清楚,看起来也是超过了限制。 想问一下您的使用场景?以及 MTU 值是否设置的比较大。

我这里暂时没有找到 Gost 配置缓冲值的方法,Natter 也确实没有将缓冲值参数带给 Gost。 ---- Natter socket 转发相关: - `self.buff_size` 改大几乎没有副作用。这个变量的单位是字节数。只要不是几千倍的离谱值都可以。 - 关于 Natter 超时,下一行有 `self.udp_timeout`,目前的默认值是 `60` 秒。 可以同时调一调这两个值看看是否有所改善。 ---- 以后 Natter 也会考虑将超时时间设置为命令行选项,方便修改。

是否是针对公网的 UDP 端口进行的测试?此时已经过运营商,UDP 可能会受 QoS 策略影响而偶发丢包。 --- 关于性能,`-m socket` 不是一种高性能的方法,而是一种“有 Python 就能跑”的一种兼容性考虑,适用于对延迟不是很敏感的场景。 性能最高的是 Linux 下的 `-m iptables`,并且不存在配置缓冲区的问题,因为是内核直接处理,而不是在应用层复制转发一遍。可惜 Windows 下缺少类似方法。 Windows 下还可以使用 `-m socat`,另一种工具。它在 Linux/Unix 上常见,也有移植到 Windows 的版本: https://sourceforge.net/projects/unix-utils/files/socat/1.7.3.2/

是的,不过只适用于gost v3。 如果使用的是 v3 版本,可以改一下这里: https://github.com/MikeWang000000/Natter/blob/27d7c1d18ae70a2d6027b843ed162e3f4e28a818/natter.py#L810 `"?ttl=%ds"` 改成 `"?ttl=%ds&readBufferSize=65535"` 或其他值,试试效果。

netsh 在各版本 Windows 上的功能各不相同;Server 版可以达到类似 Linux iptables 的效果,但是很少有人用到,也就没有做。 一般版本,使用 portproxy 的话只能转发 TCP,是不支持 UDP 的。并且它会独占端口,Natter 不能复用。 gost 转发的问题,只能调参数试试了,比如 gost udp 下的 `keepalive` 参数等等。不确定它的实际效果如何。