FreeLLMAPI URL令牌完全指南:无Header客户端的可撤销/v1/t访问方案
【免费下载链接】freellmapi7.4 billion tokens per month. 34 free LLM providers. 635 free model endpoints. All behind one /v1 endpoint, plus any custom OpenAI-compatible endpoint. Smart routing, automatic failover, encrypted keys. Personal experimentation only.项目地址: https://gitcode.com/GitHub_Trending/fr/freellmapi
FreeLLMAPI 是一款聚合 34 家免费大模型服务商、635 个免费模型端点的统一 API 网关,所有能力都收敛在一个/v1端点后。它的可撤销 URL 令牌(URL Token)功能,让那些无法发送Authorization请求头的客户端,也能通过https://your-host/v1/t/{token}/chat/completions这样的纯 URL 方式安全访问,并且随时一键吊销。
为什么需要 URL 令牌?
正常情况下,调用 FreeLLMAPI 需要带上Authorization: Bearer <统一API密钥>请求头。但现实中有不少场景做不到:
- 📱 某些脚本工具、嵌入式客户端、旧版 HTTP 库只允许你改 URL,改不了请求头
- 🔗 想把 API 端点以"链接"形式分享给同事或贴进某个不支持自定义 Header 的配置里
- 🧪 本地快速调试:直接在浏览器地址栏里测试端点可用性
以前的选择是把统一 API 密钥直接拼进 URL——这不安全:密钥会进入浏览器历史记录、反向代理日志、shell 历史记录,而且统一密钥不可单独撤销,一旦泄露只能全盘换钥。
URL 令牌就是为这个场景设计的:一个独立的、可单独撤销的、只存在于 URL 中的访问凭证。
URL 令牌的工作原理(30秒看懂)
令牌机制在 server/src/services/url-tokens.ts 中实现,核心设计有三点:
| 设计点 | 说明 |
|---|---|
| 🔐 哈希存储 | 服务端只保存令牌的 SHA-256 哈希(flmurl_前缀 + 32 位随机串),数据库泄露也拿不到原始令牌 |
| 👁️ 一次性展示 | 令牌只在创建时完整显示一次,之后列表中只能看到flmurl_abc123…这样的前缀,请立即复制保存 |
| ⚡ 即时吊销 | 撤销后,该令牌下一次请求就返回401 Invalid or revoked URL token |
路由层在 server/src/routes/url-tokens.ts 中校验令牌,验证通过后才在内部注入统一密钥,令牌本身永远不会以完整密钥的身份出现。
创建 URL 令牌:3步快速配置
- 打开面板:登录 FreeLLMAPI 控制台,进入「密钥」页面,找到「可撤销的 URL 令牌」区块(源码:client/src/components/keys/agent-compatibility-section.tsx)
- 填写标签并创建:给令牌起个标签(如
VS Code、调试脚本),便于日后管理;点击创建,弹出完整令牌 - 立即复制:页面会提示"请立即复制此令牌,它不会再次显示"——把令牌拼进 URL 即可
对应的管理接口在 server/src/routes/settings.ts:GET /api/settings/url-tokens列出令牌、POST创建、DELETE /api/settings/url-tokens/:id吊销。
支持的端点:/v1/t/{token} 怎么用
创建令牌后,把https://your-host/v1/t/{token}作为 baseURL 即可,覆盖两大协议族:
OpenAI 兼容端点
GET https://your-host/v1/t/{token}/models POST https://your-host/v1/t/{token}/chat/completions POST https://your-host/v1/t/{token}/responses例如用 curl 验证连通性:
curl https://your-host/v1/t/flmurl_xxxxx/modelsOllama 兼容端点
无 Header 的 Ollama 风格客户端也能直接用:
GET https://your-host/v1/t/{token}/api/tags POST https://your-host/v1/t/{token}/api/chat这两条兼容路径由路由注释明确支持(见 server/src/routes/url-tokens.ts),测试用例可参考 server/src/tests/routes/url-tokens.test.ts。
⚠️注意:/v1/t/:token路径同样受代理速率限制保护(见 server/src/app.ts),令牌不会绕过限流。
安全机制:泄露了怎么办?
这是 URL 令牌相比"裸密钥进 URL"的最大优势:
- ✅即时吊销:令牌泄露或不再使用时,在控制台点撤销,旧 URL 秒变
401,其余令牌和统一密钥不受影响 - ✅拒绝密钥混用:如果你把统一 API 密钥直接填进
/v1/t/{token}路径,服务端会明确拒绝并记录告警日志(validateUrlToken中专门做了时序安全比较拦截),防止误用 - ✅使用可追溯:每个令牌都记录创建时间和最后使用时间,方便判断某个泄露 URL 是否还在被使用
常见问题 FAQ
Q:令牌会再次显示吗?不会。完整令牌只在创建时出现一次,之后只有前 12 位前缀。丢失只能吊销后重建。
Q:撤销后还能恢复吗?不能。撤销是单向操作(revoked_at字段一旦写入即永久生效),需要重新创建新令牌。
Q:一个客户端一个令牌吗?建议如此。每个工具/设备签发独立令牌,出问题时可以精确定位并单独吊销,这是最佳实践。
Q:URL 令牌和统一 API 密钥能混用吗?不能。URL 路径只认 URL 令牌;带 Header 的客户端请继续用统一密钥走/v1/...,两者互不干扰。
写在最后
URL 令牌是 FreeLLMAPI 为"无 Header 客户端"准备的低成本、可撤销、防泄露的访问通道:哈希存储、一次性展示、即时吊销三重保障。如果你的工具只能改 URL,它就是你接入 635 个免费模型端点的最佳方案。更多端点与路由细节可查看 docs/api.md。
【免费下载链接】freellmapi7.4 billion tokens per month. 34 free LLM providers. 635 free model endpoints. All behind one /v1 endpoint, plus any custom OpenAI-compatible endpoint. Smart routing, automatic failover, encrypted keys. Personal experimentation only.项目地址: https://gitcode.com/GitHub_Trending/fr/freellmapi
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考