gcli2api / deploy /cloudflare-worker /wrangler.toml
a3216's picture
chore: 同步到上游 1.12.0-panel + 凭证同步/独立启动器/保活
6d60378 verified
Raw History Blame Contribute Delete
4.37 kB
# WorkBuddy2API — Cloudflare Worker 配置
# 本地路径:D:\workbuddy2api-panel\deploy\cloudflare-worker\worker.js
#
# 用法:
# cd D:\workbuddy2api-panel\deploy\cloudflare-worker
# npx wrangler deploy
#
# 注意:任何 secret 一律用 `wrangler secret put` 写入,绝对不要落到本文件里。
# 本目录四个文件均可提交:worker.js / wrangler.toml / .dev.vars.example / README.md。
# `.dev.vars`、`.dev.vars.*`、`.wrangler/` 已被根目录 .gitignore 忽略
# (同时用 `!.dev.vars.example` 把模板放回版本库)。
name = "workbuddy2api-hf-proxy"
main = "worker.js"
# 兼容性日期:固定在一个已发布版本上,不要写得太新也不要写 today。
# 2025-01-01 已支持 Request/Response 流式透传、AbortController、
# `redirect: "manual"` 与 crypto/Headers 全套 API,本 Worker 只用这些。
compatibility_date = "2025-01-01"
# ---------------------------------------------------------------------------
# 环境变量(非机密)
# ---------------------------------------------------------------------------
[vars]
# 源站:HF Space 的直连域名。改 Space 时只改这里,不用动 worker.js。
ORIGIN = "https://a3216-gcli2api.hf.space"
# 保活探测路径,默认 /healthz(网关自带探活端点,无鉴权、开销最小)。
# HEALTH_PATH = "/healthz"
# GET / 的跳转目标,默认 /panel/。
# 网关只注册了 /panel/,直连 Space 的 GET / 是 404;而公网入口
# cli.3216gemini.dpdns.org/ 实测返回 302 → /panel/ —— 说明这层跳转是 CF 侧加的。
# 本 Worker 复刻该行为,换用后首页体验不变。设成空串则关闭跳转、严格透传后端 404。
# ROOT_REDIRECT = "/panel/"
# --- 以下为「可选唤醒/签到」相关,默认全部注释掉 = 功能关闭 ---
# 只有当你确实需要「主动调用某个接口才算真正唤醒」时才打开;
# 单纯的防休眠只需要 /healthz 的裸 ping,不需要任何鉴权。
#
# CHECKIN_CRON:只在这个 Cron 表达式触发的运行里做签到。
# CHECKIN_PATH:带 Bearer 调用的路径,例如 "/panel/api/keepalive"。
# CHECKIN_CRON = "0 * * * *"
# CHECKIN_PATH = "/panel/api/keepalive"
# ---------------------------------------------------------------------------
# 定时触发:Hugging Face 免费 cpu-basic Space 连续 48 小时无 HTTP 流量即暂停,
# 冷启动 30–60 秒。每 5 分钟打一次 /healthz 即可彻底避免被暂停。
# 5 分钟是 Cloudflare Cron Triggers 的最小粒度,取最小值最稳。
# ---------------------------------------------------------------------------
[triggers]
crons = ["*/5 * * * *"]
# ---------------------------------------------------------------------------
# 路由:把公网入口 cli.3216gemini.dpdns.org 全部流量交给本 Worker。
# 该域名必须在本 Cloudflare 账号下(zone: 3216gemini.dpdns.org)。
#
# 两种接法,任选其一:
# A) 用 wrangler 管理路由——取消下面注释后 `wrangler deploy` 会自动建路由;
# B) 在 Cloudflare Dashboard → Workers → 你的 Worker → Settings → Domains &
# Routes 里手动添加,本文件保持注释即可(推荐,避免误删线上路由)。
#
# ⚠️ 启用路由前请确认:该主机名当前的 DNS 记录不能同时是「已代理指向别处」的
# A/AAAA/CNAME,否则 Worker 路由与 DNS 记录会打架。正确做法是让该主机名
# 由 Worker 路由接管(DNS 里通常留一条指向 100:: 的 AAAA 占位记录)。
#
# routes = [
# { pattern = "cli.3216gemini.dpdns.org/*", zone_name = "3216gemini.dpdns.org" }
# ]
# ---------------------------------------------------------------------------
# 机密(不要写进本文件、不要提交)
# ---------------------------------------------------------------------------
# WB2A_API_KEY —— 面板/网关的 Bearer 密钥。仅「可选签到」功能需要它。
# npx wrangler secret put WB2A_API_KEY
# 未设置时,scheduled() 只做 /healthz 裸 ping,不发送任何鉴权请求。
#
# 本地调试用 `.dev.vars`(同目录,格式 KEY="value",见 .dev.vars.example)。
# 该文件与 `.wrangler/` 都已被根目录 .gitignore 忽略,但仍请自行确认不要
# 把真实密钥提交上去;线上请用 `wrangler secret put`。
# WB2A_API_KEY="你的密钥"