CORX 对比 AllOrigins

核查于 2026-09-17

AllOrigins: 官网 · 文档

AllOrigins 是市面上最简单的 CORS 代理:免费、开源的 Node 服务,只有 `/get` 与 `/raw`,不用 key、不用账号。CORX 解决的是下一个问题:在服务端替你保管浏览器拿不到的上游凭证。

看它跑起来:在首页演示里真实执行一次注入。

在浏览器里测试任意 URL 的 CORS

对比项CORXAllOrigins
鉴权模型支持按 key 鉴权(`X-Api-Key` 或 Bearer)、为已授权来源免密钥访问,或使用托管实例的公共 key;密钥以哈希形式存放在你自己的 D1 中。未记录任何鉴权:没有 key、没有账号、没有配额页面,`/get` 与 `/raw` 直接开放。
上游密钥上游 header / query 规则存放在 D1(设置 `INJECTION_KEK` 后为 AES-256-GCM 密文),在服务端按白名单主机注入。浏览器始终拿不到密钥值。无从注入:代理原样转发收到的请求,凭证只能由调用方携带;托管服务与代码里都没有密钥存储。
自托管MIT 许可,单个 Cloudflare Worker 配 D1 与 R2,部署到你自己的账号;小规模使用免费套餐即可。开源(MIT)Node/Express:`git clone && npm install && npm start`,不需要 Cloudflare 账号,任何 Node 主机都能跑。仓库最后一次推送停在 2023-02-26。
缓存R2 GET 缓存,可用 `corx-ttl` / `corx-no-cache` 按请求调整、按 key 封顶;注入请求头的 key 不与他人共享缓存,解析后的响应头规则也是缓存键的一部分。未见说明:README 与官网只描述 `charset`、`raw`、`callback`,没有缓存控制。
请求日志每个请求都写入你自己的 D1:目标、主机、状态码、延迟、调用方 Origin、key、IP、国家。保留窗口由你决定(默认 30 天,`LOG_RETENTION_DAYS`),也可以完全关闭(`LOG_REQUESTS=false`);按天聚合保留趋势。托管实例没有日志说明;仓库依赖 `@logdna/logger`,自托管版本配置后可以写入 LogDNA(Mezmo)。
限额按 key 的频率限制与每日配额由你自己设定,或使用公共档位的共享配额;自托管时上限就是你 Cloudflare 套餐的上限。未见说明:没有公布任何每日、每月或每分钟的配额。
价格免费、MIT 许可。只为 Worker 的实际用量向 Cloudflare 付费,没有订阅,也不按席位计费。免费、MIT 许可,README 里有给维护者的 PayPal 打赏按钮。
从零到第一个请求把 Worker 部署到自己的账号(约十分钟);或复制托管实例的公共 key,在每日配额内发 GET/HEAD。一个 URL,无 key、无账号:贴上 `api.allorigins.win/raw?url=…` 就完事。这一项它更好有意取舍
代理之外只做代理:转发、缓存、注入、日志、响应头规则(为你控制的主机去掉 `X-Frame-Options` / CSP),外加文本重编码(`corx-charset`)、JSON 包装(`corx-wrap`)与公开的 CORS 测试器。不做图片处理、网页抓取/提取或文件转换。除代理、`charset` 转换与 JSONP `callback` 外没有其他记录在案的能力。
可用性自托管:可用性取决于你自己的 Cloudflare 账号。公共实例是尽力而为,没有 SLA,也没有支持承诺。社区维护,没有公布的 SLA,仓库自 2023-02-26 起没有推送。我们 2026-09-17 核查时,托管 API 从我们的网络访问全部返回 5xx。

AllOrigins 更好的地方

AllOrigins 什么都不需要你提供:无账号、无 key、无需部署,一个 URL 就够。如果只是给业余项目抓公开页面,它确实比 CORX 的公共档更省事(后者要先复制 key);而且它是 MIT 许可的 Node 服务,只要跑得动 Node 就行,不一定非上 Cloudflare。

信息来源

上表中关于 AllOrigins 的每一个格子都来自其官方文档,并标注了读取日期——点开链接即可自行核对。CORX 一列描述的是本仓库(README.md 与 FEATURES.md)以及同一天的代码。

两者都只差一行代码。先在首页用公共 key 试试;流量重要时再自托管。 回到首页