Skip to content

Releases: 2951461586/GPT-Register-Tool

v2026.08.15

Choose a tag to compare

@2951461586 2951461586 released this 14 Aug 18:21

v2026.08.15 发布说明

本版本完成协议支付公共执行层迁移、Smailr 注册修复、协议注册 AT-only 收敛,以及桌面账号列表的优惠状态展示与排序。

桌面账号列表

  • “可试用 Plus”优惠状态统一显示为绿色成功状态。
  • “优惠状态”列支持升序/降序排序。
  • 排序在完整筛选结果上执行,再进行分页,不再只重排当前页面。
  • 新增独立 AccountGridPresentation 模块,主窗口只维护排序状态和刷新动作。

协议注册与邮箱

  • 协议注册彻底移除 8c Codex OAuth Refresh Token 阶段,旧调用即使传入兼容参数也保持 AT-only。
  • Smailr API Key 不可读取域名目录时,使用已配置的默认域名/Domain ID;等级限制导致创建失败时可复用未绑定邮箱。
  • 修复 Smailr TLS 瞬态重试、相对导入、发件人/收件人字段映射、邮件详情正文补取和乱码主题 OTP 回退。
  • 为 Smailr 邮件时间戳增加 10 秒容差,避免服务端时钟略早导致有效验证码被过滤。
  • 实际 Smailr 协议注册验证为 1/1 成功:AT HTTP 200、RT 不存在、优惠资格可用。

协议支付架构

  • payment_flow.py 统一支付阶段词汇和各支付方式流程 profile。
  • payment_routing.py 统一方法级代理池、阶段路由、地区和 Session 选择,并输出脱敏的不可变执行计划。
  • payment_executor.py 统一执行状态机、取消/超时/未知终态、结果归一化和进度历史。
  • CLI、单账号和批量支付复用相同路由计划,删除重复的阶段代理分配代码。
  • 删除已退役的 paypal_links.py、对应测试和“重新生成支付链接”入口;PayPal 链接统一通过协议支付管理器生成。

清理与文档

  • 清理 Python/.NET 测试缓存、构建中间产物和本轮 Smailr 临时诊断日志。
  • 更新 README、架构边界、目录职责和协议支付增强文档。
  • 保留 runtime/sessions/、本地配置、邮箱池和账号状态数据,不执行破坏性清理。

验证

  • Python 全量测试、Python 编译检查、架构扫描和敏感字段扫描。
  • .NET 全量测试和 SmsWorkbench/build_dotnet.ps1 标准发布构建。
  • 安装器、便携 ZIP 和 SHA-256 清单来自同一次 v2026.08.15 构建。

v2026.08.09

Choose a tag to compare

@2951461586 2951461586 released this 09 Aug 11:30

v2026.08.09 发布说明

本版本集中完成协议注册 P0/P1 稳定性、运行配置与敏感数据边界、桌面后端任务生命周期,以及支付适配器的结构整理。

协议注册

  • 注册成功后先保存 Session、账号候选和断点,再执行 AT HTTP 200 探活;探活遇到代理或 TLS 未知状态时可继续恢复。
  • 注册账号绑定独立代理会话,批量重试只对网络和认证状态故障换线。
  • 新增会话级 403/429 熔断,避免同一受限会话持续请求。
  • 注册流程使用状态机和原子 checkpoint,明确区分邮箱、Sentinel、Auth、账号创建、AT 探活与终态。
  • CLI 在邮箱采购前预检 ChatGPT、Auth、Sentinel 和 curl_cffi profile,失败时不消耗邮箱。

Fingerprint 与 Sentinel

  • 固定 curl_cffi==0.16.0,生产注册要求 chrome146 profile 可用。
  • NextAuth、Auth API、ChatGPT 拆分为三套 Header 模板,并共享稳定 DID、Session ID、调用 ID、UA 和 client hints。
  • Fingerprint 的语言和时区根据代理 GeoIP 生成,并传入 Sentinel QuickJS VM。
  • QuickJS 分阶段生成 username_password_createauthorize_continueoauth_create_account token。
  • Sentinel token、Cookie 和 Header 的 DID 必须一致;QuickJS/真实 SDK 失败按 sentinel_extract_failed 终止,生产模式不使用纯 HTTP PoW 降级。
  • QuickJS VM 补齐 navigator.userAgentData、viewport、scroll、时区、heap、time origin 和 Chrome 版本信息。

ReMail

  • 长效邮箱的本地化主题发生乱码时,可使用 ReMail 返回的结构化验证码快速路径。
  • 快速路径只接受精确收件人、六位数字和受支持的 OpenAI OTP 发件人,保留时间戳、快照和排除码过滤。
  • 实际 AT-Only 协议验证已完成:邮箱 OTP、账号创建、Session 落盘和 AT HTTP 200 探活均成功。

架构与安全

  • 引入不可变运行配置和工作流预检,避免模块导入时读取当前目录配置。
  • 邮箱 provider registry、MailboxService、注册状态机和 stage handler 从兼容入口中拆分。
  • Python/WPF 共用 sensitive_policy.json,日志、IPC、报告和异常统一完整脱敏。
  • 桌面端使用 BackendTaskCoordinator 管理单任务、取消、超时和清理。
  • 支付方法由 payment_methods.json 统一描述,Python 与 WPF 共用同一目录;协议脚本复用公共 transport/result 层。

验证

  • Python 全量测试、Python 编译检查、架构扫描和敏感字段扫描。
  • .NET 测试与 SmsWorkbench/build_dotnet.ps1 标准发布构建。
  • 安装器、便携 ZIP 和 SHA-256 清单来自同一次 v2026.08.09 构建。

v2026.08.05

Choose a tag to compare

@2951461586 2951461586 released this 05 Aug 11:05

v2026.08.05

This release completes the account-pool cleanup and tightens the registration,
mailbox, proxy, and desktop boundaries.

Account pool

  • Removed 10 terminal rows classified as dropped/deactivated or missing/invalid
    AT. The active SQLite pool now contains 419 rows with no missing AT records.
  • Unknown network/proxy results were retained for recheck instead of being
    treated as account failures.
  • Added sms_tool.account_cleanup and the dry-run-by-default
    scripts/cleanup_invalid_accounts.py. Applying cleanup creates a database
    backup and archives matching session files before removing mailbox-pool lines.

Module and protocol changes

  • Registration proxy resolution now uses only registration/default settings and
    distributes healthy static proxies across workers and retries.
  • Mailbox selection accepts iCloud receive URLs through the mixed compatibility
    route; iCloud listing and message-detail fetching are separate operations and
    OTP polling ignores the initial snapshot.
  • Proxy credentials are normalized at transport boundaries and redacted from
    liveness, Sentinel, and registration errors.
  • WPF selected-mailbox and failed-account reruns share one format-aware mailbox
    file builder, keeping provider parsing out of window handlers.

Cleanup and verification

  • Removed generated Python/.NET test caches and intermediate build output; local
    config.json, sessions/, and runtime/ remain ignored operator state.
  • Verified pytest -q (620 passed, 1 skipped, 22 subtests) and Python bytecode
    compilation. The .NET SDK selector now accepts the installed 10.0.302 feature
    band while CI remains pinned by global.json compatibility rules.

v2026.08.04

Choose a tag to compare

@2951461586 2951461586 released this 04 Aug 04:41

v2026.08.04

This release separates payment command orchestration from UI and provider
implementations, formalizes Checkout and terminal-result contracts, and tightens
repository cleanup and release boundaries.

Module boundaries

  • Moved protocol-payment CLI adaptation into sms_tool.commands.payment.
    sms_tool.cli remains the parser composition and compatibility entrypoint.
  • Moved deterministic WPF payment command planning and backend-result
    presentation into ProtocolPaymentExecution.cs; MainWindow.Payment.cs
    remains responsible for control state and invocation.
  • Kept ChatGPT Checkout/Stripe-init request and response normalization in
    checkout_contract.py, with side-effect-limited capability probing in
    payment_capability.py.
  • Kept GoPay, GCash, and GrabPay behind one shared wallet provider/transport
    adapter. This GoPay implementation is a ChatGPT Checkout wallet adapter and
    does not restore the retired gRPC, ADB, phone, or balance service.
  • Kept PayPal merchant-return reconciliation in a separate API so link
    extraction retains its existing interface and persistence semantics.

Payment contracts

  • Unified link results now distinguish completed, failed, cancelled,
    unknown, and timed_out, with structured retryable and error_stage
    fields.
  • Unknown post-side-effect results require reconciliation and are not retried
    automatically.
  • Matrix and Canary probe-only runs stop after Checkout and Stripe init; they do
    not create a payment method or send Confirm/Approve requests.
  • direct_card remains available for PH/PHP Checkout link extraction. The
    machine-local bind/pay executor, browser bridge, WebView2 UI, and executor-only
    CLI flags were removed.

Repository hygiene

  • Added ignore rules for tool-local memory, test result files, coverage output,
    and .NET/Python generated artifacts.
  • Documented the distinction between disposable caches/build output and local
    configuration, account data, tokens, sessions, provider state, and resumable
    payment checkpoints that must not be removed by broad cleanup commands.
  • Release assets continue to be produced together by
    scripts/build_installer.ps1: installer, portable Windows ZIP, and SHA-256
    manifest.

Compatibility

  • Existing root entrypoints and payment-link flags remain available; retired
    direct-card executor flags are intentionally no longer accepted.
  • Local config.json, sessions, runtime checkpoints, and provider state are not
    migrated or removed by the release.

Release checks

  • python -m pytest -q
  • python -m compileall -q sms_tool services/protocol-payment
  • dotnet test GPTRegisterTool.slnx -c Release --nologo
  • Parse config.example.json as JSON and run git diff --check.
  • Build all Windows assets once with
    scripts/build_installer.ps1 -Version v2026.08.04 and verify the generated
    SHA-256 manifest before upload.

v2026.08.02

Choose a tag to compare

@2951461586 2951461586 released this 02 Aug 09:32

v2026.08.02

This release removes the retired GoPay integration and tightens ownership around
account health, registration concurrency, and desktop payment-method metadata.

Removed surfaces

  • Removed the GoPay desktop options, Python adapter, gRPC subprocess client,
    service implementations, protobuf contracts, launcher, configuration, and
    dedicated tests.
  • Removed the now-unused grpcio and protobuf Python dependencies.
  • Removed duplicate structural tests whose behavior is covered through the
    focused module interfaces.

Architecture

  • Added sms_tool.account_liveness as the sole owner of the canonical
    /backend-api/wham/usage probe, response classification, and quota parsing.
  • Added sms_tool.account_recovery for local quota refresh persistence,
    explicit HTTP-401 OAuth recovery, and permanent-deactivation handling.
  • Reduced sms_tool.cpa_import to CPA listing, remote quota proxying, payload
    conversion, and upload responsibilities.
  • Added sms_tool.registration_concurrency so resource admission and wait
    metrics are independent from registration progress persistence.
  • Centralized WPF payment names, aliases, countries, and single/batch
    availability in SmsWorkbench/PaymentMethods.cs.

Runtime fixes

  • Registration, account scan, payment JIT authentication, maintenance tooling,
    and Kakao Pay now share the same liveness semantics. HTTP 401 is terminal for
    the current AT; 403, rate limits, and transport failures remain inconclusive.
  • Kakao Pay permits a foreign-region checkout bootstrap before requiring the
    zero-KRW Kakao provider result at the provider stage.
  • BLIK remains available for single-account execution and is excluded from
    registration-after-payment and batch selectors.

Validation

  • python -m pytest -q: 524 passed, 1 skipped, 7 subtests passed.
  • dotnet test GPTRegisterTool.slnx -c Release --nologo: 25 passed.
  • Python compile check, payment-method CLI smoke test, example-config JSON parse,
    and git diff --check: passed.

v2026.08.01.2

Choose a tag to compare

@2951461586 2951461586 released this 01 Aug 13:20

v2026.08.01.2

This patch release contains all v2026.08.01 account-pool cleanup, retired
module removal, and inbox plain-text rendering changes.

Build fixes

  • Corrected the CloakBrowser dependency range to the published 0.5.x line.
  • Added pytest to the single dependency manifest used by clean CI runners.
  • Cleared the installer project's CA1865 analyzer warnings.

Validation

  • python -m pytest -q: 545 passed, 1 skipped, 7 subtests passed.
  • .dotnet/dotnet.exe test GPTRegisterTool.slnx --no-restore: 20 passed.
  • Clean release worktree installer and portable-package build: passed.

v2026.08.01.1

Choose a tag to compare

@2951461586 2951461586 released this 01 Aug 13:02

v2026.08.01.1

This patch release contains all v2026.08.01 account-pool cleanup, retired
module removal, and inbox plain-text rendering changes.

Build fixes

  • Corrected the CloakBrowser dependency range to the published 0.5.x line so
    a clean Python 3.12 CI runner can install requirements.txt.
  • Cleared the installer project's CA1865 analyzer warnings by using the
    character overloads for archive-directory detection.

Validation

  • python -m pytest -q: 545 passed, 1 skipped, 7 subtests passed.
  • .dotnet/dotnet.exe test GPTRegisterTool.slnx --no-restore: 20 passed.
  • Clean release worktree installer and portable-package build: passed.

v2026.08.01

Choose a tag to compare

@2951461586 2951461586 released this 01 Aug 12:56

v2026.08.01

Maintenance and cleanup

  • Probed the active account pool and isolated 33 invalid or deactivated sessions (3 HTTP 401/token-invalid and 30 explicitly disabled). The active SQLite/session pool now contains 290 healthy accounts; network-unknown results were not deleted.
  • Removed the retired PayPal no-card implementation, its configuration, and its one-off batch entry points. PayPal redirect parsing now has a single focused protocol module and regression coverage.
  • Removed the unreachable GoPay WA post-payment wrapper and stale ReMail Agent Identity batch scripts. GoPay app RPC ownership is documented in services/gopay-flow.
  • Removed registration payment-stage settings and the desktop's unconditional compatibility flag injection. The hidden CLI flag remains accepted for one compatibility release.
  • Marked generated backup files as ignored and refreshed the architecture and directory ownership documents.

Inbox and desktop

  • Mail details now render readable plain text: scripts/styles and HTML tags are removed, entities are decoded, paragraphs are preserved, and empty messages have an explicit fallback.
  • Added MailBodyFormatter unit coverage and moved PayPal protocol tests into focused files.

Validation

  • python -m pytest -q: 545 passed, 1 skipped, 7 subtests passed.
  • python -m compileall -q sms_tool scripts: passed.
  • .dotnet/dotnet.exe test GPTRegisterTool.slnx --no-restore: 20 passed.
  • Desktop publish output is produced by SmsWorkbench/build_dotnet.ps1 under dist/net10.

v2026.07.31.2

Choose a tag to compare

@2951461586 2951461586 released this 31 Jul 10:53

v2026.07.31.2

Desktop settings expansion

  • Expanded the desktop settings UI to expose the backend capabilities added in v2026.07.31.1: AT-stability入库 gating (probe count/delay/timeout), stage concurrency (network / AT-probe / payment gates), Sentinel (version, max concurrency, prewarm window, circuit breaker), and formal batch payment (per-method workers, canary pause, region-eligibility matrix).
  • ReMail mailbox-pool and long-term (purchase) mailbox enhancements on the desktop registration and pool surfaces.
  • Added desktop ReMail registration tests and expanded ReMail mailbox tests.

Kakao protocol payment: sticky-session proxy support

  • proxy_for_country now appends a per-region suffix to the sticky sid when deriving the three-region chain. Sticky-session proxies (e.g. cliproxy) key the exit IP off the sid, so without this every region was pinned to the first exit (KR checkout would drag VN promotion onto the KR IP). Each region now gets an independent exit: KR checkout / VN promotion / KR provider.
  • proxy_chain_key strips only the region suffix (the 2-letter country code) and keeps the base sid. This keeps the three-region derivations of one seed on the same sticky chain, while multiple redundant seeds that differ only by base sid are no longer collapsed by load_proxy_seeds dedup.
  • payment_link_manager lets the Kakao extractor use its own multi-seed pool file (proxy_seeds.txt) for redundancy and failure rotation — one seed's TLS/exit hiccup rotates to the next instead of failing the whole batch.

Tooling

  • Added scripts/probe_account_liveness.py: a lightweight account-liveness probe that checks /backend-api/me per account without doing an email-OTP relogin, and reports the 200 / 401 / deactivated ratio.

Chores

  • Removed the vendored ppgateway.exe binary.
  • CLI, config.example.json, installer script, and doc map updates.

Validation

  • python -m pytest -q passes (546 passed, 1 skipped, 7 subtests).
  • Kakao sticky-proxy fix verified live: three-region exit preflight (KR/VN/KR) all pass, 5-seed pool rotates on TLS hiccups, and the full checkout → Stripe init (kakao_pay detected) → promotion chain runs. Remaining blocker for actual QR issuance is account-region binding (JP-registered accounts get 403 on KR/VN exits), which is an account-provisioning constraint, not a code issue.
  • Release assets are rebuilt from the committed tree with scripts/build_installer.ps1 and must be uploaded together with the matching SHA-256 manifest.

v2026.07.31.1

Choose a tag to compare

@2951461586 2951461586 released this 31 Jul 04:43

v2026.07.31.1

Documentation refresh

  • Updated the operator README with the current desktop workflows for account liveness, AT state display, JIT AT refresh, stable AT 200 registration targets, and resumable batch protocol payment.
  • Documented the MoMo five-stage proxy chain, Kakao structured result contract, eligibility matrix fields, canary behavior, and token-free checkpoint reports.
  • Corrected the registration/authentication boundary: Agent Identity is no longer a registration stage and is available only through an explicit SUB2API import path.
  • Updated the architecture and directory maps with payment_auth.py, payment_batch.py, the WPF batch-payment surface, and the current module ownership rules.
  • Added release procedure guidance for same-day patch tags and pre-upload SHA-256 verification.

Maintenance and code changes

  • Removed the unused Kakao role-level proxy-state helpers (select_verified_proxy, record_role_success, record_role_failure, remove_seed_when_all_roles_removed, role_seed_usable, role_seed_record); the seed-level path is now the single source of proxy health tracking.
  • Added the PP_STRIPE_PUBLISHABLE_KEY environment override for the shared Stripe publishable-key fallback in gen_pp_link.py and ac_paylink_core.py, and log a warning when checkout returns no key so the fallback is observable.
  • The Sentinel SDK download now emits an explicit version-rotated hint on HTTP 403/404, so a stale OPENAI_SENTINEL_VERSION is diagnosable instead of silently dropping the registration OTP.
  • Added scripts/preflight_env.py to verify Node.js, Playwright Chromium, and key Python packages before first run.
  • Added regression tests: tests/test_kakao_extract.py (seed-failure classification, dead-helper guard) and expanded tests/test_momo_qr_extract.py (decision matrix, artifact scanners, redirect follower).

Validation

  • Documentation changes are ASCII/UTF-8 clean and pass git diff --check.
  • python -m pytest -q passes (541 passed, 1 skipped, 7 subtests) with the new regression tests.
  • Release assets are rebuilt from the committed tree with scripts/build_installer.ps1 and must be uploaded together with the matching SHA-256 manifest.