Commit Graph

80 Commits

Author SHA1 Message Date
演变
ab80fe3634 Merge pull request #106 from ZHOUKAILIAN/fix/issue-80-master
fix: 修复导入邮箱和现有账号场景下重复命中旧验证码的问题
2026-03-27 20:57:38 +08:00
演变
8d979894bf Merge pull request #109 from MisonL/feature/newapi-token-validation
fix: validate NEWAPI token input across UI and API
2026-03-27 19:11:23 +08:00
cnlimiter
808d4529f8 feat(payment): 优化国家货币列表获取逻辑
- 添加内置 fallback 国家/货币列表作为备用方案
- 实现多层缓存策略:内存缓存 -> DB 缓存 -> API 请求
- 改进 API 请求逻辑:先获取国家代码列表,再并发请求各国配置
- 使用线程池并发获取各国货币配置信息
- 增加详细的错误处理和日志记录
- 将缓存时间延长至 7 天并添加缓存回写功能
- 优化响应数据结构和字段提取逻辑
2026-03-27 19:08:01 +08:00
cnlimiter
f458f2159c Merge remote-tracking branch 'origin/master' 2026-03-27 17:01:08 +08:00
cnlimiter
f3268ec0a6 feat(payment): 实现动态国家货币配置加载功能
- 移除硬编码国家货币映射,改为从API动态加载
- 添加 /api/payment/countries 接口获取支持的国家/货币列表
- 实现国家列表缓存机制(1小时有效期)
- 在支付页面添加国家选择下拉框动态渲染
- 添加网络请求失败时的备用数据方案
- 保留批量模式状态不被重置的注释说明
2026-03-27 17:00:55 +08:00
演变
75ce9c82e1 Update src/web/routes/upload/newapi_services.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-27 15:06:19 +08:00
cnlimiter
2e47834152 feat(proxy): 优化代理配置管理功能
- 更新 proxy_url 属性为 get_proxy_url 方法,支持多级代理优先级
- 实现代理获取三路优先级:动态代理 > 代理池 > 静态代理
- 添加取消默认代理功能和 unset_proxy_default 接口
- 实现批量导入代理功能,支持多种格式解析
- 在前端界面添加批量导入代理按钮和模态框
- 重构代理设置页面的默认代理切换交互
- 更新支付流程中的代理获取方式
- 添加 UUID 依赖并优化支付请求头配置
2026-03-27 15:03:11 +08:00
Mison
062afb35db fix(newapi): validate token input across ui and api 2026-03-27 13:45:39 +08:00
zhoukailian
1bc53b6569 fix: 扩展邮箱验证码去重到现有账号链路 2026-03-26 23:44:50 +08:00
zhoukailian
a890bc7f2b feat: add cloud-mail service support 2026-03-26 20:07:21 +08:00
cnlimiter
904dd1f230 feat(settings): 添加删除禁用代理功能
- 在数据库 CRUD 层添加删除所有已禁用代理的方法
- 在设置页面界面添加删除禁用项按钮
- 更新表格列数以适应新的操作列
- 在 JavaScript 中添加按钮元素引用
- 实现代理连通性测试函数用于验证功能
- 添加代理测试失败时自动禁用机制
2026-03-26 15:16:47 +08:00
演变
8f0a2c4655 Merge branch 'master' into copilot/codex-auth-f4d0327 2026-03-25 23:52:53 +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
05e480a756 feat(newapi): 添加 NEWAPI 上传功能及服务管理接口
- 新增 `newapi_upload.py` 文件,包含上传到 NEWAPI 的功能。
- 在数据库模型中添加 `NewapiService` 表及相关字段。
- 更新 CRUD 操作以支持 NEWAPI 服务的创建、更新、查询和删除。
- 添加新的 API 路由以管理 NEWAPI 服务。
- 前端实现批量上传和单个账号上传到 NEWAPI 的功能。
- 更新相关页面以支持 NEWAPI 服务的选择和管理。
2026-03-24 17:46:33 +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
78f2d0accc Fix registration OTP anchor and batch task state 2026-03-24 12:16:10 +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
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
zhoukailian
1db7642a43 fix: broadcast single task completion status to web ui 2026-03-24 12:15:43 +08:00
zhoukailian
6ceaf61666 feat: auto disable failed proxies 2026-03-24 12:15:14 +08:00
cnlimiter
a53fe50a0c fix(register): 修复新版本注册流程 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
magisk317
8ffd1f294c Fix template rendering with Starlette 1.0 2026-03-23 16:39:49 +08:00
shiuing
fbf7e41b25 feat: support proxy_url in CPA auth files 2026-03-20 17:29:49 +08:00
cnlimiter
0059cf97bd feat(services): 新增标准 IMAP 邮箱服务支持(Gmail/QQ/163等)
- 新增 EmailServiceType.IMAP_MAIL 枚举值和默认配置
- 新建 ImapMailService(imaplib 标准库,强制直连)
- 注册路由新增 imap_mail 分支和 available-services 键
- 邮箱服务路由新增 imap_mail stats 统计和类型描述
- accounts 路由 _build_inbox_config 支持 imap_mail
- 前端表单/列表/编辑完整支持 IMAP 子类型
- 无新增依赖
2026-03-20 15:46:29 +08:00
cnlimiter
9ada1f6ec6 fix(settings): 修复备份数据库时 pathlib.Path 与 fastapi.Path 命名冲突 2026-03-20 13:49:17 +08:00
cnlimiter
1bce26c81a fix(accounts): 使用三级代理策略(代理列表→动态代理→静态配置)替换刷新/验证时的简单代理获取 2026-03-20 13:36:55 +08:00
cnlimiter
b1a8d02353 feat(mail): 添加收件箱功能,自动获得验证码 2026-03-20 12:54:39 +08:00
yunxilyf
f4f17ebb5d feat: 新增 freemail 邮箱服务渠道支持 2026-03-19 23:33:31 +08:00
cnlimiter
7f8e85b0aa fix(tm): 去除冗余的上传参数 2026-03-19 19:56:08 +08:00
cnlimiter
9d369bca63 Merge remote-tracking branch 'origin/master' 2026-03-19 19:11:09 +08:00
cnlimiter
cd01280b56 fix(team manager): 更改team上传router路径 2026-03-19 19:01:44 +08:00
rockxsj
15ea00fcd8 增加前端资源版本号 2026-03-19 17:38:01 +08:00
rockxsj
91120a2fb4 增加duckmail支持 2026-03-19 16:41:30 +08:00
cnlimiter
891bfcdf47 fix(main): 修复引用 2026-03-18 23:58:58 +08:00
演变
58c76d017c Merge branch 'master' into fix/temp-mail-registration-flow 2026-03-18 23:48:28 +08:00
王剑锋
5a935ccc59 Fix temp mail registration flow 2026-03-18 21:36:40 +08:00
cnlimiter
fef0978a0e fix(main): 优化项目结构 2026-03-18 20:03:49 +08:00
cnlimiter
baeb3061fe feat(service): 拆分服务 2026-03-18 19:43:31 +08:00
cnlimiter
4fe5b177b9 feat(register): 注册后自动操作增加服务 2026-03-18 19:20:42 +08:00
cnlimiter
881e724463 feat(account): 合并上传按钮 2026-03-18 19:08:53 +08:00
cnlimiter
ff2d15ff14 feat(config): 合并上传配置并修复debug模式下数据库初始化提示错误 2026-03-18 18:34:28 +08:00
cnlimiter
ffd3a81a38 feat(upload): #13 添加上传至sub2api 2026-03-18 18:27:14 +08:00
cnlimiter
23336e26b3 feat(config): 采用列表模式 2026-03-18 14:42:10 +08:00
cnlimiter
931ea798cc feat(cpa): 支持多cpa服务 2026-03-18 14:01:44 +08:00