Code Monkey home page Code Monkey logo

cloudflarespeedtest's Introduction

XIU2's GitHub Stats

这些开源项目都是我为了解决平时遇到的小问题、小需求而随手写的,为此还业余自学了一点编程语言(不精通,但够用),我喜欢分享,干脆就开源出来看能不能帮到有同样需求的人~ 😋

▶ [点击展开] 赞赏支持 ~

微信赞赏支付宝赞赏

cloudflarespeedtest's People

Contributors

charslee013 avatar crazyboyfeng avatar mac-zhou avatar mikuru996 avatar seek4self avatar spedoske avatar vanishs avatar xiu2 avatar zhangsean avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cloudflarespeedtest's Issues

我哪里弄错了么?似乎不好使。

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

尝试新的跨平台 PowerShell https://aka.ms/pscore6

PS C:\Users\Htm_w> cd G:\CloudflareST_windows_amd64
PS G:\CloudflareST_windows_amd64> .\CloudflareST.exe -tl 170 -sl 8 -dn 10
# XIU2/CloudflareSpeedTest v1.4.5

开始延迟测速(模式:TCP IPv4,端口:443):
27928 / 27928 [-----------------------------------------------------------------------------------------------] 100.00%
开始下载测速(延迟时间上限:170 ms,下载速度下限:8 MB/s):
62 / 2230 [-->__________________________________________________________________________________________________] 2.78%
IP 地址           已发送  已接收  丢包率  平均延迟  下载速度 (MB/s)
104.31.141.88     4       4       0.00    151.66    0.22
104.25.97.251     4       4       0.00    155.25    4.05
104.31.70.245     4       4       0.00    156.49    3.40
104.31.14.119     4       4       0.00    159.58    0.37
104.27.146.228    4       4       0.00    159.68    0.15
172.67.48.153     4       4       0.00    159.99    0.23
172.67.52.177     4       4       0.00    160.05    0.18
172.67.74.235     4       4       0.00    161.20    0.20
172.67.60.5       4       4       0.00    161.27    0.17
172.67.35.32      4       4       0.00    161.38    0.21
104.23.130.6      4       4       0.00    161.46    0.32
172.67.47.242     4       4       0.00    161.73    0.43
104.16.242.183    4       4       0.00    161.90    0.28
172.67.45.245     4       4       0.00    161.95    0.58
104.25.112.130    4       4       0.00    162.01    0.11
104.23.134.186    4       4       0.00    162.21    0.32
104.25.108.134    4       4       0.00    162.24    0.12
104.27.73.70      4       4       0.00    162.66    0.23
172.67.166.46     4       4       0.00    162.70    0.04
104.16.247.130    4       4       0.00    163.04    0.20

完整测速结果已写入 result.csv 文件,请使用记事本/表格软件查看。
按下 回车键 或 Ctrl+C 退出。

能否加入以下cf的ip段呢

或许有的重复了(
108.162.236.1/24
172.64.32.1/24
104.16.160.1/24
172.64.0.0/24
104.20.157.0/24
104.28.14.0/24
104.23.240.0-104.23.243.254
162.159.208.4-162.159.208.103
162.159.209.4-162.159.209.103
162.159.210.4-162.159.210.103
162.159.211.4-162.159.211.103
104.20.157.2
104.18.62.2
141.101.115.3
104.16.160.3
162.159.211.4-103
103.21.244.0/22
103.22.200.0/22
103.31.4.0/22
104.16.0.0/12
108.162.192.0/18
131.0.72.0/22
141.101.64.0/18
162.158.0.0/15
172.64.0.0/13
173.245.48.0/20
188.114.96.0/20
190.93.240.0/20
197.234.240.0/22
198.41.128.0/17
104.23.240.*
172.64.32.*
104.16.160.*
108.162.236.*
162.158.133.*
198.41.214.*
198.41.212.*
198.41.208.*
198.41.209.*
172.64.32.*
141.101.115.*
172.64.0. *
172.64.16.*
104.18.48.0-104.18.63.255
104.24.112.0-104.24.127.255
104.27.128.0-104.27.143.255
104.28.0.0-104.28.15.255
104.28.16.0-31.255
104.27.144.0-243.254
104.23.240.0-243.254
1.0.0.0-254
1.1.1.0-254
104.16.0.0-79.255
104.16.96.0-175.254
104.16.192.0-207.255

请问如何写hosts

具体地,hosts里填写的域名应该是什么呢?
因为Cloudflare给出的DNS record都是A,并非CNAME……我不知道该如何操作hosts以解析最快的IP地址。

IPRange 没必要排除第一个和最后一个

我想测试某些单独的 ip,结果发现不支持裸 IP 这个格式,必须带子网。然后我发现掩码 /31/32 也不识别。
根据 RFC3021,子网 255.255.255.254 表示两个主机,255.255.255.255 表示一个主机。没有号段标识地址和广播地址。
其实网络号和广播地址在广域网里是没有意义的。所以都可以当作正常的主机地址使用,1.0.0.0104.16.2.255 都是合法主机地址,都可以 ping 通,所以 IPRange 没必要排除第一个和最后一个。网络号和广播地址现如今只在局域网才有用。

此外,我写入 104.16.2.148/30 但程序返回的测试结果是 104.16.2.1104.16.2.2,也就是 104.16.2.0/30 的测试结果,这应该是个 bug?

测速准备

这个软件 运行时是在直通的情况,还是要挂梯子测?

为何删除了某几个IP?

35.200.109.86/32
202.81.235.61/32
202.81.235.92/32

旧版还有的哦,新版删除了?
难道有什么秘密?

测速仍为0.00

向上个issues中学习,加上了参数 -url "https://gh.con.sh/https://github.com/AaronFeng753/Waifu2x-Extension-GUI/releases/download/v2.21.12/Waifu2x-Extension-GUI-v2.21.12-Portable.7z"

C:\Users\Downloads\CloudflareST_windows_amd64>CloudflareST.exe -p 20 -f ipv6.txt -dd -ipv6 -n 888

XIU2/CloudflareSpeedTest v1.4.6

开始延迟测速(模式:TCP IPv6,端口:443):
77548 / 77548 [-----------------------------------------------------------------------------------------------] 100.00%
IP 地址 已发送 已接收 丢包率 平均延迟 下载速度 (MB/s)
2606:4700:3030:96:fa5b:236d:4eed:312c 4 4 0.00 270.41 0.00
2606:4700:3030:cc27:13bb:6960:73d2:91f5 4 4 0.00 270.91 0.00
2606:4700:3034:9abd:14bd:ef32:1788:f773 4 4 0.00 270.91 0.00
2606:4700:3034:9abd:14bd:5be8:69d3:1c9a 4 4 0.00 271.15 0.00

仍得到0.00结果 且过程中任务管理器始终显示网络利用率极低

征集可用的 Cloudflare [下载测速地址] !


该问题下只能交流 [下载测速地址] 相关内容,其他内容请新开问题,否则会被隐藏。


因为 Cloudflare 官方的下载测速地址存在上限,用的人多了就容易出现超出资源上限而导致下载测速失败的问题。
我一再调低测速文件大小也无法彻底解决该问题(因为不止我一个项目在使用该测速地址,似乎是共用一个上限),所以特开此问题来征集可用于 [下载测速] 的地址!大家可以各取所需!

在 v1.2.9 版本后,大家可以使用 -url "https://xxxx" 参数来指定下载测速地址!
在 v1.3.0 版本后,已经将默认下载测速地址改为我自建的下载测速地址了!


最低要求:

  1. 访问地址可以直接下载文件。
  2. 文件大小不能低于 200 MB(太小测速不准确)。
  3. 网站用的是 Cloudflare CDN(这是最起码的)。

提交示例:

当然如果你不会 Markdown 排版,那么直接写就行了,这只是个大概示例。

UDP testing

Right now tool allow scanning only TCP ipv4 so is it possible to add additionally for testing UDP ipv4?

自动更新 Cloudflare 中的域名解析记录为最快 IP(Windows/Linux 脚本+手动教程)

如果你的域名托管在 Cloudflare,那么其实可以通过 Cloudflare 官方提供的 API 去更新域名解析记录。

写完才反应过来受众面比较窄,不过可以用于 Cloudflare Workers 的自选 IP~

Cloudflare Workers 自选 IP 很简单,只要在添加域名解析时,不要开启橙色云朵,而解析 IP 填写为任意 CF CDN IP 即可。



# 操作步骤观看顺序:

  1. 获取 API 令牌
  2. 准备依赖
  3. 获取域名 ID
  4. 获取域名解析记录 ID
  5. 更新域名解析记录
  6. 自动更新脚本
  7. 定时任务

因为我没有 MacOS 设备,所以没有写相关教程,但查了下 MacOS 已经内置了 cURL,而命令是相通的,和 Linux 差不多。


如果看不到图片,只需把下面这条内容添加到 C:\Windows\System32\drivers\etc\hosts 文件中并重启浏览器:

151.101.88.133 user-images.githubusercontent.com

速度限制单位 MB/s 太粗且不支持小数

下载速度下限;只输出高于指定下载速度的 IP,凑够指定数量 [-dn] 才会停止测速;(默认 0 MB/s)

该参数使用的IntVar只能是整数,而不支持小数。如果以 MB/s 为单位进行速度筛选,那么只能设置 1MB/s 2MB/s 这样。这个单位太粗糙了,无法对 1.5MB/s 和 0.5MB/s 进行精细筛选。因此建议让该参数支持小数Float64Var,或者将该参数单位变更为KB/s

自动更新 Hosts 为最快 IP(Windows/Linux 脚本)

因为每个域名解析网站的 API 都不同,而这些域名解析网站需要我托管的有域名才能写 API 相关教程/脚本,所以想了一种替代方案,可以把域名写在 Hosts,这样效果也一样,不过缺点就是只能在当前设备上体验最快的 IP。

如果用的是基于 Linux 系统的路由器(如 OpenWrt),则这个整个局域网都有效。

再考虑到很多人获得最快 Cloudflare CDN IP 后,需要替换 Hosts 文件中的 IP。

那我干脆写个简单的脚本吧!大家使用过程中遇到什么问题或者建议都可以告诉我。 如果用着不错,就点个 ⭐ 吧!


还在一个个添加 Hosts?完美本地加速所有使用 Cloudflare CDN 的网站方法来了!


  1. Windows 脚本
  2. Linux 脚本
  3. 定时任务

请问可以去掉最后的按键确认吗?

程序运行结束时,用户必须按键确认才能退出,这样如果我希望自动化整个过程,就必须要在程序中模拟用户的行为,增加了复杂性。请问是否可以结束时直接退出?

添加支持 测速单个、全部 IP

cloudflare使用的ssl协议在部分电脑上不支持,软件就扫不出来,希望改进通过https的证书来识别cloudflare,结果更精确

百度云合作cdn

我发现自行添加修改ip网段 然后打不开程序
162.159.208.0/103
162.159.209.0/103
162.159.210.0/103
162.159.211.0/103
请教大神看一下

关于本项目的用途的一点疑问

开发者,你好
我看issue的时候发现,你说你开发这个工具的目的是为了寻找较快的cf cdn,然后改写host,以便更快地访问常去的国外网站。
改写host的意思是通过改写本机hosts文件,将cf cdn的ip与目标网站的域名相映射吗?比如在hosts文件中添加 1.1.1.1 www.coursera.org
另外,不管目标网站是否托管于cloudflare都可以通过这样的方式访问吧?
这样改写host的方法也是由cf cdn节点来中转访问流量的吧?

不能识别/24 IP段

测试指定IP时,例如 1.1.1.1/24 。还是会随机选取IP段里的IP进行测试。

如何提取 result.csv 测速结果文件中的最快的第一个 IP

如题,Linux 下我是这样操作的,可以提取到第二行的 IP,然后在 ddns 或者 host。

绝对路径:

# 运行测速
/root/cf/CloudflareST -f /root/cf/ip.txt  -o /root/cf/result.csv

# 获取测速结果第一个 IP
# 输出到文件:
sed -n "2,1p" /root/cf/result.csv | awk -F, '{print $1}' > /root/cf/best_ip.txt
# 赋值到变量 BEST_IP 中:
BEST_IP=$(sed -n "2,1p" /root/cf/result.csv | awk -F, '{print $1}')
# 使用 ${BEST_IP} 来调用变量,如 echo ${BEST_IP} 这样

如果当前位于 CloudflareST 程序所在目录下,则看下面的相对路径命令。

相对路径:

# 运行测速
./CloudflareST

# 获取测速结果第一个 IP
# 输出到文件:
sed -n "2,1p" result.csv | awk -F, '{print $1}' > best_ip.txt
# 赋值到变量 BEST_IP 中:
BEST_IP=$(sed -n "2,1p" result.csv | awk -F, '{print $1}')
# 使用 ${BEST_IP} 来调用变量,如 echo ${BEST_IP} 这样

大家有好的写法也可以贴出来。
现在请问一下,Windows 下如何用默认的命令写类似批处理出来?

CloudflareSpeedTest测速异常

大佬,您好!现在出现一个问题,向您请教一下:
公司的网络是100M的联通,使用CloudflareSpeedTest可以找到速度为10M/s的节点。
家里的网络是300M的联通(最快下载速度32M/s),同样使用CloudflareSpeedTest只能找到1.5M/s的节点。
这是为什么啊?如何解决这个问题呢?

使用 -tl -sl 5 -dn 10 测不出来

有bug

开始下载测速(延迟时间上限:200 ms,下载速度下限:5 MB/s):
0 / 10 [________________________________________________________________________________________________________] 0.00%
IP 地址 已发送 已接收 丢包率 平均延迟 下载速度 (MB/s)
198.41.220.24 4 4 0.00 260.25 0.00
198.41.222.204 4 4 0.00 260.71 0.00
198.41.209.100 4 4 0.00 261.01 0.00
198.41.221.8 4 4 0.00 261.50 0.00
190.93.247.46 4 4 0.00 263.24 0.00
1.0.0.238 4 4 0.00 265.19 0.00
190.93.245.55 4 4 0.00 274.14 0.00
141.101.113.236 4 4 0.00 275.64 0.00
198.41.214.130 4 4 0.00 277.21 0.00
198.41.212.23 4 4 0.00 327.14 0.00
141.101.121.79 4 4 0.00 328.64 0.00
190.93.246.237 4 4 0.00 329.88 0.00
173.245.49.234 4 4 0.00 330.89 0.00
198.41.211.213 4 4 0.00 376.90 0.00

English language

Need English Language for the interface, please. I'm not Chinese citizenship, and it's hard to use all the time Google Translate

关于Ping测试时延的建议

目前ping采用的是tcp ping的方式,其时延为当前host到cloudflare节点建立连接的速度。这样其实是不太合理的,还应当考虑CF节点到VPS的时延。比如香港的CF节点很快,但是HTTP服务在美国,这样的速度可能不如在美西的CF节点效果好。

一个小建议是使用HTTP Ping时延作为衡量节点好坏的时延。具体的思路是对于未指定url的,走默认的tcp;而指定了测速url的,通常都是自建的HTTP(s)服务器,因此可以使用http测速

IP段多了两个202的IP

我看ip地址段后面跟了两个202地址,速度还很快,这是哪边的?也是cloudflare的?

大佬,路由器openwrt上跑,我感觉结果不准

前几天我咨询过,现在后半夜跑完,上午的速度还行,下午的不快,晚上更慢,没有windows上运行的准。ip是换了,但是不知道为啥不准。跑的时候肯定是没挂梯子。是不是脚本有问题

功能建议

强迫症患者想要实现完全的自动化,但ip最后一位完全一致,外加输出的结果可能带宽并不算高,还需要手工筛选甚至ip不足要再次运行,能否实现以下功能:

  1. 随机生成ip地址最后一位
  2. 筛选出给定数量高质量的(如30个延迟300ms内,带宽8M以上)仅输出ip

这样结果就是确定数目的高质量纯ip,后续无论paste为hosts还是sed到adguardhome等里面去都方便了

IPv6 测速模式报错

如题,出现一下错误信息:
G:\CloudflareST>CloudflareST.exe -p 0 -f ipv6.txt -dd -ipv6
panic: invalid argument to Intn

goroutine 1 [running]:
math/rand.(*Rand).Intn(0xc0000b8330, 0xffffffffffffffff, 0x10)
C:/Program1/Go/src/math/rand/rand.go:169 +0xa5
math/rand.Intn(...)
C:/Program1/Go/src/math/rand/rand.go:337
main.randipEndWith(...)
C:/Github/CloudflareSpeedTest/util.go:95
main.loadFirstIPOfRangeFromFile(0xc0000a20a8, 0x8, 0xc0000b90e0, 0xc0000a20c9, 0x4)
C:/Github/CloudflareSpeedTest/IPRangeLoader.go:48 +0x1d9
main.main()
C:/Github/CloudflareSpeedTest/main.go:135 +0x88

CloudflareST版本是 -v1.4.1

Win10 1909无法使用

image
如图,无论是双击还是cmd,拒绝访问,命令提示符管理员也试过了

能否支持 ipv6?

目前版本好像不支持测 cloudflare ipv6 的速度或延迟。
如果把较大的 ipv6 range 输进 ip.txt 里的话,则程序会卡很久,并且在不断的消耗内存,一段 /64 的 ipv6 程度占用了近 20G 的内存都还没有终止的迹象。
如果把较小的 ipv6 range 输进 ip.txt 里的话,比如一段 /110,则程序瞬间(0.2 秒内)完成,并输出:

# XIU2/CloudflareSpeedTest 

开始延迟测速(模式:TCP,端口:443):
4096 / 4096 [-------------------------------------------------------------------------------------------------------] 100.00%

[信息] IP数量为 0,跳过下载测速。

[信息] IP数量为 0,跳过输出结果。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.