Skip to content

TokenRouter 0.2.6

Choose a tag to compare

@github-actions github-actions released this 06 Oct 16:54
· 449 commits to main since this release

本版本包含一项非常重要的支付安全漏洞修复,建议所有用户尽快升级,使用易支付及其兼容平台的站点请优先安排升级。

升级注意

  • 易支付回调现在会拒绝非标准字段、重复字段及格式不合法的必填字段。使用易支付兼容平台时,请确认通知字段符合标准协议;携带额外字段的回调会被拒绝,订单可通过主动查单确认付款。
  • 发布归档统一使用 tokenrouter_<版本>_<系统>_<架构>,包内可执行文件名为 tokenrouter。本版移除 sub2api_ 兼容归档及包内的 sub2api 文件,只识别这些旧名称的更新器需要手动升级。
  • 源码维护脚本请使用仓库根目录的 make check、make verify、make fmt、make fmt-check、make hooks 和 make security。旧的 verify-*、后端测试及 deploy/Makefile 入口已移除;前端 pnpm 版本从 .pnpm-version 迁至 frontend/package.json 的 packageManager 字段。

优化改进

  • 推送前检查按改动文件选择格式、lint、单元测试和前端关联测试,在当前工作区执行。CI 分别运行全量检查,并按 lint、测试和构建复用 Go 缓存,减少重复验证和缓存写入。
  • 后端单元测试统一由 go test ./... 执行,无需 unit 构建标签。集成测试按需启动 PostgreSQL 和 Redis,身份与推广测试复用迁移模板,并调整容器就绪等待和清理流程。
  • 根目录 make build 先生成前端资源,再编译嵌入前端的服务端;make build-backend 用于单独构建后端。前端类型检查覆盖应用和构建配置,资源打包提供独立的 build:assets 入口。

Bug 修复

  • 修复易支付支付通知校验中的安全漏洞。验签前检查回调字段及其内容,核对商户身份、支付方式和有效金额,拒绝混入的下单参数及重复字段,防止不合法通知进入付款处理流程。
  • 修复支付返回地址可携带用户自定义参数的问题。下单时清除查询参数和片段,拒绝带用户信息或非法主机字符的地址,结果页的订单与恢复参数由服务端生成。
  • 补齐 pnpm 12 在锁文件中需要的自身版本和各平台安装包记录,修复 CI 冻结安装失败的问题。
  • 修正中英文 README 的 CI 徽章和检查链接,使其指向当前工作流。

📥 Installation

Docker:

# GitHub Container Registry
docker pull ghcr.io/tokenflux/tokenrouter:0.2.6

One-line install (Linux):

curl -sSL https://raw.githubusercontent.com/TokenFlux/TokenRouter/main/deploy/install.sh | sudo bash

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

📚 Documentation