GuJumpgate Documentation

repository·main·Indexed 26 days ago

https://github.com/foundzigu/gujumpgate

A browser extension and set of helper services for automating account registrations and complex payment workflows, such as PayPal and Stripe activation. It includes a checkout-converter service for creating ChatGPT Plus checkout sessions, a PPBoom local assistant for PayPal burst checkout creation, and integration support for fingerprint browsers like AdsPower and RoxyBrowser. The toolkit features an IP Proxy module for managing network exit points and local scripts for Hotmail and PPBoom automation.

Tokens
48.9K
Snippets
48
Records
222
Agent score
87%

What's inside gujumpgate

  1. Overview of FlowPilot Tutorials

    main

    The FlowPilot tutorials are organized into a modular structure. The main index file provides an overview and a list of available topics, while specific instructional content is maintained in the docs/使用教程/分部分/ directory.

    To get started with the project, it is recommended to follow this reading order:

    1. Project Addresses & Deployment: 01-相关项目地址与部署说明.md
    2. Extension Updates: 02-更新扩展.md
    3. Email Solutions: Choose between 03-Cloudflare-Temp-Email-使用说明.md, 04-iCloud-隐私邮箱使用方法.md, or 05-QQ-邮箱切换邮箱使用教程.md based on your needs.
    4. Payments & Subscriptions: 06-PayPal-注册与绑卡使用教程.md and 07-0元试用-ChatGPT-Plus-教程.md.
    5. Proxy Configuration: 08-Clash-Verge-非港轮询配置.md.
    6. GPC & API Integration: 09-GPC-卡密与-API-使用说明.md.
  2. Overview of GuJumpgate Root Files

    main

    The root directory contains the core logic, utility modules, and entry points for the extension. Key files include:

    • background.js: The Service Worker entry point responsible for module assembly, initialization, and global constants. It manages oauthFlowTimeoutEnabled configuration and OAuth budget calculations.
    • manifest.json: The Chrome extension manifest declaring permissions (including proxy, webRequest, and webRequestAuthProvider for IP proxying and authentication), background scripts, sidebars, and content scripts.
    • start-hotmail-helper.bat / .command: Scripts to start the local helper for Hotmail local mail receiving and account snapshot synchronization (Windows/macOS).
    • start-ppboom.bat / .command: Scripts to start the local PPBoom helper, which defaults to listening on 127.0.0.1:8787 (Windows/macOS).
  3. Overview of FlowPilot related projects and configurations

    main

    This guide provides instructions for managing FlowPilot related projects, extension updates, and various service configurations including:

    • Email Services: Using Cloudflare Temp Email, iCloud+ Hide My Email, QQ Mail, and NetEase Mail (including alias/substitute emails).
    • SMS Verification: Using the HeroSMS extension for mobile number verification (supports multi-country fallback and pricing strategies).
    • Financial Services: Registering and binding cards for PayPal personal accounts.
    • Proxy & Network: Using 711Proxy dynamic IPs within the extension, performing node purity/leakage checks, and configuring Clash Verge with 🔁 非港轮询 (Non-HK Polling).
    • Project Deployment: Deploying cpa or sub2api projects.
  4. Understand the Multi-Flow State Migration Architecture

    main

    The project is migrating from a flat DEFAULT_STATE model to a layered, multi-flow architecture. This allows the system to support multiple distinct registration flows (e.g., OpenAI, and future flows) without polluting the global state or causing accidental data wipes during resets.

    Key architectural changes include:

    • Layered State: Moving from a single flat object to a hierarchy of shared, services, and flow-specific states.
    • Node-based Progress: Transitioning from numeric steps (e.g., currentStep: 1) to node-based identifiers (e.g., currentNodeId: 'submit-signup-email').
    • Legacy Compatibility: Maintaining a legacyStepCompat layer so existing modules like auto-run-controller.js and logging-status.js continue to function during the transition.
  5. Understand the Tutorial Directory Structure

    main

    The project uses a split structure for tutorials to separate the index from the detailed content. This prevents a single large file and makes maintenance easier.

    • docs/使用教程/使用教程.md: Acts as the main index, containing the list of tutorial sections and maintenance rules.
    • docs/使用教程/使用教程书写模板.md: The template used for maintaining the documentation.
    • docs/使用教程/分部分/*.md: Contains the actual body text for each individual tutorial section.
  6. Understand the State and Storage Architecture

    main

    The extension manages data across two primary storage layers to separate transient runtime state from persistent configuration:

    1. chrome.storage.session (Runtime State): Stores volatile data used during an active session, such as:

      • Current step status and UI modes (e.g., contributionMode).
      • OAuth session fields (contributionSessionId, contributionAuthUrl, etc.).
      • Identity information (accountIdentifier, registrationEmailState, signupPhoneNumber).
      • IP Proxy runtime data (ipProxyCurrent, ipProxyApplied*).
      • Automatic run session IDs (autoRunSessionId).
      • Temporary verification states (e.g., seen2925CodeState).
    2. chrome.storage.local (Persistent Configuration): Stores long-term settings and history, such as:

      • API configurations (CPA, SUB2API, Codex2API, Cloud Mail, etc.).
      • IP Proxy persistent settings (enabled status, provider, API address, account lists).
      • Account pools (PayPal, Hotmail, 2925).
      • Payment configurations (Plus mode, GoPay, PayPal).
      • Account run history (accountRunHistory), keyed by a unique account identifier.

    Note: contributionMode is a runtime state and is NOT included in configuration imports/exports.

  7. Understand the Sidepanel Capability Matrix architecture

    main

    The sidepanel in GuJumpgate is not just a UI rendering layer; it manages business constraints through a three-layer capability matrix. This architecture ensures that features like phone signup, Plus mode, and LuckMail are controlled by a unified set of rules rather than scattered logic.

    The three layers of capability are:

    1. flowCapabilities: Defines what a specific business flow (e.g., openai, siteA) supports by default.
    2. panelCapabilities: Defines what interactions are allowed based on the source of the panel (e.g., cpa, sub2api).
    3. runtimeLocks: Defines what is allowed during the current execution or UI state (e.g., autoRunLocked, contributionMode).
  8. Use the IP Proxy module to manage network exit points

    main

    The IP Proxy module allows you to intercept network requests within the extension and route them through specific proxy nodes. This enables unified proxy configuration within the extension (rather than relying on global browser proxies) and provides diagnostic tools to verify if the proxy is correctly handling traffic.

    Core Capabilities

    • Proxy Interception: Enables/disables proxy takeover using PAC and authentication backfilling.
    • Fixed Account Mode: Supports configuration via Host, Port, Username, Password, and Region.
    • Exit Diagnostics: Provides a status card showing the current proxy, current exit IP, and diagnostic details.
    • 711 Account Parameter Sync: Automatically synchronizes session, sessTime (or life), and region parameters between the UI and the username string.
    • Automated Re-testing: Actions like 同步 (Sync), 下一条 (Next), and Change automatically trigger a silent exit probe to ensure the new configuration is working.
  9. Understand the project test suite coverage

    main

    The tests/ directory contains a comprehensive suite of unit and integration tests covering the entire automation lifecycle. Developers can refer to these tests to understand the expected behavior of specific modules, including:

    • Automation & Control: Tests for auto-run controllers, session guards, retry limits, and step-skipping logic.
    • Email Providers: Validation for iCloud (Hide My Email), DuckDuckGo, Cloudflare Temp Email, 2925, LuckMail, and Hotmail.
    • Phone Verification: Logic for HeroSMS, 5sim, and NexSMS, including country code matching and OpenAI-specific flows.
    • Payment & Checkout: PayPal account management, Stripe iframe routing, and Plus checkout billing tab resolution.
    • Sidepanel UI: Testing of various managers (iCloud, LuckMail, PayPal, 2925) and the contribution mode interface.
    • Step-specific Logic: Detailed testing for individual registration steps (e.g., Step 5 age consent, Step 7 recovery, Step 8 OAuth callbacks).
  10. Core components of GuJumpgate

    main

    The extension operates through four main architectural layers:

    • Sidepanel: The user interface located in sidepanel/. It displays configuration, step status, and logs. It handles user input, sends commands to the background, and manages different modes like 'Contribution Mode' or 'Plus Mode'.
    • Background Service Worker: The central orchestrator (background.js). It assembles all modules, handles runtime messages, coordinates step execution, and manages state and communication between tabs and content scripts.
    • Content Scripts: Located in the content/ directory. These scripts perform DOM interactions on target webpages, read email content or page states, and report success/failure status back to the background.
    • Helper / Utils / Provider Logic: Pure logic distributed in the root and background/ directories. This includes third-party email provider logic, verification code extraction, and shared automation infrastructure.
  11. Understand the GuJumpgate automation workflow

    main

    GuJumpgate is a Chrome extension designed to automate the complete OpenAI/ChatGPT OAuth registration and login process. The automation covers the following sequence:

    1. Identity Generation: Generating registration emails or requesting phone numbers via SMS receiving services.
    2. Registration: Opening ChatGPT/OpenAI registration, submitting credentials (email/phone and password), and polling for verification codes (email or SMS).
    3. Profile Completion: Filling in name and birthday, and waiting for a stable registration state.
    4. OAuth Login: Refreshing OAuth links, polling for login verification codes, and automatically confirming the OAuth consent page.
    5. Callback Submission: Submitting the localhost callback to CPA, SUB2API, or Codex2API.
  12. Pre-commit and Push Checklist

    main

    Before committing or pushing code, perform the following checks:

    1. File Status: Run git status --short to ensure only task-relevant files are staged.
    2. Whitespace: Run git diff --check to ensure there are no whitespace errors.
    3. Syntax: Ensure modified JavaScript files pass node --check.
    4. Testing: Verify targeted tests cover critical paths. By default, execute npm test unless the environment cannot run it (if so, explain why).
    5. Encoding: Confirm no visible garbled text in Chinese text, logs, comments, or documentation.
    6. Commit Messages: Use Chinese to describe real changes. Avoid vague messages like update, fix, or AI 修改.
    7. Push Verification: If pushing to master, confirm local master and origin/master point to the same commit.
    git status --short
    git diff --check
    node --check <file>
    npm test