From 30909824460bed80d9688d8e244b0d00d3fdc53b Mon Sep 17 00:00:00 2001 From: dave Date: Fri, 8 May 2026 23:28:57 +0800 Subject: [PATCH] Add ChatGPT session converter page --- .gitignore | 18 + README.md | 32 ++ docs/.nojekyll | 1 + docs/index.html | 1306 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1357 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 docs/.nojekyll create mode 100644 docs/index.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f82ca88 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +.DS_Store + +# Local secrets and session exports +.env +.env.* +*.session.json +session*.json +sessions*.json +token*.json +tokens*.json +auth*.json +credentials*.json + +# Dependency/build output if the project grows later +node_modules/ +dist/ +build/ +coverage/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..db6d46f --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# ChatGPT Session to CPA / sub2api + +纯前端单页面工具,用来把 ChatGPT Web 登录 session JSON 转换成 CPA 或 sub2api 可导入 JSON。 + +## 支持输入 + +支持粘贴或拖入 ChatGPT Web session JSON,例如包含: + +- `user.email` +- `user.name` +- `accessToken` +- `expires` +- `account.id` +- `account.planType` + +页面也会尝试从 `accessToken` 的 JWT payload 中补充邮箱、账号 ID、用户 ID、计划类型和过期时间。 + +## 输出格式 + +- `CPA`:生成最小 Codex CPA JSON,包含 `type: "codex"`、`access_token`、`email`、`name`、过期时间等可推导字段。 +- `sub2api`:生成参考 `CPA2sub2API` 项目的 `exported_at/proxies/accounts` 结构,账号平台为 `openai`,类型为 `oauth`。 +ChatGPT Web session 通常不包含 CPA OAuth 文件里常见的 `refresh_token` 和 `id_token`,因此 CPA 输出不会伪造这些字段。 + +## 本地使用 + +直接打开: + +```text +docs/index.html +``` + +所有解析和转换都在浏览器本地完成,不上传 token,不写入本地存储。 diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/docs/.nojekyll @@ -0,0 +1 @@ + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..6589f85 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,1306 @@ + + + + + + ChatGPT Session -> CPA / sub2api + + + + +
+
+
+

Local JSON Converter

+

ChatGPT Session -> CPA / sub2api

+
+
+ 浏览器本地解析 + 不上传 token + 不写入存储 +
+
+ +
+
+ + +
+
+ + +
+
+ +
+
+
+
+

Session JSON

+

粘贴 ChatGPT Web session,或拖入一个或多个 JSON 文件。

+
+
+
+
+
+ 拖入 JSON 文件 + 也可以点击选择文件 +
+
+ +
+ + + +
+ +
等待输入。
+
+
+ +
+
+
+

转换结果

+

当前输出为 sub2api 导入 JSON。

+
+
+
+

+ ChatGPT Web session 一般没有 `refresh_token` 和 `id_token`;CPA 输出只包含 access token 和可推导字段。 +

+
+
+
0
+
账号数
+
+
+
sub2api
+
输出格式
+
+
+
0
+
跳过项
+
+
+
+ + + + + + + + + + + + + + + + + + + + +
名称邮箱过期时间来源
暂无可转换账号。
+
+
+ +
暂无输出。
+
+
+
+
+ + + +