Commit Graph

49 Commits

Author SHA1 Message Date
baiyuechu 8a9d69d325 feat: add hotmail mail api account pool flow 2026-04-11 10:37:43 +08:00
QLHazyCoder ba128ed8d6 feat: 优化过滤验证码的时间请求逻辑 2026-04-10 01:09:59 +08:00
QLHazyCoder 393bfb2ae8 feat: 添加 Duck 邮箱自动获取重试机制,优化邮箱获取失败时的处理流程 2026-04-10 01:02:03 +08:00
QLHazyCoder 2165a0537f feat: 添加步骤7重试机制,优化回退重跑步骤时自动失效后续状态 2026-04-10 00:25:21 +08:00
QLHazyCoder 67add2c2e4 feat: 将验证码轮询最大轮次从9减少到5,以优化性能 2026-04-10 00:04:32 +08:00
QLHazyCoder e774ab43fc feat: 增强 OAuth 认证流程,添加超时错误处理和重试机制(5次) 2026-04-09 23:57:31 +08:00
QLHazyCoder a3453eaeaf feat: 添加邮箱验证码页面检测及日志记录,优化验证码输入流程 2026-04-09 23:29:55 +08:00
QLHazyCoder 51f2e7fd8e feat: 增加最大轮次常量以优化验证码轮询逻辑 2026-04-09 23:16:15 +08:00
QLHazyCoder 43914dcb78 feat: 添加可靠的邮件内容脚本通信处理,增强错误恢复机制 2026-04-09 22:40:58 +08:00
QLHazyCoder 46aaad5566 Merge pull request #1 from HeartlessHero/master
修复:在第 5 步中,优先使用可见的年龄输入框,而非隐藏的生日字段
2026-04-09 15:38:07 +08:00
HeartlessHero a6e4f2d2ba 修复:在第 5 步中,优先使用可见的年龄输入框,而非隐藏的生日字段
## Summary
  - fix Step 5 field detection to prefer visible `input[name="age"]`
  - stop treating hidden `input[name="birthday"]` as a birthday-mode signal
  - preserve birthday-mode handling for visible birthday controls

  ## Problem
  On some pages, a visible age input and a hidden birthday input coexist.

  The previous logic treated the hidden `input[name="birthday"]` as evidence of birthday mode, which caused Step 5 to
  fill birthday instead of age.

  ## Verification
  - reproduced on a page where `input[name="age"]` is visible
  - confirmed `input[name="birthday"]` exists but is hidden
  - verified Step 5 now enters the age branch and fills the age input correctly
2026-04-09 14:30:53 +08:00
QLHazyCoder b1ec4fe35d 统一 CPA 文案并补充许可证 2026-04-09 11:22:39 +08:00
QLHazyCoder f44dfd32d6 feat: 添加邮箱已存在的状态处理,优化注册流程中的错误管理 2026-04-09 10:32:05 +08:00
QLHazyCoder dd720d93f1 feat: 优化获取状态徽章元素的逻辑,支持多种选择器以提高兼容性 2026-04-09 09:18:14 +08:00
QLHazyCoder f204f38bdb 统一侧边栏确认弹窗交互 2026-04-09 02:02:48 +08:00
QLHazyCoder ed97ec4a4a feat: 在验证码请求流程中添加首次请求新验证码的选项,优化邮箱轮询逻辑 2026-04-09 01:50:12 +08:00
QLHazyCoder a86f6d4007 feat: 添加邮件时间戳解析功能,优化邮件轮询逻辑,支持时间过滤 2026-04-08 23:35:04 +08:00
QLHazyCoder 17bb9eacec feat: 添加健壮的消息发送功能,支持重试机制以提高稳定性和容错性 2026-04-08 22:25:45 +08:00
QLHazyCoder 9e51afee25 feat: 添加自动恢复运行功能,优化自动流程的连续性和稳定性 2026-04-08 22:20:46 +08:00
QLHazyCoder 237980037b feat: 优化跳过步骤逻辑,确保步骤 1 跳过时同时跳过步骤 2 2026-04-08 17:45:19 +08:00
QLHazyCoder ce78a099d6 feat: 添加自动运行选择对话框,支持继续当前流程或重新开始,优化用户体验 2026-04-08 17:41:00 +08:00
QLHazyCoder cf3f0f1665 feat: 增强步骤 9 的认证状态检测,确保仅在出现“认证成功!”状态徽标后判定成功,并自动关闭残留 localhost 标签页 2026-04-08 14:57:50 +08:00
QLHazyCoder 850e5a56b0 feat: 添加邮箱就绪时自动恢复运行的功能,优化自动运行流程 2026-04-08 14:34:48 +08:00
QLHazyCoder fb69e587c1 feat: 增强步骤 5 的错误处理,添加生日选择功能并优化提交结果检测 2026-04-08 14:32:48 +08:00
QLHazyCoder 41948b46d2 feat: 增强注册流程,自动处理密码页超时错误并恢复到验证码页面 2026-04-08 13:52:29 +08:00
QLHazyCoder 40a006bd1e feat: 添加跳过步骤功能,优化手动完成交互,更新状态显示 2026-04-08 13:15:29 +08:00
QLHazyCoder d450dd3ad3 feat: 优化按钮样式,调整邮箱获取按钮和保存设置按钮的内边距和缩放行为 2026-04-08 12:27:14 +08:00
QLHazyCoder 84d063b4ed feat: 在登录前刷新 OAuth 链接,优化 OAuth 登录按钮文本 2026-04-08 12:16:21 +08:00
QLHazyCoder bf7de173de feat: 增强设置管理功能,支持持久化保存配置,优化密码显示和保存按钮交互 2026-04-08 11:22:14 +08:00
QLHazyCoder 9d4b86e7e0 feat: 添加源地址管理功能,确保在打开新标签前清理旧标签 2026-04-08 11:01:39 +08:00
QLHazyCoder cdf46cde55 Auto 正在真正运行或重试时,步骤按钮和手动完成按钮不会放开。
Auto 处于暂停等待邮箱时,可以继续,也可以显式接管为手动。
Step 1 和 Step 9 不提供手动完成同步。
Step 3 会要求已知邮箱和密码;Step 8 会要求已经捕获 localhostUrl。
2026-04-08 10:52:36 +08:00
QLHazyCoder 099066987d feat: 增强邮箱获取功能,自动尝试获取 DuckDuckGo 邮箱并提供手动粘贴提示 2026-04-08 01:42:35 +08:00
QLHazyCoder 96867783dd 翻译界面和日志信息为中文,更新 OAuth 流程中的步骤描述,添加管理密钥输入框和相关功能,增强用户体验,优化 CSS 样式,修复部分逻辑错误,确保自动化流程的稳定性和可用性。 2026-04-08 01:14:22 +08:00
Jimmy f79166b96d feat: add support for Inbucket mailbox configuration and dynamic host input 2026-04-06 13:21:58 +08:00
Jimmy 77cfdc1dd9 feat: enhance OAuth flow with automatic button click and debugger integration 2026-04-06 12:16:49 +08:00
Jimmy 8b0ffa330f feat: add Inbucket mailbox support and enhance password management in side panel 2026-04-06 12:01:20 +08:00
Jimmy 2be94e6765 feat: enable tab reload option for URL reuse in tab management 2026-04-05 20:12:19 +08:00
Jimmy 59c9a13edb feat: add DuckDuckGo Email Protection autofill settings
- Implemented a new content script for DuckDuckGo Email autofill functionality.
- Enhanced email polling scripts (mail-163.js, qq-mail.js, signup-page.js, vps-panel.js) to handle user flow interruptions.
- Updated utility functions to manage flow stopping and error handling.
- Introduced a stop button in the side panel for user control over ongoing processes.
- Improved UI elements and styles for better user experience, including new button states and messages.
- Adjusted the side panel to fetch DuckDuckGo email automatically and display it in the input field.
2026-04-05 18:30:16 +08:00
unknown 387e177e00 chore: pre-release cleanup
- Remove dead chatgpt.js (unused — all auth flows go through signup-page.js)
- Remove chatgpt.com from manifest content_scripts
- Fix resetState() to preserve vpsUrl and mailProvider on manual reset
- Add 30s timeout to all tabs.onUpdated listeners (prevent hanging)
- Fix misleading "All runs finished" log when loop breaks early
- Remove stale TODO comment in signup-page.js
- Add disabled styles for .btn-primary and .run-count-input
- Remove unused `indicator` variable in sidepanel.js
- Fix trailing comma in manifest.json
2026-04-05 11:33:42 +08:00
unknown 1286130023 feat: reuse tabs across multi-run — no more tab bloat
- tabRegistry preserved across resetState (like seenCodes/accounts)
- New reuseOrCreateTab() helper: navigates existing tab or creates new one
- All steps use reuseOrCreateTab: VPS panel, auth page, mail
- Mail tabs: only activate if alive, don't re-navigate (preserves session)
- Auth tab: reused between step 2→6→8, navigated to new URLs
- VPS tab: reused across runs, re-injected on navigation
2026-04-05 10:49:40 +08:00
unknown 69b5b780f8 feat: random password per account + accounts log
- generatePassword(): 14 chars with uppercase, lowercase, digits, symbols
- Each run generates a unique password, stored in state.password
- accounts array: { email, password, createdAt } persisted across resets
- No more hardcoded password
- seenCodes also preserved across resets
2026-04-05 10:37:07 +08:00
unknown ee472675c1 feat: 163 mail — deduplicate codes + auto-delete after reading
- seenCodes Set tracks all codes extracted in this session
  - Step 7 won't pick up step 4's code even if email still exists
  - Across multi-run loops, old codes are skipped
- After extracting code, right-click mail item → click "删除邮件"
  - Keeps inbox clean for next poll cycle
  - Failure to delete is non-fatal (warn only)
2026-04-05 10:20:52 +08:00
unknown bcc33ecd12 feat: multi-run support — execute N times with one click
- Side Panel: number input next to Auto button (1-50)
- Background: autoRunLoop wraps full flow in a for-loop
  - Each run: reset state (keep VPS/mail settings) → steps 1-9
  - Pause for email on each run, resume continues
  - Stop on error
- Side Panel shows run progress: "Running (2/5)", "Paused (3/5)"
- AUTO_RUN_RESET message resets UI between runs
- Default mail provider changed to 163
- 163 mail: faster polling (500ms intervals), skip child iframe ready signals
2026-04-05 10:15:43 +08:00
unknown 7cc7c91bf3 fix: update 163 mail - click inbox first, correct refresh selectors
- Click "收件箱" in left sidebar on load to ensure inbox view
- Refresh uses toolbar "刷新" button (nui-btn-text) or sidebar "收信" button
- Selectors match actual 163 mail DOM structure
2026-04-05 10:02:15 +08:00
unknown c6f1070ace feat: configurable VPS URL, 163 mail support, mail provider selector
- VPS URL: now an input field in Side Panel, no longer hardcoded
  - Dynamic script injection via chrome.scripting.executeScript
  - host_permissions changed to <all_urls> for flexibility
- 163 Mail: new content script (mail-163.js) with actual selectors
  - Mail items: div[sign="letter"], sender: .nui-user, subject: span.da0
  - Supports aria-label fallback for matching
- Mail provider selector: dropdown to switch between QQ Mail and 163 Mail
  - Background routes steps 4/7 to correct mail content script
- Settings persist in chrome.storage.session
2026-04-05 09:56:48 +08:00
unknown 5d6b2789b1 ui: light theme default + dark/light toggle
- Light theme: clean white (#fff) base, soft gray surfaces, professional feel
- Dark theme: deep navy (#0f1117), elevated layers, subtle shadows
- Theme toggle button (moon/sun icons) in header, persists via localStorage
- Auto-detects system prefers-color-scheme on first visit
- CSS variables for all colors, both themes defined in same file
- Improved contrast ratios for both modes (WCAG AA)
2026-04-05 09:51:41 +08:00
unknown 053a2188bc ui: redesign Side Panel with dark OLED theme
- Dark OLED background (#0a0a0b) with surface/elevated layers
- Inter font for UI, JetBrains Mono for code/data
- Blue/green/orange/red semantic color system with subtle glow effects
- Step indicators with colored circles showing state (running/completed/failed)
- Animated status dot (pulse) for running state
- Custom scrollbar, log line animations, step state transitions
- Auto Run button with SVG icons and state changes
- Console section with Clear button
- Progress counter (0/9)
- Respects prefers-reduced-motion
2026-04-05 09:47:58 +08:00
unknown 1c1e589bdc feat: add Auto Run mode for full automated flow
- Background: add step completion waiting (promise-based), autoRun/resumeAutoRun
  chains steps 1→2 (pause for email) → 3→4→5→6→7→8→9 automatically
- Side Panel: add "Auto Run" button and "Continue Auto" bar for email pause point
- signup-page.js: add step 8 handler to click "继续" on OAuth consent page
- Fix all steps to reportComplete before form submit (prevents connection loss on navigation)
- qq-mail.js: fallback after 3 attempts to first matching email
- vps-panel.js: step 9 waits for "认证成功!" status badge
2026-04-05 09:42:17 +08:00
unknown 887709e824 feat: initial implementation of Multi-Page Automation Chrome extension
- manifest.json: MV3 config with sidePanel, tabs, webNavigation, storage, scripting permissions
- background.js: service worker with state management (chrome.storage.session), tab registry,
  message routing, command queue, and step orchestration for all 9 steps
- sidepanel/: persistent side panel UI with 9 step buttons, interlock logic, log area,
  state restore, and reset functionality
- content/utils.js: shared utilities (waitForElement, fillInput, simulateClick, log, report*)
- content/vps-panel.js: VPS panel automation (steps 1, 9)
- content/signup-page.js: OpenAI auth page automation (steps 2, 3, 4-fill, 5)
- content/qq-mail.js: QQ Mail email polling and code extraction (steps 4, 7)
- content/chatgpt.js: ChatGPT login automation (steps 6, 7-fill, 8)
- data/names.js: random English name and birthday generation
2026-04-05 08:59:03 +08:00