github ranxi2001/sub2api v2.15.0
Sub2API 2.15.0

4 hours ago

AI API Gateway Platform - 将 AI 订阅配额分发和管理

本版新增账号调度的一次性定时开关,以及按来源查询、解除并回读的 IP 安全审计;同时修复中转 API Key 配额误判、SIWC 多实例授权和加密 Responses 的账号亲和性。新增能力来自本 fork,匿名鉴权防护默认关闭,需管理员确认配置后启用。

账号定时打开与关闭

  • 账号管理的「调度」列支持「定时打开」「定时关闭」,桌面与移动端一致。每个账号可同时保存一个打开、一个关闭计划,支持相对时长和明确 IANA 时区的固定时间;计划持久化,关闭浏览器不影响执行。它是一次性计划,不会按天重复。PR #516
  • 默认时区 Asia/Shanghai,默认最长 366 天;后台每 30 秒轮询,不保证秒级准点。离线后的关闭可补执行,打开逾期超过 15 分钟会跳过;非 active、已删除或到期账号也不会被定时打开。
  • 立即或批量手动切换会在确认后取消该账号全部待执行计划;普通账号编辑保留计划与数据库中的调度值。执行只改变允许调度状态,原有额度、到期、限流和质量隔离等硬门槛继续生效。时间、并发与失败边界

IP 审计与匿名鉴权防护

  • 「安全审计 → IP 审计」新增独立管理员入口,可按来源查看匿名 API ban、IP 风控、已知 IP 的登录封禁与登录频率桶。解除操作绑定来源、版本和原因,执行后重新读取状态;手工 ACL、外部 Fail2ban/iptables 等未接入来源明确标注,不能将一次解除理解为全链路放行。PR #513
  • 新增独立、默认关闭的匿名 API 鉴权失败防护,使用 Redis 在多实例共享计数和短期 ban。只累计缺失、格式错误、未知或显式 disabled 的 key;同出口合法 key 不因匿名垃圾请求被新防护拒绝。停用用户、余额或额度限制、鉴权存储故障及上游错误不算匿名攻击。
  • 建议起点为 60 秒内 30 次明确失败、封禁 300 秒,须结合共享出口和实际失败量调整。Redis 故障时新防护放行至原鉴权流程,无效 key 仍被拒绝;既有手工黑名单等规则独立生效。先正确配置可信反代,本功能不替代边缘流量清洗。配置与恢复边界
  • 新连接诊断可关联「已识别 key、但因用户停用被拒绝」的可信身份,仍返回原认证拒绝;未知 key 不补造归属,也不回填历史记录。

OpenAI、SIWC 与 TypeSafe 修复

  • 中转 API Key 不再因透传的 ChatGPT plan_type 被标成订阅账号,也不把别人的周配额 reset 时间和 Codex 快照当成本 key 容量。真实 429 仍走短退避,显式账号策略及特定供应商规则继续优先;OAuth 账号维持自己的配额处理。不会自动清除此前留下的错误标记或冷却。PR #510 · PR #515
  • SIWC 待完成授权改用 Redis 加密会话与原子一次性消费,支持多副本;请求头采用独立白名单。结构化 subscription_sharing_user_not_eligible 返回固定解释,停止本次请求,不自动切号、重复授权、删除凭据或处罚账号;不新增主动付费资格探测。PR #511
  • 带加密 reasoning 的 Responses 保留账号亲和性,不因质量指标单独逃逸;权限、协议与容量等硬门槛仍有效。失效密文恢复扩展为按可信错误位置/内容精确定位,并保留有界旧错误格式兼容;无法可靠定位时保留原失败,不笼统删除历史密文。PR #512
  • 内容审计设置支持独立保存 TypeSafe Base URL,接受服务器根地址、/v1 或完整 /v1/systemone 并保留代理前缀;拒绝内嵌凭据、query 和 fragment。它不改变现有出站访问限制,保存 URL 不会解除 Key 的 401/403 冻结。PR #514

升级与回退

  • 新增 forward-only 迁移 295_account_schedulable_timers.sql,仅增加计划、审计表及索引。升级前备份数据库;若需回退,应先用新版本取消 pending 计划并停止相关 worker。旧二进制忽略新表,不会执行或取消计划,未经复核重新升级可能恢复执行旧计划。
  • SIWC 多实例须共享 Redis 6.2+ 与持久凭据加密密钥,并统一升级副本;升级前尚未完成的授权需重新开始。Redis 数据丢失或密钥轮换也需要重新授权。SIWC 说明
  • 本次为正式软件发布,不包含生产部署、真实数据库迁移、付费模型调用或新策略启用;CI 与构建结果不代表线上业务已验收。

完整差异 v2.14.0...v2.15.0


📥 Installation

Docker:

# GitHub Container Registry
docker pull ghcr.io/ranxi2001/sub2api:2.15.0

One-line install (Linux):

curl -fsSL https://raw.githubusercontent.com/ranxi2001/sub2api/v2.15.0/deploy/install.sh | sudo bash -s -- install -v v2.15.0

Manual download:
Download the appropriate archive for your platform from the assets below.

K3s gateway upgrade (on each existing single-node host):

curl -fsSL https://raw.githubusercontent.com/ranxi2001/sub2api/v2.15.0/deploy/upgrade-k3s.sh | sudo bash -s -- --version v2.15.0

Defaults: namespace tosky-canary, Deployment tosky-nerd; override with --namespace NAME --deployment NAME.
Upgrade every instance sharing Redis to this release.

📚 Documentation

Don't miss a new sub2api release

NewReleases is sending notifications on new releases.