Commit Graph

40 Commits

Author SHA1 Message Date
cnlimiter
c5ab1747c6 Merge remote-tracking branch 'origin/master' 2026-03-16 14:25:04 +08:00
演变
0146c524cd Merge pull request #5 from db52/docker-support
feat: 添加 Docker 支持及部署教程
2026-03-16 14:22:19 +08:00
db52
9e2d4decf2 feat: 添加 Docker 支持及部署教程 2026-03-16 13:59:02 +08:00
cnlimiter
a134345be3 docs(readme): 更新 README 以添加并发控制说明和许可证信息 2026-03-16 13:49:54 +08:00
cnlimiter
60de39cebd fix(routes): 改进 CPA 导出功能,支持多账号 ZIP 打包 2026-03-16 13:04:36 +08:00
cnlimiter
8b27e7bb28 refactor(core): 优化CPA上传使用curl_cffi的multipart方式 v1.0.3 2026-03-16 11:56:05 +08:00
cnlimiter
07f0a2cca0 fix(task_manager): 修复多线程竞态条件,添加全局元锁保护字典创建 2026-03-16 10:45:25 +08:00
cnlimiter
bb75fe08dd feat(registration): 添加批量任务日志同步功能
在批量注册任务中,将单个任务的详细日志同步推送到批量任务频道,使前端能在混合日志中查看每个任务的详细执行步骤。
2026-03-16 10:35:06 +08:00
cnlimiter
4e5c53f627 feat(ui): 为批量注册添加并发模式选择功能
- 在前端界面添加并发模式(流水线/并行)和并发数配置
- 后端支持并发执行批量任务,线程池扩展至50个并发
- 优化批量任务日志显示,添加任务编号前缀
2026-03-16 10:12:40 +08:00
cnlimiter
f7957902e5 feat(core): 添加动态代理模块 2026-03-16 02:53:29 +08:00
cnlimiter
d4e4c75d10 docs(readme): 全面重构项目文档结构 v1.0.2 2026-03-16 02:46:01 +08:00
cnlimiter
7315002131 feat(web): 添加页面可见性重连机制和WebSocket支持
- 前端app.js添加页面可见性监听和WebSocket重连逻辑
- 后端registration.py集成TaskManager支持WebSocket推送
- 更新依赖添加websockets库支持
- 优化批量任务状态管理和日志推送
2026-03-16 02:43:51 +08:00
cnlimiter
97a8c01b9f feat(proxy): 添加动态代理支持
- 在代理获取逻辑中集成动态代理 API 调用
- 新增动态代理配置界面和 API 接口
- 扩展设置模型以支持动态代理参数
- 更新前端设置页面和 JavaScript 逻辑
2026-03-16 02:06:21 +08:00
cnlimiter
9dbb6e4e26 fix(services): 修复POST请求重定向时方法丢失问题 2026-03-16 01:13:33 +08:00
cnlimiter
e2ef325eba refactor(core): 统一自定义域名服务配置字段名
- 将自定义域名服务配置中的 `api_url` 字段重命名为 `base_url`
- 将 `domain` 字段重命名为 `default_domain`
- 更新相关的前端表单、后端API及数据库查询逻辑以保持兼容性
- 在注册任务处理中自动处理新旧字段名的转换
2026-03-16 01:04:58 +08:00
cnlimiter
abbb3a3cf6 docs(readme): 更新项目文档,增加打包和CPA功能说明 v1.0.1 2026-03-15 23:31:45 +08:00
cnlimiter
03d7459da8 refactor(registration): 调整响应模型顺序以提升代码可读性 2026-03-15 23:27:45 +08:00
cnlimiter
17612368f6 build: 添加PyInstaller打包配置和多平台构建脚本 v1.0.0 2026-03-15 21:09:46 +08:00
cnlimiter
151fa7cc49 feat(core): 支持PyInstaller打包并优化资源路径
- 修改app.py以支持PyInstaller打包后的资源路径
- 更新session.py以支持APP_DATA_DIR环境变量
- 增强webui.py以设置打包后的数据目录
- 添加pyproject.toml的PyInstaller依赖组
- 新增构建脚本和GitHub Actions工作流
2026-03-15 20:54:52 +08:00
cnlimiter
45503102a6 refactor(core): 移除旧版CLI和主程序文件
本次提交删除了两个旧版本的核心入口文件:
1. cli.py (170行) - 旧版命令行接口,包含数据库初始化、邮箱服务创建和注册循环逻辑
2. main.py (619行) - 旧版主程序,包含完整的Tempmail.lol集成、OAuth授权流程和注册逻辑

这些文件已被重构后的模块化架构替代,新架构将功能拆分为独立的服务层、核心引擎和数据库模块,提高了代码的可维护性和可测试性。
2026-03-15 19:27:13 +08:00
cnlimiter
2f2fb51764 refactor(config): 优化Outlook提供者优先级和验证码匹配逻辑
- 调整Outlook提供者优先级:IMAP_OLD > IMAP_NEW > Graph API
- 增强OpenAI验证邮件发件人匹配模式,支持子域名
- 改进Graph API提供者的401错误处理,避免因权限不足误判
- 修复配置解析中的类型转换问题
2026-03-15 19:10:53 +08:00
cnlimiter
1628552b92 feat(app): 重构outlook邮箱服务 2026-03-15 17:58:39 +08:00
cnlimiter
75f5bb439b fix(app): 修复WebSocket连接关闭时的重复轮询和toast显示问题 2026-03-15 16:25:06 +08:00
cnlimiter
23a6c9be96 refactor(app): 修复取消按钮重复点击问题 2026-03-15 13:10:51 +08:00
cnlimiter
529094fe10 feat(core): 支持已注册账号自动登录流程
- 在 Account 模型添加 source 字段区分账号来源
- 注册引擎检测到已注册账号时自动切换到登录流程
- 已注册账号跳过密码设置和账户创建步骤
- 优化注册表单响应解析逻辑
2026-03-15 10:24:16 +08:00
cnlimiter
01613dc9c7 feat(core): 支持已注册账号自动登录流程
- 在 Account 模型添加 source 字段区分账号来源
- 注册引擎检测到已注册账号时自动切换到登录流程
- 已注册账号跳过密码设置和账户创建步骤
- 优化注册表单响应解析逻辑
2026-03-15 10:24:06 +08:00
cnlimiter
3d8a90cda9 feat(webui): 添加WebSocket支持实现实时任务状态更新
- 在注册任务和批量任务中集成WebSocket连接
- 添加TaskManager管理任务状态和日志推送
- 前端app.js重构支持WebSocket与轮询降级机制
- 配置模块重构为完全基于数据库存储
2026-03-15 03:52:24 +08:00
cnlimiter
76efc047b3 feat(settings): 添加验证码配置页面和数据库存储支持 2026-03-15 03:03:32 +08:00
cnlimiter
e70c99f205 feat(core): 实现了 Outlook 邮箱验证码获取改进方案
1. 增强邮件识别逻辑 (_is_openai_verification_mail)
    - 严格验证发件人必须是 OpenAI
    - 验证主题/正文包含验证关键词
    - 验证收件人匹配目标邮箱
  2. 邮件时间戳过滤
    - 基于 otp_sent_at 过滤发送前的旧邮件
    - 预留 60 秒时钟偏差容忍
  3. 验证码提取优化 (_extract_code_from_mail)
    - 优先从主题提取 6 位数字
    - 语义正则匹配("code is", "验证码")
    - 兜底任意 6 位数字
  4. 验证码去重机制
    - 新增 _used_codes 实例变量
    - 避免重复使用同一验证码
  5. 渐进式邮件检查
    - 前 3 次轮询只检查未读邮件
    - 之后检查所有邮件(避免已读邮件被忽略)
  6. 可配置超时时间
    - 新增配置项 email_code_timeout(默认 120 秒)
    - 新增配置项 email_code_poll_interval(默认 3 秒)
  7. 详细时间戳日志
    - 记录 IMAP 连接耗时
    - 记录邮件搜索耗时
    - 记录总耗时和轮询次数
2026-03-15 02:43:00 +08:00
cnlimiter
bf13756e6d feat(core): 增强注册流程的邮箱重复检测与错误处理
- 在注册引擎中增加邮箱重复检测机制,当检测到邮箱已在OpenAI注册时自动标记为失败状态
- 优化密码注册失败的错误信息解析,提供更详细的错误反馈
- 改进Outlook账户选择逻辑,自动跳过已注册的邮箱账户
- 在CRUD操作中为账户添加状态字段,支持更细粒度的账户状态管理
2026-03-15 02:17:38 +08:00
cnlimiter
f3575c5795 feat(core): 为OAuth模块添加代理支持
- 在_post_form函数中增加proxy_url参数,支持通过curl_cffi发送带代理的请求
- 更新OAuthManager构造函数,接收并传递代理配置
- 修改submit_callback_url函数签名,添加proxy_url参数
- 在RegistrationEngine中传递代理配置给OAuthManager
2026-03-15 02:06:11 +08:00
cnlimiter
845e712226 feat(registration): 新增Outlook批量注册功能
- 前端界面添加Outlook批量注册选项和账户选择面板
- 后端API新增/registration/outlook-accounts和/registration/outlook-batch端点
- 支持批量选择Outlook账户、自动跳过已注册邮箱、随机间隔控制
- 更新requirements.txt依赖版本
2026-03-15 01:56:55 +08:00
cnlimiter
6529215bd1 feat(core): 新增CPA文件上传核心模块 2026-03-15 00:43:35 +08:00
cnlimiter
41dd27eca0 feat(accounts): 添加CPA上传功能及批量操作支持 2026-03-15 00:43:19 +08:00
cnlimiter
59b8ced3ba feat(accounts): 添加CPA上传功能及相关字段
- 在Account模型和响应中添加cpa_uploaded和cpa_uploaded_at字段
- 新增批量导出和CPA上传API端点
- 实现数据库迁移功能自动添加缺失列
- 扩展账号管理API支持CPA相关操作
2026-03-15 00:42:48 +08:00
cnlimiter
9af9dc77a8 feat(config): 添加随机用户信息生成函数并改进代理配置 2026-03-14 22:43:50 +08:00
cnlimiter
6891b9f11d 4 2026-03-14 20:36:03 +08:00
cnlimiter
0688f4ca7e 3 2026-03-14 17:36:55 +08:00
cnlimiter
9d3099fcd8 2 2026-03-14 16:51:57 +08:00
cnlimiter
dc1334fbab 1 2026-03-14 01:27:40 +08:00