Commit Graph

154 Commits

Author SHA1 Message Date
cnlimiter
bb3bd2596d feat(register): 添加资源清理功能并更新依赖
- 在 Register 类中实现 close 方法用于关闭会话、HTTP 客户端和邮箱服务
- 添加 httpx>=0.28.1 到项目依赖列表
- 实现异常处理确保资源释放过程的稳定性
- 为会话管理和 HTTP 客户端添加适当的关闭逻辑
2026-03-26 00:23:25 +08:00
演变
08327b4425 Merge pull request #93 from haq426-163/copilot/codex-auth-f4d0327
feat: add Codex auth login and export flow
2026-03-25 23:53:33 +08:00
演变
8f0a2c4655 Merge branch 'master' into copilot/codex-auth-f4d0327 2026-03-25 23:52:53 +08:00
演变
657f1f7ff1 Merge pull request #89 from asasugar/feat/newapi-upload-target-support
feat(newapi): 上传目标支持 newApi 接入
2026-03-25 23:51:25 +08:00
Solo
f4d0327f67 feat: add Codex auth login and export flow
Add Codex Auth support in account management so selected accounts can
complete a Codex-compatible OAuth login flow and export usable auth.json
files.

This commit includes:
- account-management UI entrypoints for Codex Auth login and auth.json download
- backend SSE routes for single-account and batch Codex Auth login execution
- persistence of freshly returned Codex-compatible tokens back into the account database
- Codex auth export support for direct auth.json download and batch zip packaging
- tests covering the Codex Auth login flow and export behavior

The OTP verification failure was caused by manually sending a second OTP after
password verification. The flow now reuses the existing proven login path:
login re-entry, password verification, automatic OTP reception, consent page
handling, workspace selection, and OAuth callback exchange.

Successful logins now also persist workspace_id together with the refreshed
Codex-compatible tokens, making later re-export of auth.json possible without
requiring the browser-downloaded file to still exist locally.

Change-Id: I59df518ef4dc05f8bc52c734dd1b738fcb0b7a4e
2026-03-25 19:55:13 +08:00
Jay Hsueh
9c6e0d6036 feat(newapi): enhance NEWAPI service management with channel configuration
- Added channel_type, channel_base_url, and channel_models fields to the NewapiService model.
- Updated CRUD operations to handle new fields for creating and updating NEWAPI services.
- Modified upload functions to accept channel configuration parameters.
- Enhanced front-end forms and tables to display and manage channel settings for NEWAPI services.
- Improved error handling and user feedback in the UI for service management.
2026-03-25 15:18:05 +08:00
Jay Hsueh
ab353f0429 Merge branch 'master' of https://github.com/cnlimiter/codex-manager into feat/newapi-upload-target-support 2026-03-25 15:01:39 +08:00
演变
1cbb95f91c Merge pull request #83 from ZHOUKAILIAN/fix/worker-mail-otp-extraction
fix: avoid reading six-digit email domains as OTPs
2026-03-25 00:17:34 +08:00
kailian zhou
f219750668 Merge branch 'master' into fix/worker-mail-otp-extraction 2026-03-24 17:58:01 +08:00
Jay Hsueh
05e480a756 feat(newapi): 添加 NEWAPI 上传功能及服务管理接口
- 新增 `newapi_upload.py` 文件,包含上传到 NEWAPI 的功能。
- 在数据库模型中添加 `NewapiService` 表及相关字段。
- 更新 CRUD 操作以支持 NEWAPI 服务的创建、更新、查询和删除。
- 添加新的 API 路由以管理 NEWAPI 服务。
- 前端实现批量上传和单个账号上传到 NEWAPI 的功能。
- 更新相关页面以支持 NEWAPI 服务的选择和管理。
2026-03-24 17:46:33 +08:00
zhoukailian
107be96166 fix: avoid reading six-digit email domains as OTPs 2026-03-24 17:43:34 +08:00
演变
99a6d6cc04 Merge pull request #78 from MisonL/fix/all-consolidated-fixes
fix: consolidated protocol restoration, playwright removal and port conflict fix
2026-03-24 12:43:39 +08:00
Mison
3cd08b49c2 docs: add diagnostic tools and final audit report for v5.1 hardening 2026-03-24 12:16:10 +08:00
Mison
568b26ea42 fix(db): prevent SQLite lock issues by increasing timeout and improving task sync 2026-03-24 12:16:10 +08:00
Mison
5b76619d6f feat(register): enhance workspace extraction and phase status reporting 2026-03-24 12:16:10 +08:00
Mison
67a446aca0 fix(email): resolve Tempmail.lol field drift and OTP anchor race condition 2026-03-24 12:16:10 +08:00
Mison
3c8ba40d2d fix: prevent secondary OTP from hanging 2026-03-24 12:16:10 +08:00
Mison
78f2d0accc Fix registration OTP anchor and batch task state 2026-03-24 12:16:10 +08:00
Mison
b8b1eb72d1 test: finalize restored task coverage 2026-03-24 12:16:09 +08:00
Mison
ee082091b9 fix: anchor pull request to currently running production code in docker 2026-03-24 12:16:09 +08:00
Mison
55acc62fa7 fix: change default port to 15555 2026-03-24 12:16:09 +08:00
Mison
de2c4aa7ab fix: restore protocol baseline, resolve 403/400 registration errors, and fully remove deprecated playwright dependency 2026-03-24 12:16:09 +08:00
Mison
a7a6391f0d chore: finalize deployment config for master release 2026-03-24 12:16:07 +08:00
Mison
43149ff079 fix(harden): isolate resource cleanup and self-healing flow 2026-03-24 12:16:07 +08:00
Mison
cf571d37c1 fix(logic): isolate atomic batch counters and token sync fields 2026-03-24 12:16:07 +08:00
Mison
16154bb5ae fix: change default port to 15555 2026-03-24 12:15:44 +08:00
zhoukailian
1db7642a43 fix: broadcast single task completion status to web ui 2026-03-24 12:15:43 +08:00
zhoukailian
9fdc7a882d fix: route batch websocket fallback by task type 2026-03-24 12:15:21 +08:00
cnlimiter
5f9032fbf7 feat(tempmail): 将邮箱 token 持久化到数据库,重启后可继续接收验证码 2026-03-24 12:15:21 +08:00
Mison
12c8bb5c6c fix(login): add workspace backoff and cleanup guard 2026-03-24 12:15:21 +08:00
演变
e4a8015ca0 Update README.md 2026-03-24 12:15:21 +08:00
zhoukailian
e7c62579b1 chore: remove proxy management tests 2026-03-24 12:15:21 +08:00
zhoukailian
6ceaf61666 feat: auto disable failed proxies 2026-03-24 12:15:14 +08:00
cnlimiter
f647acd91e fix(log): 修复引号报错 2026-03-24 12:14:17 +08:00
cnlimiter
cef2f715e0 ci: 添加多平台构建支持并统一产物命名为 v2 前缀 2026-03-24 12:14:17 +08:00
cnlimiter
55a2437710 fix(log): 修复 2026-03-24 12:14:17 +08:00
cnlimiter
b39c4a01e2 fix(release): 修复release产物 2026-03-24 12:14:17 +08:00
cnlimiter
229e18d253 fix(register): 修复新版本注册流程2 2026-03-24 12:14:17 +08:00
cnlimiter
a53fe50a0c fix(register): 修复新版本注册流程 2026-03-24 12:14:17 +08:00
cnlimiter
e116011e67 fix(register): Outlook 跳过发验证码时补充 otp_sent_at 时间戳
跳过 _send_verification_code() 时未设置 _otp_sent_at,导致轮询时 since_minutes=None
只搜 UNSEEN 邮件,已读邮件被忽略。补充时间戳后走 SINCE 时间范围搜索,避免漏检
2026-03-24 12:14:17 +08:00
cnlimiter
a86a3568e8 feat(register): Outlook 邮箱注册跳过发送验证码环节
Outlook 邮箱由 OpenAI 直接发邮件,无需调用 _send_verification_code(),跳过该步骤直接等待收件
2026-03-24 12:14:17 +08:00
cnlimiter
92a26a8e1b feat(register): Outlook 邮箱注册跳过密码提交环节
使用 Outlook 邮箱服务时,第8步仅生成密码但不向 OpenAI 提交密码注册请求,直接进入后续验证码流程
2026-03-24 12:14:17 +08:00
cnlimiter
16f76076c5 fix(outlook): 多项修复与优化
- imap_new: 连接池并发安全(锁外建连、占位防重复)、IDLE tag 改用独立计数器避免私有API、get_recent_emails 新增 since_minutes 参数
- service.py: 同步更新
- accounts.py: Outlook 收件箱配置按 email 不区分大小写匹配、不受 enabled 限制
- settings.js: Outlook 批量导入前端校验要求四字段且 client_id/refresh_token 非空
2026-03-24 12:14:17 +08:00
cnlimiter
344cf0088c feat(email): 新增 Outlook 收件箱功能
- 后端:GET /api/email-services/{id}/inbox 端点,通过 IMAPNewProvider 读取收件箱
- 前端:收件箱列表模态框(支持仅未读筛选、刷新)
- 前端:邮件正文弹窗
- Outlook 操作列新增「收件箱」按钮
2026-03-24 12:14:17 +08:00
cnlimiter
668500028a refactor(outlook): 简化为单 IMAP_NEW Provider 2026-03-24 12:14:17 +08:00
cnlimiter
188636356a fix(register): 支持更多地区 2026-03-24 12:14:17 +08:00
演变
d8424d53af Merge pull request #72 from magisk317/fix/template-response-signature
Fix template rendering with Starlette 1.0
2026-03-23 18:24:32 +08:00
magisk317
8ffd1f294c Fix template rendering with Starlette 1.0 2026-03-23 16:39:49 +08:00
演变
e794371bd9 Update README.md 2026-03-21 16:42:39 +08:00
演变
052b04d84a Update README.md 2026-03-21 16:40:36 +08:00