mrkeyoor.com_
Tue 10 Nov 17:16 UTC
Dev Toolsevaluationupdated 28 Oct 2026

CloudflareSpeedTest review

CloudflareSpeedTest probes CDN IP addresses for latency and download speed so you can compare routes from your own connection. Its main README and command help are Chinese; no English README is listed in the upstream root, though it links a separate English-language fork.

+78stars / 7d
Verdict

Our CloudflareSpeedTest build succeeded in 23 seconds, but its successful test command exercised 0 tests, so the run establishes buildability rather than verified network behavior. Use it for a bounded comparison of CDN endpoints on your own connection if you can work with the Chinese documentation. Choose another tool for WARP or general internet bandwidth measurement.

We ran it

Lab card: what happened when we ran CloudflareSpeedTestScreenshot of CloudflareSpeedTest (github.com/XIU2/CloudflareSpeedTest)
Install✓ · 2s9 packages
Build✓ · 23s
Tests✓ · 3s0 passed · 0 failed of 0 (go test)
Repo28 files~1,557 lines of source · 0.2 MB · 0 CI workflows

Answers from our run

Does CloudflareSpeedTest build from source?

Dependencies installed in 2 seconds (9 packages), and the build succeeded in 23 seconds. We cloned commit 50b42c7 into a clean Debian container with 3 CPUs and no project-specific setup.

Do CloudflareSpeedTest's tests pass?

Yes. The project's own test command finished in 3 seconds and reported 0 passed, 0 failed (go test).

Who should not use CloudflareSpeedTest?

Cloudflare WARP users seeking UDP endpoint selection: the README explicitly excludes that use.

What are the alternatives to CloudflareSpeedTest?

iperf3, speedtest-cli. Our CloudflareSpeedTest build succeeded in 23 seconds, but its successful test command exercised 0 tests, so the run establishes buildability rather than verified network behavior.

Setup4/5Installation and source compilation succeeded in the recorded sandbox. A working download endpoint and target-platform binary remain separate checks.
Docs3/5The Chinese README explains filtering and concrete download failures in detail, but the upstream root has no English README for the worldwide audience.
CommunityN/ARecent requests and a September push show activity. Maintainer response times and support capacity were not assessed.
Maturity3/5A release history and a successful recorded build support evaluation. The recorded test command exercised no tests and no network workload was measured.

Who it’s for

Operators comparing Cloudflare CDN addresses from the connection that will actually use them.
Command-line users willing to read or translate detailed Chinese instructions.
Developers who want CSV results and explicit control over probe targets and filtering.

Who it’s NOT for

Cloudflare WARP users seeking UDP endpoint selection: the README explicitly excludes that use.
English-only teams requiring upstream English setup and troubleshooting documentation: the main README is Chinese and points to a separate translation fork.
Operators expecting the default download endpoint to be dependable: the README does not guarantee its availability and recommends hosting your own.
Server users who cannot tolerate network-scanning restrictions: the HTTPing documentation warns that high concurrency can trigger provider action.

Setup reality

Our October 9, 2026 run at 50b42c7 completed installation in 2 seconds with 9 dependencies recorded, and built successfully in 23 seconds. The test step succeeded in 3 seconds, but go test reported 0 passed and 0 failed tests. That command supplied no executed test coverage.

The README offers release binaries as well as source compilation. Running a probe needs candidate IP addresses and a usable download URL, rather than a documented service account. The default URL is not guaranteed to work, so a meaningful result may require an endpoint you control.

The recorded sandbox configuration was 3 CPUs, 8 GB RAM and image golang:1.24-bookworm. The image label does not verify the actual Go or operating-system version. The README warns about proxies distorting results, and its main instructions and help text are Chinese.

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.

Alternatives

ProjectWhat it isPick it when
iperf3A network bandwidth measurement tool supporting TCP, UDP and SCTP.Evaluate it when the question concerns throughput between chosen network endpoints, rather than selecting a Cloudflare CDN IP.
speedtest-cliA command-line interface for internet bandwidth checks using speedtest.net.Evaluate it when you need a general internet bandwidth check rather than CDN address ranking. Its older documented Python support needs separate compatibility checking.

Sources

  1. CloudflareSpeedTest README
  2. Recent issues and pull requests
  3. iperf3 README
  4. speedtest-cli README

More dev tools reviews

folly · universal-android-debloater-next-generation · OpenSandbox · You-Dont-Know-JS · evilginx2 · google-colab-cli · the whole board →