gproxy v3 staging
Pre-release
Pre-release
v3.0.0
GPROXY 3.0: the from-scratch Rust rewrite is the stable release line.
English
Added
- One embeddable core (
gproxy-core) behind interchangeable hosts: the native axum binary, the fetch-based edge wasm host for Cloudflare Workers, Deno Deploy and Netlify Edge, and direct embedding in other Rust applications. - Pairwise conversion between OpenAI Chat Completions, OpenAI Responses, Claude Messages and Gemini GenerateContent, buffered and streaming, with no intermediate schema. Embeddings, images, audio, video, rerank, files, web search, token counting, compaction, realtime and model listing take the same path.
- Built-in provider channels with pooled credentials, deterministic rotation, per-credential limits and health, circuit breaking, and console sign-in wizards for OAuth channels. Codex CLI, Claude Code and Gemini CLI run against pooled credentials with every request metered.
- One settlement funnel for every path, including CLI control planes and WebSockets: admission with pre-charged quota estimates, reconciliation to settled cost, dimensional pricing with tiers, and per-request usage records with duration and output speed.
- Reset-aware subscription quota tracking with remaining-quota charts per round and across rounds, and a segmented switch between usage records and quota history.
- Structured model capabilities (modalities, parameters, reasoning levels, service tiers, tools) projected into each wire family, with an embedded model catalog and default pricing.
- One schema over SQLite, libSQL/Turso, PostgreSQL and MySQL, with AES-256-GCM sealing of stored secrets and transactional master-key rotation.
- Channel-independent account OAuth with browser PKCE and device authorization, configurable public clients, and Portal session history and revocation.
- Signed self-update manifests on
releases,staginganddevchannels; native installers for Linux, macOS, Windows and Android, a container image, and prebuilt edge bundles.
Fixed
- Validate Portal OAuth return URLs after browser normalization to reject cross-origin redirects, including backslash bypasses.
- Generate test authentication secrets at runtime and prevent secret-store failures from forwarding raw backend diagnostics.
- Apply reviewed Console dependency upgrades and update English/Chinese README and deployment instructions.
Changed
- Rebuilt v3.0.0 with size-focused optimization, fat LTO, one codegen unit and aborting panics. UPX is applied and integrity-tested on supported Linux, Android and Windows x64 executables; macOS, RISC-V and Windows ARM64 remain unpacked. Container executables stay unpacked.
- This is a same-version rebuild: existing 3.0.0 installations need a manual download to receive the smaller package. Checksums, signatures and build provenance are refreshed; published Rust crates are unchanged.
releases/latestnow resolves to v3. The v2 line remains on itsv2.x.ytags and is no longer the default download.- Native startup backs up and migrates a supported v2 SQLite database before opening the v3 store, verifying import counts, integrity, references, recoverable secrets and exact settled totals before atomic replacement. Unmapped populated tables, unsupported policies or unrecoverable secrets stop the upgrade instead of being dropped.
- Existing v2 updaters do not retain the old executable: save it before updating, or reinstall the matching official v2 package to roll back. Remote databases require explicit migration; login sessions may need reauthentication.
- Read the upgrade and rollback guide before updating a live v2 installation. Early alpha databases may require a manual migration; back them up before upgrading.
简体中文
新增
- 一个可嵌入的核心(
gproxy-core)配合可互换的宿主:原生 axum 二进制、面向 Cloudflare Workers、Deno Deploy 与 Netlify Edge 的 fetch 型 wasm 宿主,以及在其他 Rust 应用中直接嵌入。 - OpenAI Chat Completions、OpenAI Responses、Claude Messages 与 Gemini GenerateContent 之间的两两直接转换,支持缓冲与流式,不经过中间格式。嵌入、图像、音频、视频、重排、文件、网页搜索、token 计数、压缩、realtime 与模型列表走同一条路径。
- 内置供应商渠道:凭据池、确定性轮转、按凭据限流与健康跟踪、熔断,以及 OAuth 渠道的控制台登录向导。Codex CLI、Claude Code 与 Gemini CLI 直接使用凭据池,每个请求都计量。
- 所有路径(含 CLI 控制面与 WebSocket)共用同一条结算漏斗:预扣配额估算的准入、按实际结算成本回填、带档位的维度计价,以及含耗时与输出速度的逐请求用量记录。
- 识别重置的订阅配额跟踪,提供每轮与跨轮的剩余配额图表,并可在用量记录与配额历史之间切换。
- 结构化模型能力(模态、参数、推理档位、服务档位、工具)投影到各个线协议,内嵌模型目录与默认价格。
- SQLite、libSQL/Turso、PostgreSQL 与 MySQL 共用一份 schema;存储密钥使用 AES-256-GCM 封存,主密钥轮换在单一事务内完成。
- 跨渠道的账户 OAuth:浏览器 PKCE、设备码授权、可配置的公开客户端,以及 Portal 登录历史与会话撤销。
releases、staging与dev通道的签名自更新清单;Linux、macOS、Windows 与 Android 原生安装包、容器镜像及预构建 edge bundles。
修复
- 按浏览器标准规范化 Portal OAuth 回跳地址,再检查同源,阻止反斜杠等跨域跳转绕过。
- 测试认证密钥改为运行时生成,密钥存储失败不再直接透传底层诊断信息。
- 整合已审阅的控制台依赖升级,重写中英文 README 并修正部署说明。
变更
- 重新构建 3.0.0,启用体积优化、fat LTO、单 codegen unit 和 panic abort;对受支持的 Linux、Android、Windows x64 程序执行 UPX 压缩和完整性检查。macOS、RISC-V、Windows ARM64 不强行使用 UPX,容器内程序也保持未加壳状态。
- 本次保持版本号 3.0.0 不变:已安装 3.0.0 的用户需手动下载小体积包;校验和、签名及构建来源信息会更新,已发布的 Rust crate 不变。
releases/latest现在解析到 v3。v2 保留在各自的v2.x.ytag 上,不再是默认下载。- 原生启动会在打开 v3 存储前备份并迁移受支持的 v2 SQLite 数据库,在原子替换前验证导入数量、完整性、引用、可恢复密钥与精确结算总额。遇到未覆盖的非空表、无法表达的策略或不可恢复密钥时,升级停止而不是丢弃数据。
- 现有 v2 更新器不会保留旧程序:请在更新前自行保存,或回滚时重装对应的官方 v2 包。远程数据库需要显式迁移;登录会话可能需要重新认证。
- 更新线上 v2 实例前请阅读升级与回滚指南。早期 alpha 数据库可能需要手动迁移,请先备份再升级。