公开测速端点

自建测速节点

不缓存、支持 Range 的不可压缩字节流端点,可直接作为 App 的外网测速源。深浅色自适应,边缘就近响应。

接入端点

GET
/speedtest

测速下载,默认 4 GiB;可用 ?size= 或请求头 X-Speedtest-Size 指定字节数。

RANGE
/speedtest

延迟探测:Range: bytes=0-0206 + 1 字节。

GET
/ping

健康检查 → 200 + { pong, server_ts, region? }

POST
/upload

上传测速:接收请求体并统计字节数,返回 { ok, bytes, server_ts }

Accept-Ranges: bytes Cache-Control: no-store Content-Type: application/octet-stream

浏览器自检

Ping:测量你到最近边缘节点的 RTT。Range 0-0:验证 206 与响应头。下载样本:验证链路可达、无缓存。

延迟:

探测:

上传测速:向 /upload 发送随机字节流并计时,得出上行吞吐(样本越大越准;部分平台对请求体大小有限制,建议 ≤ 25 MiB)。

上行:

App 集成示例

// 外网测速源:指向你的部署域名
val EXTERNAL_SPEEDTEST_URL = "https://<your-subdomain>.pages.dev/speedtest"

// 延迟探针:GET .../speedtest,带请求头 Range: bytes=0-0(期望 206 + 1 字节)
// 健康检查:GET .../ping(期望 200 + RTT 用 Date.now() 自算)
// 下载:并发开 4 条 GET .../speedtest,读到 EOF 或 25s 上限
// 自定义大小:发送请求头 X-Speedtest-Size: <bytes>(或 URL 参数 ?size=)
// 上传测速:POST .../upload,请求体为 N MiB 随机字节,客户端计时求上行速率