# njraladdin/outlook-email-account-creator architecture

> Architecture diagram of the GitHub repository njraladdin/outlook-email-account-creator, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/njraladdin/outlook-email-account-creator
- Repository: https://github.com/njraladdin/outlook-email-account-creator

## Overview

The repository is an Outlook account-creation automation project. Its documented primary workflow launches Selenium with either audio- or visual-mode Gemini captcha handling and records successful accounts. The tree also contains older API/2Captcha experiments, router reboot support, and a vendored captcha extension; these are separate branches, not assumed to be wired into the documented scripts. Main script internals were not sampled, so their detailed call relationships are intentionally omitted.

Main entry points: [`email_creator_with_selenium_and_gemini_audio.py`](https://github.com/njraladdin/outlook-email-account-creator/blob/main/email_creator_with_selenium_and_gemini_audio.py) (Audio creator), [`email_creator_with_selenium_and_gemini_visual.py`](https://github.com/njraladdin/outlook-email-account-creator/blob/main/email_creator_with_selenium_and_gemini_visual.py) (Visual creator), [`reboot_router.py`](https://github.com/njraladdin/outlook-email-account-creator/blob/main/reboot_router.py) (Router reboot), [`experiments/javascript_experiments/solve_captcha_manually.js`](https://github.com/njraladdin/outlook-email-account-creator/blob/main/experiments/javascript_experiments/solve_captcha_manually.js) (Manual browser flow)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_creation["Account creation"]
  node_audio_flow["Audio creator"]
  node_visual_flow["Visual creator"]
end

subgraph group_support["Configuration and network"]
  node_config["Settings<br/>[config.yml]"]
  node_router["Router reboot<br/>[reboot_router.py]"]
end

subgraph group_experiments["Experiments and extension"]
  node_api_experiment["API creator"]
  node_extension_ui["Captcha extension UI<br/>[popup.js]"]
  node_extension_worker["Extension worker<br/>[background.js]"]
  node_captcha_handlers["Captcha handlers"]
  node_manual_browser["Manual browser flow"]
  node_email_api["Temporary email API"]
end

node_operator(("Operator"))
node_names["Name inputs<br/>[names.txt]"]
node_outlook["Outlook signup"]
node_gemini["Gemini AI"]
node_results["Account results"]
node_ip_service["Public IP service"]
node_router_device["Router"]
node_captcha_service["2Captcha"]
node_email_provider["Email provider"]

node_operator -->|"runs audio mode"| node_audio_flow
node_operator -->|"runs visual mode"| node_visual_flow
node_audio_flow -->|"reads settings"| node_config
node_visual_flow -->|"reads settings"| node_config
node_audio_flow -->|"reads names"| node_names
node_visual_flow -->|"reads names"| node_names
node_audio_flow -->|"automates signup"| node_outlook
node_visual_flow -->|"automates signup"| node_outlook
node_audio_flow -->|"requests solving"| node_gemini
node_visual_flow -->|"requests solving"| node_gemini
node_audio_flow -->|"writes accounts"| node_results
node_visual_flow -->|"writes accounts"| node_results
node_router -->|"reads settings"| node_config
node_router -->|"reboots by SSH"| node_router_device
node_router -->|"checks public IP"| node_ip_service
node_api_experiment -->|"sends signup requests"| node_outlook
node_api_experiment -->|"submits challenge"| node_captcha_service
node_operator -->|"runs experiment"| node_manual_browser
node_manual_browser -->|"automates signup"| node_outlook
node_manual_browser -.->|"requests recovery code"| node_email_api
node_email_api -->|"queries inbox"| node_email_provider
node_extension_ui -->|"sends messages"| node_extension_worker
node_extension_worker -->|"dispatches challenges"| node_captcha_handlers

click node_names "https://github.com/njraladdin/outlook-email-account-creator/blob/main/names.txt"
click node_audio_flow "https://github.com/njraladdin/outlook-email-account-creator/blob/main/email_creator_with_selenium_and_gemini_audio.py"
click node_visual_flow "https://github.com/njraladdin/outlook-email-account-creator/blob/main/email_creator_with_selenium_and_gemini_visual.py"
click node_config "https://github.com/njraladdin/outlook-email-account-creator/blob/main/config.yml"
click node_router "https://github.com/njraladdin/outlook-email-account-creator/blob/main/reboot_router.py"
click node_api_experiment "https://github.com/njraladdin/outlook-email-account-creator/blob/main/experiments/python_experiments/email_creator_with_api_and_2captcha.py"
click node_extension_ui "https://github.com/njraladdin/outlook-email-account-creator/blob/main/experiments/nopecha_extension_source/popup.js"
click node_extension_worker "https://github.com/njraladdin/outlook-email-account-creator/blob/main/experiments/nopecha_extension_source/background.js"
click node_captcha_handlers "https://github.com/njraladdin/outlook-email-account-creator/tree/main/experiments/nopecha_extension_source/captcha"
click node_manual_browser "https://github.com/njraladdin/outlook-email-account-creator/blob/main/experiments/javascript_experiments/solve_captcha_manually.js"
click node_email_api "https://github.com/njraladdin/outlook-email-account-creator/blob/main/experiments/javascript_experiments/utils/temporary_email_creator.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_audio_flow,node_visual_flow toneBlue
class node_config,node_router toneAmber
class node_api_experiment,node_extension_ui,node_extension_worker,node_captcha_handlers,node_manual_browser,node_email_api,node_router_device toneMint
class node_operator,node_outlook,node_gemini,node_results,node_ip_service,node_captcha_service,node_email_provider toneIndigo
class node_names toneTeal
```

## Components

### Account creation

- [Audio creator](https://github.com/njraladdin/outlook-email-account-creator/blob/main/email_creator_with_selenium_and_gemini_audio.py): `email_creator_with_selenium_and_gemini_audio.py`
- [Visual creator](https://github.com/njraladdin/outlook-email-account-creator/blob/main/email_creator_with_selenium_and_gemini_visual.py): `email_creator_with_selenium_and_gemini_visual.py`

### Configuration and network

- [Settings](https://github.com/njraladdin/outlook-email-account-creator/blob/main/config.yml): `config.yml`
- [Router reboot](https://github.com/njraladdin/outlook-email-account-creator/blob/main/reboot_router.py): `reboot_router.py`

### Experiments and extension

- [API creator](https://github.com/njraladdin/outlook-email-account-creator/blob/main/experiments/python_experiments/email_creator_with_api_and_2captcha.py): `experiments/python_experiments/email_creator_with_api_and_2captcha.py`
- [Captcha extension UI](https://github.com/njraladdin/outlook-email-account-creator/blob/main/experiments/nopecha_extension_source/popup.js): `experiments/nopecha_extension_source/popup.js`
- [Extension worker](https://github.com/njraladdin/outlook-email-account-creator/blob/main/experiments/nopecha_extension_source/background.js): `experiments/nopecha_extension_source/background.js`
- [Captcha handlers](https://github.com/njraladdin/outlook-email-account-creator/tree/main/experiments/nopecha_extension_source/captcha): `experiments/nopecha_extension_source/captcha`
- [Manual browser flow](https://github.com/njraladdin/outlook-email-account-creator/blob/main/experiments/javascript_experiments/solve_captcha_manually.js): `experiments/javascript_experiments/solve_captcha_manually.js`
- [Temporary email API](https://github.com/njraladdin/outlook-email-account-creator/blob/main/experiments/javascript_experiments/utils/temporary_email_creator.js): `experiments/javascript_experiments/utils/temporary_email_creator.js`

### Other components

- **Operator**
- [Name inputs](https://github.com/njraladdin/outlook-email-account-creator/blob/main/names.txt): `names.txt`
- **Outlook signup**
- **Gemini AI**
- **Account results**
- **Public IP service**
- **Router**
- **2Captcha**
- **Email provider**

## Connections

- Operator → Audio creator: runs audio mode
- Operator → Visual creator: runs visual mode
- Audio creator → Settings: reads settings
- Visual creator → Settings: reads settings
- Audio creator → Name inputs: reads names
- Visual creator → Name inputs: reads names
- Audio creator → Outlook signup: automates signup
- Visual creator → Outlook signup: automates signup
- Audio creator → Gemini AI: requests solving
- Visual creator → Gemini AI: requests solving
- Audio creator → Account results: writes accounts
- Visual creator → Account results: writes accounts
- Router reboot → Settings: reads settings
- Router reboot → Router: reboots by SSH
- Router reboot → Public IP service: checks public IP
- API creator → Outlook signup: sends signup requests
- API creator → 2Captcha: submits challenge
- Operator → Manual browser flow: runs experiment
- Manual browser flow → Outlook signup: automates signup
- Manual browser flow → Temporary email API: requests recovery code
- Temporary email API → Email provider: queries inbox
- Captcha extension UI → Extension worker: sends messages
- Extension worker → Captcha handlers: dispatches challenges
