-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IPRange 没必要排除第一个和最后一个 #20
Comments
测速的 IP 必须要带上子网掩码,程序就是这样设计的。 你用的是 v1.4.2 版本吗? 因此 ip.txt 文件内是 文件 ip.txt 内容:
测速结果:
|
1.4.2 我明白了,因为我用的是 这样实现有点粗糙,我觉得改成最后一段也按子网进行匹配比较好,然后也不用掐头去尾,把 0 和 255 也算入。 |
因为刚开始写的时候根本没想那么多,当时只是单纯的批量测速 Cloudflare IP 段,根本不需要写的那么仔细。 |
最主要的是,这软件用的人太少,没什么人讨论,我都不知道软件的一些功能到底该如何设计。 |
我对 go 不熟,否则也可以帮忙写一写。 |
不加 |
v1.4.3 更新内容
|
你试试新版本看是否满足你的要求。 如果没什么问题的话,就关闭该 Issues 吧。 |
我发现我好像理解错误了。 在折腾这个项目之前,我对 IP 的理解比普通网民好不了多少,结果现在知识基础不够了,各种转换给我搞晕了。 感觉越写越复杂,越写越跑偏了。 |
抱歉,今天太晚了。我本来想整理一下思路明天在讨论怎么设计的。 |
这个软件的作用是随机地从各个段里找ping低且丢包少的ip,择取较优部分测试下载速度。 而我的使用方式是,每次测试后,从ip.txt中删除测试结果较差的段。从余下的段中精挑细选。这样几次下来,就会细化到一个小段里,也就有了104.16.2.148/30这种使用方式。 关于allip我之前想简单了,我以为随机选取的算法是分组随机,以为这样在-n参数大于段内ip总数时所有的ip都会被选上。实际上不是这样。那么allip参数仍然是需要的。 |
目前软件对于 /24 以上的子网掩码,只支持 x.x.x.0/30 这样的,并不支持 x.x.x.111/30 这样的。 |
v1.4.4 更新内容
现在对于 比如
如果没有
|
我想测试某些单独的 ip,结果发现不支持裸 IP 这个格式,必须带子网。然后我发现掩码
/31
和/32
也不识别。根据 RFC3021,子网
255.255.255.254
表示两个主机,255.255.255.255
表示一个主机。没有号段标识地址和广播地址。其实网络号和广播地址在广域网里是没有意义的。所以都可以当作正常的主机地址使用,
1.0.0.0
和104.16.2.255
都是合法主机地址,都可以ping
通,所以 IPRange 没必要排除第一个和最后一个。网络号和广播地址现如今只在局域网才有用。此外,我写入
104.16.2.148/30
但程序返回的测试结果是104.16.2.1
和104.16.2.2
,也就是104.16.2.0/30
的测试结果,这应该是个 bug?The text was updated successfully, but these errors were encountered: