A CDN address ranking depends on where you run it
CloudflareSpeedTest compares candidate CDN IP addresses using latency probes and downloads. Its README grew out of a specific problem: poor routes for visitors in mainland China. The utility can be relevant elsewhere, but that original audience explains the Chinese instructions. A result from someone else's connection is a candidate to investigate, not a measured answer for yours.
The main README and command help are Chinese. The upstream root lists no English README, although the README links a separate English-language fork. For an English-speaking operations team, translation is part of the evaluation effort. Flags are easy to recognize, but the explanations of empty results and failed downloads matter as much as the command syntax.
What happened when we ran it
Our October 9, 2026 sandbox run at commit 50b42c7 completed installation in 2 seconds with 9 dependencies recorded, built in 23 seconds and finished the test step successfully in 3 seconds. The go test result was 0 passed and 0 failed tests. A successful exit here gives us no executed test coverage.
The recorded configuration specified 3 CPUs, 8 GB RAM and image golang:1.24-bookworm. That image name does not verify the actual Go or operating-system version. The checkout contained 28 files, about 1,557 source lines and 0.2 MB. Our scan found no CI workflow files, Dockerfile or tests directory.
Those results make source compilation look approachable in the measured configuration. They do not establish CDN reachability, download accuracy or an improvement to browsing. We have no measured network workload for this review. In particular, none of the example addresses or speeds shown in the README are our results.
WARP falls outside the documented scope
The CloudflareSpeedTest README explicitly excludes UDP-based Cloudflare WARP IP selection. That is a reason to walk away if WARP is your actual problem. Sharing the Cloudflare name does not make website CDN probing a useful test of a different protocol and service.
For websites, the documented flow first probes latency, filters candidates and then checks download speed. The default latency mode is TCPing, with HTTPing available as an option. These stages answer different questions: an address accepting a connection does not establish that your chosen HTTPS download works through it. Keep that distinction when diagnosing an apparently good latency result followed by a failed download.
The README also supports other CDNs or websites with multiple addresses, provided you supply a corresponding download URL. That is an operator responsibility. Mixing an address set with an unrelated HTTPS hostname can produce a certificate or handshake error rather than a meaningful comparison.
The download URL is part of the measurement
The README does not guarantee availability of the default download URL and recommends hosting your own. A successful binary launch therefore leaves an external dependency unresolved. Before trusting a ranking, record which URL you used and whether it produced a valid response through the candidate addresses.
The troubleshooting section explains that a displayed zero download speed can reflect an interrupted request. It lists HTTP errors and TLS failures among the cases that debug output can reveal. Treat that output as evidence about the request, rather than immediately deciding that every candidate has unusable bandwidth. Our sandbox record contains no such network failure to diagnose.
Proxy configuration needs attention too. The README warns that probing through a proxy can distort the result and tells router users to disable or exclude the proxy. If your question concerns the direct connection, first establish that the probe actually takes it. Otherwise you may spend time optimizing a path the intended application never uses.
Filters can explain an empty result
The documented options include latency bounds, a packet-loss threshold and a download-speed minimum. A result set can disappear because no candidate survives those conditions. The README's detailed progress explanation distinguishes reachable addresses from the smaller set left after filtering.
For a first evaluation, use a bounded address list, keep the chosen URL fixed and save the CSV alongside the options and network location. Then change the condition that matters to your application. This is an evaluation procedure, not a claim that we ran it. It helps distinguish an unavailable endpoint from a threshold that excludes everything.
The HTTPing instructions warn that high concurrency can look like network scanning and trigger provider restrictions. This matters on hosted servers and small routers. Read that warning before turning up parallelism or scheduling repeated scans. The source build result tells us nothing about acceptable probing behavior on your provider's network.
Pick alternatives by the network question
iperf3 documents TCP, UDP and SCTP bandwidth measurement. It is a candidate when your question concerns throughput between chosen endpoints. speedtest-cli describes internet bandwidth measurement using speedtest.net. That is closer to a general connection check than a CDN IP shortlist. Its README lists older Python support, so check current compatibility independently before adopting it.
Neither alternative is a measured winner here. Choosing among them starts with the question: CDN endpoint selection, a controlled path measurement or general internet bandwidth. A number from one task cannot stand in for the other two.
GitHub records the last CloudflareSpeedTest push on September 15, 2026, with issue and pull-request activity continuing into October. That supports describing an active discussion, without promising a response to your request. The numeric editorial scale runs from 1 for a documented major obstacle to 5 for independently validated coverage, with 3 meaning a usable path with material gaps and 4 detailed support within the assessed scope. Setup receives 4, documentation and maturity 3, and community remains unassessed.
Before changing hosts or DNS configuration, verify the actual website through the selected candidate and retain a way to undo the change. The CSV is evidence for that connection and probe configuration, not a permanent routing recommendation.

