Closed 380wmda999 closed 1 week ago
我自己也在windows 下测试过 (linux没测) windows下 因为gvisor stack tcp sack的问题 导致下载速度 甚至不如go-tun2socks 但是稳定性 确实是比 go-tun2socks 好 而且 go-tun2socks 的上行 是确实很慢。
我看了下 您的库 和 go-tun2socks 的库 都是用的lwip 这个基础库 但是 为什么您这个上下行上限却比 go-tun2socks高很多 是因为c语言 和 go 性能层次上的差距 还是说因为go-tun2socks 本身实现的问题
具体我也没有仔细剖析过,主要是不太懂Go。我想将lwip的zero-copy利用起来可能是因素之一吧。
还有就是 我看了下 xjasonlyu/tun2socks 他的benchmark 他的评测下载速度是达到raw speed的80%的 你的benchmark 没有写raw speed是多少 就安装100%算(毫无损耗) xjasonlyu/tun2socks 也应该能达到60%+吧 但是你评测出来只有的下载速度 只有50%不到 所以不知道具体是个什么情况了
主要是没有万兆网卡来做这个测试,不过有在低CPU性能的设备上对比过:https://github.com/heiher/hev-socks5-tunnel/discussions/20
我自己也在windows 下测试过 (linux没测) windows下 因为gvisor stack tcp sack的问题 导致下载速度 甚至不如go-tun2socks 但是稳定性 确实是比 go-tun2socks 好 而且 go-tun2socks 的上行 是确实很慢。
受限于 hev-socks5-tunnel 的底层协程框架,目前只能工作在 Unix 平台上。如果你有兴趣做更多的对比测试,目前建议使用 Linux 平台。
主要是没有万兆网卡来做这个测试,不过有在低CPU性能的设备上对比过
网卡我看了下 xjasonlyu/tun2socks 测试的网卡是10G 你这边测试的是100G 但是他的测试结果 单并发和多并发下的下载速度差距不大 您这边 单线程下载是25G/s 多线程下载是 82G/s 也就是说 单线程25G/s 已经达到程序的上限了 我这么理解对么 您测试过raw speed 单线程下载是什么网速没 我看没有公布raw speed的测试结果
主要是没有万兆网卡来做这个测试,不过有在低CPU性能的设备上对比过
网卡我看了下 xjasonlyu/tun2socks 测试的网卡是10G 你这边测试的是100G 但是他的测试结果 单并发和多并发下的下载速度差距不大 您这边 单线程下载是25G/s 多线程下载是 82G/s 也就是说 单线程25G/s 已经达到程序的上限了 我这么理解对么 您测试过raw speed 单线程下载是什么网速没 我看没有公布raw speed的测试结果
不是100G物理网卡,而是veth的虚拟网卡。raw speed我还没跑过,如果性质与loopback类似的话,根据hev-socks5-server的结果,估计至少也有300Gbps以上吧。
不是100G物理网卡,而是veth的虚拟网卡。raw speed我还没跑过,如果性质与loopback类似的话,根据hev-socks5-server的结果,估计至少也有300Gbps以上吧。
好的 我自己再弄个虚拟机测试下 主要我常用的windows 不知道是windows下的问题还是啥 raw speed 也就是测 127.0.0.1 的上行都只有10G 感觉完全测不出来上限
貌似我在Ubuntu 下运行失败了 server.yaml
main:
workers: 4
port: 1080
listen-address: '::'
udp-port: 1080
udp-listen-address: '::1'
listen-ipv6-only: false
bind-address: '192.168.159.131'
domain-address-type: unspec
客户端 client.yaml 只修改了 mark: 438 然后 添加了路由
sudo ip rule add fwmark 0x438 lookup main pref 10 sudo ip -6 rule add fwmark 0x438 lookup main pref 10 sudo ip route add default dev tun0 table 20 sudo ip rule add lookup 20 pref 20 sudo ip -6 route add default dev tun0 table 20 sudo ip -6 rule add lookup 20 pref 20
然后就打不开网页了。。 server.yaml 的 bind-address 是绑定的本地上网的网卡吧 是路由哪里配置出问题了么 Ubuntu 版本是 20.04.2 LTS 客户端也有输出:
[2024-04-30 11:11:09] [E] 0x7fc86061ed70 socks5 client res.rep 4
[2024-04-30 11:11:09] [E] 0x7fc86061ed70 socks5 session handshake
[2024-04-30 11:11:14] [E] 0x7fc857381a20 socks5 client read response
[2024-04-30 11:11:14] [E] 0x7fc857381a20 socks5 session handshake
[2024-04-30 11:11:14] [E] 0x7fc8573817a0 socks5 client res.rep 4
[2024-04-30 11:11:14] [E] 0x7fc8573817a0 socks5 session handshake
[2024-04-30 11:11:19] [E] 0x7fc857381a20 socks5 client read response
[2024-04-30 11:11:19] [E] 0x7fc857381a20 socks5 session handshake
[2024-04-30 11:11:24] [E] 0x7fc8573817a0 socks5 client read response
[2024-04-30 11:11:24] [E] 0x7fc8573817a0 socks5 session handshake
[2024-04-30 11:11:29] [E] 0x7fc857381a20 socks5 client read response
[2024-04-30 11:11:29] [E] 0x7fc857381a20 socks5 session handshake
[2024-04-30 11:11:34] [E] 0x7fc8573817a0 socks5 client read response
[2024-04-30 11:11:34] [E] 0x7fc8573817a0 socks5 session handshake
[2024-04-30 11:11:39] [E] 0x7fc857381a20 socks5 client read response
[2024-04-30 11:11:39] [E] 0x7fc857381a20 socks5 session handshake
[2024-04-30 11:11:46] [E] 0x7fc8573817a0 socks5 client res.rep 4
[2024-04-30 11:11:46] [E] 0x7fc8573817a0 socks5 session handshake
server 端也收到请求的:
[2024-04-30 11:11:09] [E] 0x7fc7ae2c6a20 socks5 server connect
[2024-04-30 11:11:14] [E] 0x7fc7ad5dd340 socks5 server connect
[2024-04-30 11:11:19] [E] 0x7fc7ad5dd3e0 socks5 server connect
[2024-04-30 11:11:24] [E] 0x7fc7ae200c00 socks5 server connect
[2024-04-30 11:11:29] [E] 0x7fc7ae16a2a0 socks5 server connect
[2024-04-30 11:11:34] [E] 0x7fc7ad699b60 socks5 server connect
[2024-04-30 11:11:39] [E] 0x7fc7ada48160 socks5 server connect
[2024-04-30 11:11:46] [E] 0x7fc7ad7a1de0 socks5 server connect
可就是打不开网页
如果server也跑在部署了tunnel的系统上,需要让server的outgoing连接绕过tunnel。简单的方法是把server跑在一个特别的用户上,比如nobody或daemon,然后增加一个pref 10的rule:
sudo ip rule add uidrange x-x lookup main pref 10
sudo ip -6 rule add uidrange x-x lookup main pref 10
ok 能上网了 iperf3 上下行速度测试也很高 但是 有几个问题:
ping www.baidu.com
PING www.a.shifen.com (183.2.172.185) 56(84) bytes of data.
直接没有回应了...收不到回应
我用firefox/chrome 上网 打开网页 新建立连接的时候 特别慢 花了好几秒 ( tun2socks-go 也是这样 但是 gvisor 不会 是lwip导致的???)
对了 还有一点 这个只有chrome 才有 就是在访问 view-source:https://www.baidu.com/favicon.ico 因为chrome 默认会带一个 favicon.ico的请求 所以是两个请求 长连接下 第一个请求响应大约是30ms 第二个请求有三分之1概率 要花费60ms+ (也就是一直刷的情况) 如果不开tun的话 随便怎么刷 基本两个请求都是30ms 特殊情况也只会是第一个请求的响应时间很长 而不会出现第二个请求响应时间翻倍的情况
我这边没注意到有HTTP请求特别慢的情况,检查一下是不是DNS的问题,浏览器里开发者工具里好像可以看到请求各个阶段花的时间。
tun2socks目前只处理TCP和UDP,其它协议不处理。
我这边没注意到有HTTP请求特别慢的情况,检查一下是不是DNS的问题,浏览器里开发者工具里好像可以看到请求各个阶段花的时间。
你说的应该是长连接快 我指的是第一次建立连接 我这边Ubuntu 桌面版本测试的
说来也比较奇怪 chrome 经常容易挂掉 firefox的话 慢的概率 3分之一吧 chrome 版本是: Version 124.0.6367.118 (Official Build) (64-bit)
初始连接也没遇到过,感观上是正常的。会不会是环境没有IPv6?hev-socks5-tunnel关掉IPv6试试。
初始连接也没遇到过,感观上是正常的。会不会是环境没有IPv6?hev-socks5-tunnel关掉IPv6试试。
外网的话 确实只有ipv4网络 tunnel的配置里面 ipv6 只有个这个 ipv6: 'fc00::1' 是server.yaml里面关?
初始连接也没遇到过,感观上是正常的。会不会是环境没有IPv6?hev-socks5-tunnel关掉IPv6试试。
你要不下个chrome 试试 我感觉问题多是出在chrome 浏览器上面 但是 客观上来感觉 又不大可能是chrome 本身的问题
tunnel里关,注释掉这行: https://github.com/heiher/hev-socks5-tunnel/blob/master/conf/main.yml#L13
晚点我测测chrome
还真是ipv6的问题 注释掉就很快了 感觉这应该是自动的吧 我外网只有ipv4 tunnel这个配置了ipv6 他优先走tun的ipv6去了 ?
可能是有IPv6地址会优先尝试一下,超时再fallback到IPv4,socks5服务端没有IPv6就不要在tunnel里开。
tun2socks目前只处理TCP和UDP,其它协议不处理。
其实icmp可以开一下 go-tun2socks 就是开了的 只需要在lwipopts.h 里面 定义一下 LWIP_ICMP 1(默认是0) 和 LWIP_ICMP6 1 就行了 这个是他协议栈里面自带的
不能反应真实的延迟,可能会有副作用。
关了ipv6好像会好一些 但是 第一次连接好像还是存在问题 我的测试方式是: 打开谷歌浏览器 f12 (disable cache是勾选上的) 到network 输入网址 view-source:https://www.baidu.com/favicon.ico 回车 第一次 确实还是比较慢的 每次我都是关闭浏览器 再重新打开 测试这样的操作 偶尔stalled的时间会比较长(5-8s左右) 出现的概率 大概10次里面出现2-3次吧 但是如果我不开tun 这样测试 就不会出现这样的情况
不能反应真实的延迟,可能会有副作用。
这个 我看gvisor的icmp也是这么操作的 直接做的回复 有点像fake dns 这种操作 因为我自己也是fake了dns的 server端实际收到的是域名 而不是ip地址 这样可以防止客户端ip解析错误(dns污染)这种情况 还有就是 客户端解析的ip 可能并不是服务端对应该域名最好的ip 所以还是服务端解析域名比较好一点
./hev-socks5-server-linux-x86_64 server.yaml
[2024-04-30 23:58:41] [E] 0x7fbe5e2428e0 socks5 server connect
[2024-04-30 23:58:46] [E] 0x7fbe5e242840 socks5 server connect
[2024-04-30 23:59:36] [E] 0x7fbe5e2423e0 socks5 server connect
[2024-04-30 23:59:45] [2024-04-30 23:59:45] [E] [E] 0x7fbe5e2da340 socks5 server connect0x7fbe5e325e80 socks5 server connect
[2024-04-30 23:59:45] [E] 0x7fbe5e325700 socks5 server connect
[2024-04-30 23:59:47] [E] 0x7fbe5eee6970 socks5 server connect
[2024-05-01 00:00:04] [E] 0x7fbe5df848e0 socks5 server connect
[2024-05-01 00:00:10] [E] 0x7fbe5e248e80 socks5 server connect
[2024-05-01 00:00:10] [E] 0x7fbe5e03c0c0 socks5 server connect
[2024-05-01 00:00:10] [E] 0x7fbe5e248ca0 socks5 server connect
[2024-05-01 00:00:10] [E] 0x7fbe5e248c00 socks5 server connect
[2024-05-01 00:00:11] [E] 0x7fbe5eee60e0 socks5 server connect
[2024-05-01 00:00:11] [E] 0x7fbe5eee6ab0 socks5 server connect
[2024-05-01 00:00:16] [2024-05-01 00:00:16] [E] [E] 0x7fbe5ee8f0d0 socks5 server connect0x7fbe5e03c0c0 socks5 server connect
[2024-05-01 00:00:16] [E] 0x7fbe5e248e80 socks5 server connect
[2024-05-01 00:00:16] [E] 0x7fbe5f05a8d0 socks5 server connect
[2024-05-01 00:00:16] [E] 0x7fbe5eee6d60 socks5 server connect
[2024-05-01 00:00:16] [E] 0x7fbe5eee75f0 socks5 server connect
[2024-05-01 00:00:16] [E] 0x7fbe5e248c00 socks5 server connect
[2024-05-01 00:00:16] [E] 0x7fbe5e248ca0 socks5 server connect
[2024-05-01 00:01:52] [E] 0x7fbe5eee6180 socks5 server connect
[2024-05-01 00:01:54] [E] 0x7fbe5e49e520 socks5 server connect
[2024-05-01 00:01:55] [E] 0x7fbe5e3bbca0 socks5 server connect
[2024-05-01 00:01:57] [E] 0x7fbe5e325a20 socks5 server connect
[2024-05-01 00:01:58] [E] 0x7fbe5eee6180 socks5 server connect
[2024-05-01 00:02:00] [E] 0x7fbe5dee9c00 socks5 server connect
[2024-05-01 00:02:01] [E] 0x7fbe5dee92a0 socks5 server connect
[2024-05-01 00:02:04] [E] 0x7fbe5dee92a0 socks5 server connect
[2024-05-01 00:02:07] [E] 0x7fbe5e453340 socks5 server connect
[2024-05-01 00:02:11] [E] 0x7fbe5e370020 socks5 server connect
[2024-05-01 00:02:11] [E] 0x7fbe5dee9d40 socks5 server connect
[2024-05-01 00:02:13] [E] 0x7fbe5e325980 socks5 server connect
[2024-05-01 00:02:13] [E] 0x7fbe5e3bb700 socks5 server connect
[2024-05-01 00:02:14] [E] 0x7fbe5e3252a0 socks5 server connect
[2024-05-01 00:02:14] [E] 0x7fbe5dee9d40 socks5 server connect
[2024-05-01 00:02:26] [E] 0x7fbe5e3705c0 socks5 server connect
[2024-05-01 00:02:30] [2024-05-01 00:02:30] [E] [E] 0x7fbe5ed07de0 socks5 server connect0x7fbe5ed087a0 socks5 server connect
[2024-05-01 00:02:30] [E] 0x7fbe5e4e9520 socks5 server connect
[2024-05-01 00:02:35] [E] 0x7fbe5e2427a0 socks5 server connect
[2024-05-01 00:02:35] [E] 0x7fbe5ed08340 socks5 server connect
[2024-05-01 00:02:35] [E] 0x7fbe5ed08200 socks5 server connect
[2024-05-01 00:02:35] [E] 0x7fbe5ed080c0 socks5 server connect
[2024-05-01 00:02:35] [E] 0x7fbe5e1dc700 socks5 server connect
[2024-05-01 00:02:35] [E] 0x7fbe5e1dc2a0 socks5 server connect
[2024-05-01 00:02:36] [2024-05-01 00:02:36] [E] [E] 0x7fbe5e1dc160 socks5 server connect0x7fbe5e242020 socks5 server connect
[2024-05-01 00:02:38] [E] 0x7fbe5e28fe80 socks5 server connect
[2024-05-01 00:02:38] [E] 0x7fbe5e2427a0 socks5 server connect
[2024-05-01 00:02:38] [E] 0x7fbe5e2da980 socks5 server connect
[2024-05-01 00:02:38] [E] 0x7fbe5e28fc00 socks5 server connect
[2024-05-01 00:02:38] [E] 0x7fbe5ed080c0 socks5 server connect
[2024-05-01 00:02:38] [E] 0x7fbe5e4e9520 socks5 server connect
[2024-05-01 00:02:42] [E] 0x7fbe5ed080c0 socks5 server connect
[2024-05-01 00:02:42] [E] 0x7fbe5ed08340 socks5 server connect
[2024-05-01 00:02:42] [E] 0x7fbe5e2daac0 socks5 server connect
[2024-05-01 00:02:42] [E] 0x7fbe5ed07de0 socks5 server connect
[2024-05-01 00:02:42] [E] 0x7fbe5e3700c0 socks5 server connect
[2024-05-01 00:02:45] [E] 0x7fbe5ed080c0 socks5 server connect
[2024-05-01 00:02:45] [E] 0x7fbe5e1dc160 socks5 server connect
[2024-05-01 00:02:45] [E] 0x7fbe5e1dc2a0 socks5 server connect
[2024-05-01 00:02:45] [E] 0x7fbe5e1dc700 socks5 server connect
[2024-05-01 00:02:45] [E] 0x7fbe5e2dab60 socks5 server connect
[2024-05-01 00:02:47] [E] 0x7fbe5e03ce80 socks5 server connect
[2024-05-01 00:02:48] [2024-05-01 00:02:48] [E] [E] 0x7fbe5e03c8e0 socks5 server connect0x7fbe5e1dc160 socks5 server connect
[2024-05-01 00:02:48] [E] 0x7fbe5f05ad50 socks5 server connect
[2024-05-01 00:02:50] [E] 0x7fbe5ed07de0 socks5 server connect
[2024-05-01 00:02:50] [E] 0x7fbe5e2423e0 socks5 server connect
[2024-05-01 00:02:50] [E] 0x7fbe5e03ce80 socks5 server connect
[2024-05-01 00:02:54] [E] 0x7fbe5f05ad50 socks5 server connect
[2024-05-01 00:02:57] [E] 0x7fbe5e325e80 socks5 server connect
[2024-05-01 00:02:59] [2024-05-01 00:02:59] [2024-05-01 00:02:59] [E] [E] [E] 0x7fbe5dee9520 socks5 server connect0x7fbe5e325700 socks5 server connect0x7fbe5ed07de0 socks5 server connect
[2024-05-01 00:02:59] [E] 0x7fbe5f05ad50 socks5 server connect
[2024-05-01 00:02:59] [E] 0x7fbe5e28f160 socks5 server connect
[2024-05-01 00:02:59] [E] 0x7fbe5e28f020 socks5 server connect
[2024-05-01 00:02:59] [E] 0x7fbe5e03c7a0 socks5 server connect
[2024-05-01 00:03:02] [E] 0x7fbe5df84b60 socks5 server connect
[2024-05-01 00:03:02] [E] 0x7fbe5e2dab60 socks5 server connect
[2024-05-01 00:03:02] [E] 0x7fbe5f05ad50 socks5 server connect[2024-05-01 00:03:02]
[E] 0x7fbe5e03c8e0 socks5 server connect
[2024-05-01 00:03:02] [E] 0x7fbe5e242020 socks5 server connect
[2024-05-01 00:03:02] [E] 0x7fbe5e2420c0 socks5 server connect
[2024-05-01 00:03:02] [E] 0x7fbe5f05aea0 socks5 server connect
[2024-05-01 00:03:05] [E] 0x7fbe5e28f020 socks5 server connect
[2024-05-01 00:03:05] [E] 0x7fbe5dee9520 socks5 server connect
[2024-05-01 00:03:06] [E] 0x7fbe5df84660 socks5 server connect
[2024-05-01 00:03:09] [E] 0x7fbe5df84660 socks5 server connect
[2024-05-01 00:03:12] [E] 0x7fbe5e28f020 socks5 server connect
[2024-05-01 00:03:15] [E] 0x7fbe5e28f020 socks5 server connect
[2024-05-01 00:03:15] [E] 0x7fbe5eea3210 socks5 server connect
[2024-05-01 00:03:18] [E] 0x7fbe5e28f020 socks5 server connect
是server 端的关系么 我看好多时候都是很久没有输出 然后突然一下子打印好几个 socks5 server connect 有些时候 打印还被中间插入了 就像这种
[2024-05-01 00:03:02] [2024-05-01 00:03:02] [E] [E] 0x7fbe5ed07de0 socks5 server connect0x7fbe5e03c7a0 socks5 server connect
看看是不是 ulimit -n 限制的打开文件数太少?调高到 65535 试试。
不能反应真实的延迟,可能会有副作用。
这个 我看gvisor的icmp也是这么操作的 直接做的回复 有点像fake dns 这种操作 因为我自己也是fake了dns的 server端实际收到的是域名 而不是ip地址 这样可以防止客户端ip解析错误(dns污染)这种情况 还有就是 客户端解析的ip 可能并不是服务端对应该域名最好的ip 所以还是服务端解析域名比较好一点
没有打算在tun2socks上实现fake dns,本地的socks5 server可以做。
看看是不是 ulimit -n 限制的打开文件数太少?调高到 65535 试试。
我默认 ulimit 是 4096 4000多个连接 我觉得 测试应该没有达到吧 我改成65535再试试看
./hev-socks5-server-linux-x86_64 server.yaml
[2024-05-01 00:20:36] [W] set limit nofile
[2024-05-01 00:20:39] [E] 0x7fd4d394ed70 socks5 server connect
[2024-05-01 00:20:40] [E] 0x7fd4d3943420 socks5 server connect
[2024-05-01 00:20:45] [E] 0x7fd4d2bb9980 socks5 server connect
[2024-05-01 00:21:24] [E] 0x7fd4d2bb9160 socks5 server connect
[2024-05-01 00:21:24] [E] 0x7fd4d2bb9340 socks5 server connect
[2024-05-01 00:21:24] [E] 0x7fd4d2bb9020 socks5 server connect
[2024-05-01 00:21:24] [E] 0x7fd4d2eb33e0 socks5 server connect
[2024-05-01 00:21:24] [E] 0x7fd4d31f8200 socks5 server connect
[2024-05-01 00:21:24] [E] 0x7fd4d32430c0 socks5 server connect
[2024-05-01 00:21:24] [E] 0x7fd4d2b69840 socks5 server connect
[2024-05-01 00:21:27] [E] 0x7fd4d2bb9160 socks5 server connect
[2024-05-01 00:21:27] [E] 0x7fd4d2b69980 socks5 server connect
[2024-05-01 00:21:27] [E] 0x7fd4d2b69a20 socks5 server connect
[2024-05-01 00:21:27] [E] 0x7fd4d2b69ac0 socks5 server connect
[2024-05-01 00:21:27] [E] 0x7fd4d2bb9020 socks5 server connect
[2024-05-01 00:21:27] [E] 0x7fd4d37d9160 socks5 server connect
[2024-05-01 00:21:30] [E] 0x7fd4d2b69a20 socks5 server connect
[2024-05-01 00:21:30] [E] 0x7fd4d37d9b20 socks5 server connect
[2024-05-01 00:21:33] [E] 0x7fd4d37d8ab0 socks5 server connect
[2024-05-01 00:21:36] [E] 0x7fd4d2a892a0 socks5 server connect
[2024-05-01 00:21:44] [E] 0x7fd4d36205c0 socks5 server connect
[2024-05-01 00:21:48] [E] 0x7fd4d3620160 socks5 server connect
[2024-05-01 00:21:48] [E] 0x7fd4d2b6a020 socks5 server connect
[2024-05-01 00:22:00] [E] 0x7fd4d3701ac0 socks5 server connect
[2024-05-01 00:22:01] [E] 0x7fd4d36202a0 socks5 server connect
[2024-05-01 00:22:03] [E] 0x7fd4d366b660 socks5 server connect
[2024-05-01 00:22:03] [2024-05-01 00:22:03] [2024-05-01 00:22:03] [E] [E] [E] 0x7fd4d37769e0 socks5 server connect0x7fd4d3620200 socks5 server connect0x7fd4d366b340 socks5 server connect
[2024-05-01 00:22:03] [E] 0x7fd4d3620020 socks5 server connect
[2024-05-01 00:22:03] [2024-05-01 00:22:03] [2024-05-01 00:22:03] [E] [E] [E] 0x7fd4d3776940 socks5 server connect0x7fd4d37d9bc0 socks5 server connect0x7fd4d366b2a0 socks5 server connect
[2024-05-01 00:22:03] [E] 0x7fd4d3701ac0 socks5 server connect
[2024-05-01 00:22:04] [E] 0x7fd4d37d99e0 socks5 server connect
[2024-05-01 00:22:06] [2024-05-01 00:22:06] [E] [E] 0x7fd4d3620020 socks5 server connect0x7fd4d366b2a0 socks5 server connect
[2024-05-01 00:22:06] [E] 0x7fd4d366b660 socks5 server connect
[2024-05-01 00:22:06] [E] 0x7fd4d366b340 socks5 server connect
[2024-05-01 00:22:06] [E] 0x7fd4d3620200 socks5 server connect
[2024-05-01 00:22:06] [E] 0x7fd4d37769e0 socks5 server connect
[2024-05-01 00:22:06] [E] 0x7fd4d37763d0 socks5 server connect
[2024-05-01 00:22:06] [E] 0x7fd4d3701ac0 socks5 server connect
[2024-05-01 00:22:07] [E] 0x7fd4d3776940 socks5 server connect
[2024-05-01 00:22:10] [E] 0x7fd4d3620200 socks5 server connect
[2024-05-01 00:22:10] [E] 0x7fd4d3620020 socks5 server connect
[2024-05-01 00:22:11] [E] 0x7fd4d3776940 socks5 server connect
[2024-05-01 00:22:12] [E] 0x7fd4d366b340 socks5 server connect
[2024-05-01 00:22:12] [E] 0x7fd4d2a89d40 socks5 server connect
[2024-05-01 00:22:13] [E] 0x7fd4d2a89c00 socks5 server connect
[2024-05-01 00:22:13] [E] 0x7fd4d37f8830 socks5 server connect
[2024-05-01 00:22:14] [E] 0x7fd4d2a89b60 socks5 server connect
[2024-05-01 00:22:14] [E] 0x7fd4d37f8970 socks5 server connect
[2024-05-01 00:22:15] [E] 0x7fd4d3620020 socks5 server connect
[2024-05-01 00:22:15] [E] 0x7fd4d366b340 socks5 server connect
[2024-05-01 00:22:16] [E] 0x7fd4d3620200 socks5 server connect
[2024-05-01 00:22:16] [E] 0x7fd4d2ce7480 socks5 server connect
[2024-05-01 00:22:17] [E] 0x7fd4d2a89b60 socks5 server connect
[2024-05-01 00:22:17] [E] 0x7fd4d2a89c00 socks5 server connect
[2024-05-01 00:22:19] [E] 0x7fd4d3620200 socks5 server connect
[2024-05-01 00:22:19] [E] 0x7fd4d366b340 socks5 server connect
[2024-05-01 00:22:20] [E] 0x7fd4d3111160 socks5 server connect
[2024-05-01 00:22:20] [E] 0x7fd4d2e68520 socks5 server connect
[2024-05-01 00:22:20] [E] 0x7fd4d2f49b60 socks5 server connect
[2024-05-01 00:22:21] [E] 0x7fd4d31110c0 socks5 server connect
[2024-05-01 00:22:21] [E] 0x7fd4d315ede0 socks5 server connect
[2024-05-01 00:22:27] [E] 0x7fd4d2f94840 socks5 server connect
[2024-05-01 00:22:27] [E] 0x7fd4d35d1a20 socks5 server connect
[2024-05-01 00:22:30] [E] 0x7fd4d36b6520 socks5 server connect
[2024-05-01 00:22:30] [E] 0x7fd4d36b67a0 socks5 server connect
[2024-05-01 00:22:32] [E] 0x7fd4d2e68340 socks5 server connect
[2024-05-01 00:22:32] [E] 0x7fd4d2f94840 socks5 server connect
[2024-05-01 00:22:32] [E] 0x7fd4d36208e0 socks5 server connect
[2024-05-01 00:22:32] [E] 0x7fd4d2e682a0 socks5 server connect
[2024-05-01 00:22:32] [E] 0x7fd4d2a89b60 socks5 server connect
[2024-05-01 00:22:32] [E] 0x7fd4d2a89c00 socks5 server connect
[2024-05-01 00:22:33] [E] 0x7fd4d35d1a20 socks5 server connect
[2024-05-01 00:22:40] [2024-05-01 00:22:40] [E] [E] 0x7fd4d2efe3e0 socks5 server connect0x7fd4d2e68de0 socks5 server connect
[2024-05-01 00:22:40] [E] 0x7fd4d2efe7a0 socks5 server connect
[2024-05-01 00:22:41] [E] 0x7fd4d2e1b2a0 socks5 server connect
[2024-05-01 00:22:41] [E] 0x7fd4d2e1b340 socks5 server connect
[2024-05-01 00:22:41] [E] 0x7fd4d3111b60 socks5 server connect
[2024-05-01 00:22:41] [E] 0x7fd4d2f49480 socks5 server connect
[2024-05-01 00:22:43] [2024-05-01 00:22:43] [E] [E] 0x7fd4d3111ca0 socks5 server connect0x7fd4d2e1b480 socks5 server connect
[2024-05-01 00:22:43] [E] 0x7fd4d2f49700 socks5 server connect
[2024-05-01 00:22:43] [E] 0x7fd4d2f49980 socks5 server connect
[2024-05-01 00:22:43] [E] 0x7fd4d2e68de0 socks5 server connect
[2024-05-01 00:22:44] [E] 0x7fd4d2efe7a0 socks5 server connect
[2024-05-01 00:22:44] [E] 0x7fd4d2e1b340 socks5 server connect
[2024-05-01 00:22:44] [E] 0x7fd4d3111b60 socks5 server connect
[2024-05-01 00:22:44] [E] 0x7fd4d3111de0 socks5 server connect
[2024-05-01 00:22:46] [2024-05-01 00:22:46] [E] [E] 0x7fd4d2e1b480 socks5 server connect0x7fd4d2f49480 socks5 server connect
[2024-05-01 00:22:50] [2024-05-01 00:22:50] [E] [E] 0x7fd4d2efe3e0 socks5 server connect0x7fd4d3111ca0 socks5 server connect
[2024-05-01 00:22:53] [E] 0x7fd4d2f49700 socks5 server connect
[2024-05-01 00:22:53] [E] 0x7fd4d2e68c00 socks5 server connect
[2024-05-01 00:22:55] [2024-05-01 00:22:55] [2024-05-01 00:22:55] [E] [E] [E] 0x7fd4d2eb35c0 socks5 server connect0x7fd4d30c6c00 socks5 server connect0x7fd4d2efe200 socks5 server connect
[2024-05-01 00:22:55] [E] 0x7fd4d30c6ca0 socks5 server connect
[2024-05-01 00:22:55] [E] 0x7fd4d2efe3e0 socks5 server connect
[2024-05-01 00:22:55] [E] 0x7fd4d2eb3200 socks5 server connect
还是有打印中间插入的情况
是不是开了多个socks5-server进程?按说同一个进程内单条日志是原子写的。
是不是开了多个socks5-server进程?按说同一个进程内单条日志是原子写的。
肯定只开个一个 配置都一样的 都是监听1080端口 多开的话 也会提示端口绑定错误啊
是不是开了多个socks5-server进程?按说同一个进程内单条日志是原子写的。
肯定只开个一个 配置都一样的 都是监听1080端口 多开的话 也会提示端口绑定错误啊
同一个用户下的不会,默认有reuseport。
是不是开了多个socks5-server进程?按说同一个进程内单条日志是原子写的。
ps aux | grep hev
test 3332 0.5 0.0 8584 3164 pts/0 Sl+ 00:20 0:06 ./hev-socks5-server-linux-x86_64 server.yaml
root 6579 0.1 0.2 44288 8452 pts/1 S+ 00:36 0:00 ./hev-socks5-tunnel-linux-x86_64 client.yaml
test 8002 0.0 0.0 17672 664 pts/3 S+ 00:38 0:00 grep --color=auto hev
看了 server 确实就一个 所以我感觉特别奇怪啊 我不知道你那边测试没有 我这边 第一次建立连接 确实 10次里面 大概有3,4都会比较慢 就我之前说的测试方式 : 打开谷歌浏览器 f12 (disable cache是勾选上的) 到network 输入网址 view-source:https://www.baidu.com/favicon.ico 回车 看完时间线之后再关闭浏览器
[2024-05-01 00:40:39] [E] 0x7fd4d2fdb7a0 socks5 server connect
[2024-05-01 00:40:39] [2024-05-01 00:40:39] [E] [E] 0x7fd4d2fdb840 socks5 server connect0x7fd4d3112020 socks5 server connect
[2024-05-01 00:40:39] [E] 0x7fd4d31efe80 socks5 server connect
[2024-05-01 00:40:42] [E] 0x7fd4d3112660 socks5 server connect
[2024-05-01 00:40:42] [2024-05-01 00:40:42] [E] [E] 0x7fd4d31efc00 socks5 server connect0x7fd4d2c28660 socks5 server connect
[2024-05-01 00:40:42] [E] 0x7fd4d31f0480 socks5 server connect
[2024-05-01 00:40:43] [E] 0x7fd4d31efe80 socks5 server connect
[2024-05-01 00:40:45] [E] 0x7fd4d2c28660 socks5 server connect
[2024-05-01 00:40:45] [E] 0x7fd4d31efc00 socks5 server connect
[2024-05-01 00:40:46] [E] 0x7fd4d2fdb840 socks5 server connect
[2024-05-01 00:40:46] [E] 0x7fd4d35cba20 socks5 server connect
[2024-05-01 00:40:48] [E] 0x7fd4d33bee80 socks5 server connect
[2024-05-01 00:40:53] [E] 0x7fd4d2c28660 socks5 server connect
[2024-05-01 00:41:10] [E] 0x7fd4d33bd160 socks5 server connect
[2024-05-01 00:41:13] [E] 0x7fd4d2b79520 socks5 server connect
[2024-05-01 00:41:15] [2024-05-01 00:41:15] [2024-05-01 00:41:15] [E] [E] [E] 0x7fd4d2c283e0 socks5 server connect0x7fd4d2ce8ac0 socks5 server connect0x7fd4d2c28c00 socks5 server connect
[2024-05-01 00:41:15] [E] 0x7fd4d33bd7a0 socks5 server connect
[2024-05-01 00:41:15] [E] 0x7fd4d33bdc00 socks5 server connect
[2024-05-01 00:41:15] [E] 0x7fd4d2ce8200 socks5 server connect
[2024-05-01 00:41:15] [E] 0x7fd4d35cb700 socks5 server connect
[2024-05-01 00:41:19] [E] 0x7fd4d2c28d40 socks5 server connect
[2024-05-01 00:41:19] [E] 0x7fd4d2c283e0 socks5 server connect
[2024-05-01 00:41:19] [E] 0x7fd4d33bd3e0 socks5 server connect
[2024-05-01 00:41:19] [E] 0x7fd4d33bdca0 socks5 server connect
[2024-05-01 00:41:19] [E] 0x7fd4d35cb700 socks5 server connect
[2024-05-01 00:41:19] [E] 0x7fd4d2ce80c0 socks5 server connect
[2024-05-01 00:41:21] [E] 0x7fd4d2ce9e80 socks5 server connect
[2024-05-01 00:41:21] [E] 0x7fd4d2c64a20 socks5 server connect
[2024-05-01 00:41:22] [E] 0x7fd4d2c28980 socks5 server connect
[2024-05-01 00:41:22] [E] 0x7fd4d2c283e0 socks5 server connect
[2024-05-01 00:41:22] [E] 0x7fd4d33bd3e0 socks5 server connect
[2024-05-01 00:41:22] [E] 0x7fd4d35cb980 socks5 server connect
[2024-05-01 00:41:22] [E] 0x7fd4d33bdca0 socks5 server connect
[2024-05-01 00:41:22] [E] 0x7fd4d2c28d40 socks5 server connect
[2024-05-01 00:41:24] [E] 0x7fd4d31f00c0 socks5 server connect
[2024-05-01 00:41:24] [E] 0x7fd4d2c64a20 socks5 server connect
[2024-05-01 00:41:26] [E] 0x7fd4d2c283e0 socks5 server connect
[2024-05-01 00:41:31] [2024-05-01 00:41:31] [E] [E] 0x7fd4d33bd3e0 socks5 server connect0x7fd4d2c645c0 socks5 server connect
[2024-05-01 00:41:31] [E] 0x7fd4d2c64a20 socks5 server connect
[2024-05-01 00:41:31] [E] 0x7fd4d35cb980 socks5 server connect
[2024-05-01 00:41:31] [E] 0x7fd4d2b79700 socks5 server connect
[2024-05-01 00:41:31] [E] 0x7fd4d2c64b60 socks5 server connect
[2024-05-01 00:41:33] [E] 0x7fd4d2c64c00 socks5 server connect
[2024-05-01 00:41:33] [E] 0x7fd4d2c28980 socks5 server connect
[2024-05-01 00:41:34] [E] 0x7fd4d2b79520 socks5 server connect
[2024-05-01 00:41:34] [E] 0x7fd4d35cb700 socks5 server connect
[2024-05-01 00:41:34] [E] 0x7fd4d33bd3e0 socks5 server connect
[2024-05-01 00:41:34] [E] 0x7fd4d2c64a20 socks5 server connect
[2024-05-01 00:41:34] [E] 0x7fd4d2b79700 socks5 server connect
[2024-05-01 00:41:34] [E] 0x7fd4d2c64b60 socks5 server connect
[2024-05-01 00:41:36] [E] 0x7fd4d2c64de0 socks5 server connect
[2024-05-01 00:41:36] [E] 0x7fd4d2c28980 socks5 server connect
而且好像这种概率还挺高的 40 -41 1分钟之内 这种出现了好几次
现在没环境试,晚点看看。
在Chrome(124.0.6367.118)上测试了,https://www.baidu.com/favicon.ico 的问题我这无法复现。
打印串行的问题也没有么? 奇怪 难不成这是windows系统下独有的 我这边测试是windows 系统下装的VMware 然后 VMware 里面装的Ubuntu 20.04.2 然后测试的 我换个方式在测试下
打印串行的问题也没有么?
服务端的打印问题是符合预期的,因为有两个logger在输出,所以没有原子性了,后面需要改进一下。
奇怪 难不成这是windows系统下独有的 我这边测试是windows 系统下装的VMware 然后 VMware 里面装的Ubuntu 20.04.2 然后测试的 我换个方式在测试下
检查一下有没有可能是DNS不同,不是最优解析的原因?
检查一下有没有可能是DNS不同,不是最优解析的原因?
dns的解析 时间线不会在wait for server res 里面
我发现
我做了一个test的server 122.114.66.146:1082
chrome view-source:https://www.baidu.com/favicon.ico 第二次请求时间较长这个问题确实存在
直连测试:
chrome 安装 SwitchyOmega 设置默认代理socks5 122.114.66.146:1082 然后访问 f12下 network里面勾选disable cache 打开网址: view-source:https://www.baidu.com/favicon.ico 在复用连接的情况下(也就是第二次f5刷新 反正时间线不要有建立连接) 两次请求都是60-68ms之间
tun2sock 测试
client.yaml socks5的配置如下
port: 1082
address: 122.114.66.146
udp: 'tcp'
启动 tun2sock 然后添加ip route
启动chrome 关闭SwitchyOmega 然后访问 f12下 network里面勾选disable cache 打开网址: view-source:https://www.baidu.com/favicon.ico 一样是复用连接的情况 第一次请求时间正常 60-68ms 之间 但是第二次请求时间却在100ms+
我这样测试应该没问题 那么这第二次请求多的40ms+ 应该就是本地的tun2sock导致的
我这tun2socks比直连延迟低,应该是DNS解析到不同延迟的Web服务器了。没有发现F5刷新延迟明显变化。
我这tun2socks比直连延迟低,应该是DNS解析到不同延迟的Web服务器了。没有发现F5刷新延迟明显变化。
你是socks server 装在本地测试的么 那么 hosts 文件 配置一下 www.baidu.com 域名解析的ip 确保一下都走同一个ip不就行了 或者 你直接用我这个 122.114.66.146:1082 测试的server 看看是个什么情况 正常道理来说 tun2sock 比 直连 延迟 高个1-10ms 之间 都是正常的 你这 直连比tun2sock 高了 30ms+
我这tun2socks比直连延迟低,应该是DNS解析到不同延迟的Web服务器了。没有发现F5刷新延迟明显变化。
你是socks server 装在本地测试的么 那么 hosts 文件 配置一下 www.baidu.com 域名解析的ip 确保一下都走同一个ip不就行了 或者 你直接用我这个 122.114.66.146:1082 测试的server 看看是个什么情况 正常道理来说 tun2sock 比 直连 延迟 高个1-10ms 之间 都是正常的 你这 直连比tun2sock 高了 30ms+
取齐了解析的结果:
ctrl+f5和反复开关浏览器多次测试都没有观察到不同请求的延迟明显变化。
这个就很奇怪了 你把 socks5 server 改到 我用的这个 122.114.66.146 1082 测试一下 我确实想不出来 我自己测试的有什么问题 为什么 第二次请求 在tun2socks 下 会多40ms的延迟 我感觉我的测试方式也没有任何问题啊
我做了一个test的server 122.114.66.146:1082 chrome view-source:https://www.baidu.com/favicon.ico 第二次请求时间较长这个问题确实存在 直连测试: chrome 安装 SwitchyOmega 设置默认代理socks5 122.114.66.146:1082 然后访问 f12下 network里面勾选disable cache 打开网址: view-source:https://www.baidu.com/favicon.ico 在复用连接的情况下(也就是第二次f5刷新 反正时间线不要有建立连接) 两次请求都是60-68ms之间 tun2sock 测试 client.yaml socks5的配置如下 port: 1082 address: 122.114.66.146 udp: 'tcp' 启动 tun2sock 然后添加ip route 启动chrome 关闭SwitchyOmega 然后访问 f12下 network里面勾选disable cache 打开网址: view-source:https://www.baidu.com/favicon.ico 一样是复用连接的情况 第一次请求时间正常 60-68ms 之间 但是第二次请求时间却在100ms+ 我这样测试应该没问题 那么这第二次请求多的40ms+ 应该就是本地的tun2sock导致的
我的这个测试方式 应该是没有任何问题的吧? 所以我就想不明白了
搞不懂了,socks5 server要放在本地,远程的话干扰因素不可控。
搞不懂了,socks5 server要放在本地,远程的话干扰因素不可控。
如果是远程server 导致的话 那么 你换成我这个远程的server 122.114.66.146:1082 应该也是会出现同样的问题的 是这样吧?
搞不懂了,socks5 server要放在本地,远程的话干扰因素不可控。
如果是远程server 导致的话 那么 你换成我这个远程的server 122.114.66.146:1082 应该也是会出现同样的问题的 是这样吧?
我没试,不确定。只是说远程的链路延迟本身可能就有波动,不便于分析延迟的来源。
你再试试物理机上跑?
我没试,不确定。只是说远程的链路延迟本身可能就有波动,不便于分析延迟的来源。
你再试试物理机上跑?
我没有linux的物理机 我两个机器 一个台式 一个是联想的笔记本 两个都装的windows 系统 两台电脑都有同样的问题 但是我找不到原因所在。
用U盘做个Live系统试试
用U盘做个Live系统试试
U的Live系统 和vmware 虚拟化出来的 差别? 我看空了能不能搞到一个linux 的vps 带图形化界面的 然后测试看看
用U盘做个Live系统试试
U的Live系统 和vmware 虚拟化出来的 差别? 我看空了能不能搞到一个linux 的vps 带图形化界面的 然后测试看看
物理机上启动,目的是避开虚拟化。
好 我试试
我看了下 您的库 和 go-tun2socks 的库 都是用的lwip 这个基础库 但是 为什么您这个上下行上限却比 go-tun2socks高很多 是因为c语言 和 go 性能层次上的差距 还是说因为go-tun2socks 本身实现的问题 还有就是 我看了下 xjasonlyu/tun2socks 他的benchmark 他的评测下载速度是达到raw speed的80%的 你的benchmark 没有写raw speed是多少 就安装100%算(毫无损耗) xjasonlyu/tun2socks 也应该能达到60%+吧 但是你评测出来只有的下载速度 只有50%不到 所以不知道具体是个什么情况了