Skip to content

About

No description, website, or topics provided.

Resources

Stars

21 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CPA — Sub2API 批量转换器

一个用于 Windows 桌面的本地工具。

它的作用是把一批“单账号源 JSON”批量整理成一个可导入的 Sub2API 目标 JSON。工具提供图形界面,适合直接点选文件、检查有效性、修改导出设置后再导出。

主要应用场景:批量将CPA(CLI Proxy Api)导出的大量账号json转换为Sub2API可导入的格式。

这个项目能做什么

  • 批量添加多个 .json 文件
  • 直接选择整个文件夹导入
  • 自动识别当前样本中的 3 类源文件变体
  • 在列表中显示邮箱、目标名称、套餐、格式类型、校验结果
  • 无效文件保留显示,但默认不会参与导出
  • 把多个源文件合并导出成 1 个目标 JSON
  • 支持设置输出目录、输出文件名、并发、优先级、倍率、到期自动暂停
  • 支持统一给所有导出账号挂同一个代理

运行环境

  • Windows
  • Python 3.14

安装

在项目目录执行:

python -m pip install -r requirements.txt

启动

python main.py

启动后会打开桌面窗口。

使用方法

1. 载入文件

  • 点击 添加文件 选择一个或多个源 JSON
  • 或点击 添加文件夹 一次导入整个目录
  • 文件载入后会出现在文件列表中

2. 检查文件列表

文件列表会显示:

  • 是否参与导出
  • 文件名
  • 邮箱
  • 目标名称
  • 套餐
  • 源格式
  • 校验结果

如果某个文件格式不对,列表里会直接显示原因。

3. 修改导出设置

主界面只显示摘要。

点击 编辑导出设置 可以打开独立设置窗口,修改:

  • 输出目录
  • 输出文件名
  • 并发数
  • 优先级
  • 倍率
  • 是否到期后自动暂停
  • 是否启用代理
  • 代理名称、协议、地址、端口、用户名、密码、状态

保存后,主界面会更新摘要。

4. 开始导出

点击 开始转换 后,程序会:

  • 跳过无效文件
  • 把已勾选的有效文件合并成一个目标 JSON
  • 写入你指定的输出目录

导出完成后:

  • 结果区会显示成功数量、失败数量、输出路径
  • 可以点击 打开输出目录 直接查看结果文件

转换规则

当前版本的固定规则如下:

  • 只处理 .json 文件
  • 目标始终导出为 1 个合并文件
  • 账号 name 取邮箱 @ 前面的部分
  • 如果名称重复,会自动变成 name-2、name-3
  • platform 固定为 openai
  • type 固定为 oauth
  • 源文件中的 expired 会统一写成目标里的 expires_at
  • email、client_id、organization_id、plan_type、subscription_expires_at 会尽量从 JWT 中补齐
  • 不会写入 device_id、session_token

导出结果长什么样

导出文件顶层固定只有 3 个字段:

{
  "exported_at": "2026-04-08T10:00:00Z",
  "proxies": [],
  "accounts": []
}

其中:

  • exported_at:导出时间
  • proxies:如果启用了代理,这里会写代理配置
  • accounts:转换后的账号列表

项目结构

cpa_to_sub2api/
├─ main.py
├─ requirements.txt
├─ README.md
├─ app/
│  ├─ __init__.py
│  ├─ converter.py
│  └─ ui/
│     ├─ __init__.py
│     └─ main_window.py
└─ tests/
   └─ test_converter.py

测试

运行:

python -m pytest -q

当前测试覆盖的重点包括:

  • 3 类源文件格式识别
  • JWT 字段补全
  • 重名自动处理
  • 有代理和无代理两种导出结果
  • 坏 JSON、缺字段、时间错误、代理端口错误

About

No description, website, or topics provided.

Resources

Stars

21 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages