免服务器、免备案、免动态 IP 白名单。同一套 /api/draft 接口,凭证放哪儿的区别——选一个部署即可。
| 维度 | V1 初版 | V2 凭证穿透 |
|---|---|---|
| 凭证存放 | Cloudflare 环境变量 | 本地 config.json / localStorage |
| 请求体是否带凭证 | 不带 | 带(未带则回退 env) |
| CORS 跨域 | 无 | 有(含 OPTIONS 预检) |
| 网页表单 | 无 | 无(但可被本地工作台调用) |
| 适用场景 | 纯脚本 draft_push.py | 脚本 + 本地工作台 index.html |
| 凭证安全 | 托管在 CF(加密存储) | 只存本地,CF 不持久化 |
403 / error 1010,去 Security → Bots 关「Bot Fight Mode」+「浏览器完整性检查」。freepublish 返回 48001,推到草稿箱后仍需手动点发表。