flare-base · workers
RUNNING ON CLOUDFLARE WORKERS

个人基础设施,一套端点全部搞定。

运行于 Cloudflare 边缘节点的 Hono 服务:基础信息查询、SSE 实时时间流、五大交易所 API 反向代理,以及随身WiFi设备的遥测上报与状态管理。本页接口均可直接运行体验。

runtime workerd framework hono storage workers kv region edge · global
01

基础工具

零认证的轻量查询接口,返回 JSON。点击「运行」直接发起同源请求查看真实响应。

GET
/time
当前时间的四种表示:毫秒时间戳、ISO 8601、UTC 字符串与 Unix 秒。

        
GET
/ip
从 Cloudflare 请求头解析客户端网络信息:IP、国家、城市与大洲。

        
GET
/info
请求诊断汇总:IP、User-Agent、时区与 Cloudflare Ray ID,排查问题时优先看这里。

        
GET
/health
存活探针,供监控服务轮询。返回 200 与当前毫秒时间戳。

        
POST
/back
JSON 回显:校验 Content-Type 后原样返回请求体,用于联调 POST 链路。
$ curl -X POST -H "Content-Type: application/json" \
    -d '{"hello": "world"}' https://your-worker.example.com/back

        
02

SSE 实时时间流

基于 Server-Sent Events 的长连接推送,服务端每秒下发一次结构化时间数据,55 秒后自动收尾,客户端断开即停止。适合验证代理、网关对流式响应的透传能力。

GET
/time/sse
每条消息格式:data: {"time": "...", "timestamp": ..., "formatted": "..."}
未连接
等待连接…
03

交易所 API 反向代理

把请求路径中的交易所前缀替换为目标域名后原样转发(方法、查询串、请求体均透传),并附加宽松 CORS 头。适用于被区域限制或需要统一入口的行情拉取场景。

前缀转发目标示例
/binance/*https://api.binance.com/binance/api/v3/time
/okx/*https://www.okx.com/okx/api/v5/public/time
/bybit/*https://api.bybit.com/bybit/v5/market/time
/bitget/*https://api.bitget.com/bitget/api/v2/public/time
/gate/*https://api.gateio.ws/gate/api/v4/spot/time
GET
/binance/api/v3/time
试一条真实链路:经 Worker 转发至 Binance 服务器时间接口。

        
04

随身WiFi 遥测上报

设备端客户端(mifi_guard)每 5 分钟推送一次全量快照,服务端按序列号 upsert 到 KV——电量、基带信号、WiFi 客户端与守护状态一站汇集。上报需 Bearer 认证,查询接口开放访问。

POST
/api/mifi/report
设备上报快照。必填 sn 与 reportTime,其余字段按可空处理;响应预留 cmd 字段供远程调参。
$ curl -X POST https://base.cardm.top/api/mifi/report \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{"sn":"MLM18235105156","reportTime":1790940000,...}'

# 响应
{"code":0,"error":"","cmd":null}
GET
/api/mifi/devices
全部设备最新快照与在线判定(超过 600 秒未上报即离线)。下方面板即此接口。
GET
/api/mifi/device/:sn
单台设备的完整快照详情。在下方面板点击设备行即可展开查看。
字段类型说明
snstring设备序列号,唯一标识与 upsert 主键
reportTimeint64上报时刻 Unix 秒(设备时间)
uptimeSecint64设备开机时长(秒),设备重启才清零
agentUptimeSecint64守护进程运行时长;与 uptimeSec 对照可识别 mifi_guard 重启
battery.capacityint电量 0-100;读取失败时整个对象缺席
battery.tempCfloat电池温度 °C,配合保护状态机判断
modem.rsrpDbmfloat参考信号功率 dBm,越接近 0 越好
modem.sinrDbfloat信噪比 dB,大于 13 视为良好
modem.wanIp / wanIpv6string蜂窝口 IPv4 / IPv6;IPv4 空串=无数据连接
modem.rxBytes / txBytesint64累计收/发字节(设备重启清零);相邻差值÷间隔=速率
modem.internetOkbool外网连通探测(TCP 223.5.5.5:53);断网判定以此为准
modem.internetRttMsint64连通探测 RTT 毫秒,internetOk=false 时为 0
system.load1float1 分钟负载;4 核设备,大于 4 即过载
system.memAvailableKbint64可用内存 KB;持续小于 20MB 需关注
system.firmwareVersionstring设备固件版本(区别于 mifi_guard 的 version)
wifi.clients[]string当前在线 WiFi 客户端 MAC 列表
guard.modestringnormal / charge_full / temp_high(电池保护状态机)