thegmailgod 3.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- src/__init__.py +0 -0
- the_gmail_god/__init__.py +12 -0
- the_gmail_god/__main__.py +77 -0
- the_gmail_god/account_creator.cp312-win_amd64.pyd +0 -0
- the_gmail_god/android_manager.cp312-win_amd64.pyd +0 -0
- the_gmail_god/android_profiles.cp312-win_amd64.pyd +0 -0
- the_gmail_god/anti_detection.cp312-win_amd64.pyd +0 -0
- the_gmail_god/auth.cp312-win_amd64.pyd +0 -0
- the_gmail_god/behavior.cp312-win_amd64.pyd +0 -0
- the_gmail_god/browser.cp312-win_amd64.pyd +0 -0
- the_gmail_god/captcha_detector.cp312-win_amd64.pyd +0 -0
- the_gmail_god/chrome_provider.cp312-win_amd64.pyd +0 -0
- the_gmail_god/cli.cp312-win_amd64.pyd +0 -0
- the_gmail_god/config.cp312-win_amd64.pyd +0 -0
- the_gmail_god/constants.cp312-win_amd64.pyd +0 -0
- the_gmail_god/database.cp312-win_amd64.pyd +0 -0
- the_gmail_god/engine.cp312-win_amd64.pyd +0 -0
- the_gmail_god/env_checker.cp312-win_amd64.pyd +0 -0
- the_gmail_god/fingerprint_generator.cp312-win_amd64.pyd +0 -0
- the_gmail_god/local_proxy.cp312-win_amd64.pyd +0 -0
- the_gmail_god/models.cp312-win_amd64.pyd +0 -0
- the_gmail_god/name_generator.cp312-win_amd64.pyd +0 -0
- the_gmail_god/observability.cp312-win_amd64.pyd +0 -0
- the_gmail_god/phone/__init__.py +28 -0
- the_gmail_god/phone/base.cp312-win_amd64.pyd +0 -0
- the_gmail_god/phone/farm.cp312-win_amd64.pyd +0 -0
- the_gmail_god/phone/fivesim.cp312-win_amd64.pyd +0 -0
- the_gmail_god/phone/hero_sms.cp312-win_amd64.pyd +0 -0
- the_gmail_god/phone/mobile.cp312-win_amd64.pyd +0 -0
- the_gmail_god/phone/registry.cp312-win_amd64.pyd +0 -0
- the_gmail_god/phone/skip.cp312-win_amd64.pyd +0 -0
- the_gmail_god/phone_verifier.cp312-win_amd64.pyd +0 -0
- the_gmail_god/proxy_manager.cp312-win_amd64.pyd +0 -0
- the_gmail_god/proxy_pool.cp312-win_amd64.pyd +0 -0
- the_gmail_god/rate_limiter.cp312-win_amd64.pyd +0 -0
- the_gmail_god/redroid_provider.cp312-win_amd64.pyd +0 -0
- the_gmail_god/resilience.cp312-win_amd64.pyd +0 -0
- the_gmail_god/scheduler.cp312-win_amd64.pyd +0 -0
- the_gmail_god/settings.cp312-win_amd64.pyd +0 -0
- the_gmail_god/stats.cp312-win_amd64.pyd +0 -0
- the_gmail_god/ui.cp312-win_amd64.pyd +0 -0
- the_gmail_god/url_utils.cp312-win_amd64.pyd +0 -0
- thegmailgod-3.1.0.dist-info/METADATA +369 -0
- thegmailgod-3.1.0.dist-info/RECORD +48 -0
- thegmailgod-3.1.0.dist-info/WHEEL +5 -0
- thegmailgod-3.1.0.dist-info/entry_points.txt +2 -0
- thegmailgod-3.1.0.dist-info/licenses/LICENSE +21 -0
- thegmailgod-3.1.0.dist-info/top_level.txt +1 -0
src/__init__.py
ADDED
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"""TheGmailGOD - Advanced Gmail account creation engine."""
|
|
2
|
+
|
|
3
|
+
import sys
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
_src_dir = str(Path(__file__).resolve().parent.parent)
|
|
7
|
+
if _src_dir not in sys.path:
|
|
8
|
+
sys.path.insert(0, _src_dir)
|
|
9
|
+
|
|
10
|
+
__version__ = "3.1.0"
|
|
11
|
+
__app_name__ = "TheGmailGOD"
|
|
12
|
+
__author__ = "sandikodev"
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import importlib
|
|
4
|
+
import sys
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def _ensure_src_on_path() -> None:
|
|
9
|
+
if getattr(sys, "frozen", False):
|
|
10
|
+
base = Path(sys._MEIPASS)
|
|
11
|
+
project_root = str(base.parent)
|
|
12
|
+
src_dir = str(base)
|
|
13
|
+
for d in (project_root, src_dir):
|
|
14
|
+
if d not in sys.path:
|
|
15
|
+
sys.path.insert(0, d)
|
|
16
|
+
return
|
|
17
|
+
|
|
18
|
+
_pkg_dir = Path(__file__).resolve().parent
|
|
19
|
+
_src_dir = _pkg_dir.parent
|
|
20
|
+
|
|
21
|
+
if (_src_dir / "the_gmail_god").is_dir() and (_src_dir / "__init__.py").exists():
|
|
22
|
+
for d in (str(_src_dir), str(_src_dir.parent)):
|
|
23
|
+
if d not in sys.path:
|
|
24
|
+
sys.path.insert(0, d)
|
|
25
|
+
return
|
|
26
|
+
|
|
27
|
+
site_packages = _pkg_dir.parent
|
|
28
|
+
src_dir = site_packages / "src"
|
|
29
|
+
src_init = src_dir / "__init__.py"
|
|
30
|
+
if not src_dir.is_dir():
|
|
31
|
+
src_dir.mkdir(parents=True, exist_ok=True)
|
|
32
|
+
if not src_init.exists():
|
|
33
|
+
src_init.write_text("")
|
|
34
|
+
src_str = str(src_dir)
|
|
35
|
+
if src_str not in sys.path:
|
|
36
|
+
sys.path.insert(0, src_str)
|
|
37
|
+
|
|
38
|
+
symlink = src_dir / "the_gmail_god"
|
|
39
|
+
if not symlink.exists():
|
|
40
|
+
try:
|
|
41
|
+
symlink.symlink_to(_pkg_dir, target_is_directory=True)
|
|
42
|
+
except OSError:
|
|
43
|
+
pass
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
_ensure_src_on_path()
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def main() -> None:
|
|
50
|
+
try:
|
|
51
|
+
from src.the_gmail_god.cli import main as cli_main
|
|
52
|
+
|
|
53
|
+
cli_main()
|
|
54
|
+
except ImportError:
|
|
55
|
+
try:
|
|
56
|
+
from the_gmail_god.cli import main as cli_main
|
|
57
|
+
|
|
58
|
+
cli_main()
|
|
59
|
+
except ImportError:
|
|
60
|
+
from src.the_gmail_god.ui import print_banner, print_info, print_menu, input_number
|
|
61
|
+
from src.the_gmail_god.account_creator import create_single_account
|
|
62
|
+
import asyncio
|
|
63
|
+
|
|
64
|
+
print_banner()
|
|
65
|
+
while True:
|
|
66
|
+
print_menu()
|
|
67
|
+
choice = input_number("Select option: ")
|
|
68
|
+
if choice == 1:
|
|
69
|
+
count = input_number("How many accounts? ")
|
|
70
|
+
asyncio.run(create_single_account())
|
|
71
|
+
elif choice == 5:
|
|
72
|
+
print_info("Goodbye!")
|
|
73
|
+
sys.exit(0)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
if __name__ == "__main__":
|
|
77
|
+
main()
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from src.the_gmail_god.phone.base import SMSProvider
|
|
2
|
+
from src.the_gmail_god.phone.farm import PhoneFarmProvider
|
|
3
|
+
from src.the_gmail_god.phone.fivesim import FiveSimProvider
|
|
4
|
+
from src.the_gmail_god.phone.hero_sms import HeroSMSProvider
|
|
5
|
+
from src.the_gmail_god.phone.registry import (
|
|
6
|
+
ProviderRegistry,
|
|
7
|
+
get_provider,
|
|
8
|
+
list_providers,
|
|
9
|
+
register_provider,
|
|
10
|
+
)
|
|
11
|
+
from src.the_gmail_god.phone.skip import SkipPhoneProvider
|
|
12
|
+
|
|
13
|
+
register_provider(SkipPhoneProvider.name, SkipPhoneProvider)
|
|
14
|
+
register_provider(FiveSimProvider.name, FiveSimProvider)
|
|
15
|
+
register_provider(PhoneFarmProvider.name, PhoneFarmProvider)
|
|
16
|
+
register_provider(HeroSMSProvider.name, HeroSMSProvider)
|
|
17
|
+
|
|
18
|
+
__all__ = [
|
|
19
|
+
"SMSProvider",
|
|
20
|
+
"ProviderRegistry",
|
|
21
|
+
"get_provider",
|
|
22
|
+
"list_providers",
|
|
23
|
+
"register_provider",
|
|
24
|
+
"PhoneFarmProvider",
|
|
25
|
+
"FiveSimProvider",
|
|
26
|
+
"HeroSMSProvider",
|
|
27
|
+
"SkipPhoneProvider",
|
|
28
|
+
]
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: thegmailgod
|
|
3
|
+
Version: 3.1.0
|
|
4
|
+
Summary: TheGmailGOD - Advanced Gmail account creation engine with anti-detection, phone verification, and Android emulation
|
|
5
|
+
Author: sandikodev
|
|
6
|
+
License: MIT
|
|
7
|
+
Keywords: gmail,automation,anti-detection,account-creator,thegmailgod
|
|
8
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
|
+
Classifier: Environment :: Console
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Requires-Python: >=3.10
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
License-File: LICENSE
|
|
19
|
+
Requires-Dist: nodriver!=0.48.1,!=0.50.3,>=0.38
|
|
20
|
+
Requires-Dist: browserforge>=1.1
|
|
21
|
+
Requires-Dist: aiohttp>=3.9
|
|
22
|
+
Requires-Dist: rich>=13.7.0
|
|
23
|
+
Requires-Dist: requests>=2.31.0
|
|
24
|
+
Requires-Dist: unidecode>=1.3.7
|
|
25
|
+
Requires-Dist: beautifulsoup4>=4.12.0
|
|
26
|
+
Requires-Dist: click>=8.1.0
|
|
27
|
+
Requires-Dist: cryptography>=41.0.0
|
|
28
|
+
Requires-Dist: pydantic>=2.0.0
|
|
29
|
+
Requires-Dist: pydantic-settings>=2.0.0
|
|
30
|
+
Requires-Dist: structlog>=23.0.0
|
|
31
|
+
Provides-Extra: proxy
|
|
32
|
+
Requires-Dist: fp>=0.1.0; extra == "proxy"
|
|
33
|
+
Provides-Extra: observability
|
|
34
|
+
Requires-Dist: prometheus-client>=0.17.0; extra == "observability"
|
|
35
|
+
Provides-Extra: scheduler
|
|
36
|
+
Requires-Dist: apscheduler>=3.10.0; extra == "scheduler"
|
|
37
|
+
Provides-Extra: all
|
|
38
|
+
Requires-Dist: thegmailgod[observability,proxy,scheduler]; extra == "all"
|
|
39
|
+
Provides-Extra: dev
|
|
40
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
41
|
+
Requires-Dist: pytest-cov>=4.0; extra == "dev"
|
|
42
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
43
|
+
Requires-Dist: mypy>=1.0; extra == "dev"
|
|
44
|
+
Requires-Dist: pre-commit>=4.0; extra == "dev"
|
|
45
|
+
Requires-Dist: bandit>=1.7.0; extra == "dev"
|
|
46
|
+
Requires-Dist: pydantic>=2.0.0; extra == "dev"
|
|
47
|
+
Requires-Dist: pydantic-settings>=2.0.0; extra == "dev"
|
|
48
|
+
Requires-Dist: structlog>=23.0.0; extra == "dev"
|
|
49
|
+
Requires-Dist: click>=8.1.0; extra == "dev"
|
|
50
|
+
Requires-Dist: cryptography>=41.0.0; extra == "dev"
|
|
51
|
+
Provides-Extra: build
|
|
52
|
+
Requires-Dist: pyinstaller>=6.0; extra == "build"
|
|
53
|
+
Requires-Dist: cython>=3.0.0; extra == "build"
|
|
54
|
+
Provides-Extra: protect
|
|
55
|
+
Requires-Dist: cython>=3.0.0; extra == "protect"
|
|
56
|
+
Requires-Dist: pyarmor>=9.0.0; extra == "protect"
|
|
57
|
+
Dynamic: license-file
|
|
58
|
+
|
|
59
|
+
<div align="center">
|
|
60
|
+
|
|
61
|
+
# Gmail Creator Pro
|
|
62
|
+
|
|
63
|
+
[](https://github.com/sandikodev/gmail-account-creator/actions/workflows/ci.yml)
|
|
64
|
+
[](https://github.com/sandikodev/gmail-account-creator/releases)
|
|
65
|
+
[](https://www.python.org)
|
|
66
|
+
[](LICENSE)
|
|
67
|
+
[](https://github.com/sandikodev/gmail-account-creator/actions/workflows/codeql.yml)
|
|
68
|
+
[](https://github.com/astral-sh/ruff)
|
|
69
|
+
[](https://github.com/sandikodev/gmail-account-creator/commits/main)
|
|
70
|
+
|
|
71
|
+
**Automated Gmail account creation tool with anti-detection, phone verification bypass, and 5sim integration.**
|
|
72
|
+
|
|
73
|
+
</div>
|
|
74
|
+
|
|
75
|
+
> **Note:** This is a refactored fork of [ShadowHackrs/gmail-account-creator](https://github.com/ShadowHackrs/gmail-account-creator). The original repo shipped only a compiled binary; this version provides readable, maintainable Python source code under the MIT license.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Features
|
|
80
|
+
|
|
81
|
+
- **Anti-Detection**: stealth JS injection, human-like typing, random user agents, session warming
|
|
82
|
+
- **Phone Verification Bypass**: skip button detection (EN/AR), "Try another way", 5sim API integration
|
|
83
|
+
- **Pluggable SMS Providers**: plugin architecture — use built-in providers or write your own
|
|
84
|
+
- **Smart Proxy**: automatic proxy rotation via FreeProxy
|
|
85
|
+
- **Rich Console UI**: progress bars, statistics dashboard, color-coded output
|
|
86
|
+
- **Auto-Save**: accounts saved to `data/accounts.json`
|
|
87
|
+
- **Auto-Retry**: smart retry logic with multiple fallback strategies
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Quick Start
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
git clone https://github.com/sandikodev/gmail-account-creator.git
|
|
95
|
+
cd gmail-account-creator
|
|
96
|
+
|
|
97
|
+
# Install dependencies
|
|
98
|
+
pip install -r requirements.txt
|
|
99
|
+
|
|
100
|
+
# Copy & edit configuration
|
|
101
|
+
cp config_examples/config.example.py config/config.py
|
|
102
|
+
# ... edit config/config.py with your settings ...
|
|
103
|
+
|
|
104
|
+
# Run
|
|
105
|
+
python auto_the_gmail_god.py
|
|
106
|
+
|
|
107
|
+
# Or with Makefile:
|
|
108
|
+
make install # pip install -e .
|
|
109
|
+
make test # run tests with coverage
|
|
110
|
+
make lint # ruff check
|
|
111
|
+
make typecheck # mypy
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Requirements
|
|
117
|
+
|
|
118
|
+
| Requirement | Notes |
|
|
119
|
+
|-------------|-------|
|
|
120
|
+
| Python ≥ 3.10 | 3.12 recommended |
|
|
121
|
+
| Chrome (latest) | Auto-managed via webdriver-manager |
|
|
122
|
+
| Internet connection | Required for Google & 5sim APIs |
|
|
123
|
+
| RAM ≥ 2 GB | 4 GB+ recommended for headless mode |
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Configuration
|
|
128
|
+
|
|
129
|
+
### Option A: Config files (recommended)
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
cp config_examples/config.example.py config/config.py
|
|
133
|
+
cp config_examples/password.txt.example config/password.txt
|
|
134
|
+
cp config_examples/5sim_config.txt.example config/5sim_config.txt
|
|
135
|
+
cp config_examples/names.txt.example data/names.txt
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Option B: Environment variables
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
cp config_examples/.env.example .env
|
|
142
|
+
# edit .env with your values
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### SMS Provider Configuration
|
|
146
|
+
|
|
147
|
+
Choose how to handle phone verification:
|
|
148
|
+
|
|
149
|
+
| Provider | Config Value | Description |
|
|
150
|
+
|----------|-------------|-------------|
|
|
151
|
+
| Skip button | `skip` (default) | Automatically click "Skip" / "تخطي" buttons |
|
|
152
|
+
| 5sim.net | `5sim` | Use 5sim API to receive SMS codes |
|
|
153
|
+
| Phone Farm | `farm` | Generic self-hosted phone farm API |
|
|
154
|
+
| Custom | `your_provider` | Implement `SMSProvider` and register via `register_provider()` |
|
|
155
|
+
|
|
156
|
+
Set via `SMS_PROVIDER` in `config/config.py` or `GMAIL_SMS_PROVIDER` env var.
|
|
157
|
+
|
|
158
|
+
### Phone Farm API Contract
|
|
159
|
+
|
|
160
|
+
The `farm` provider expects a REST API with these endpoints:
|
|
161
|
+
|
|
162
|
+
| Method | Endpoint | Request | Response |
|
|
163
|
+
|--------|----------|---------|----------|
|
|
164
|
+
| `POST` | `/api/numbers` | `{"service": "google"}` | `{"id": "uuid", "phone": "+628xxx"}` |
|
|
165
|
+
| `GET` | `/api/numbers/{id}/code` | — | `{"status": "waiting\|received", "code": "123456"}` |
|
|
166
|
+
| `DELETE` | `/api/numbers/{id}` | — | `204 No Content` |
|
|
167
|
+
|
|
168
|
+
Configure via `FARM_API_BASE_URL`, `FARM_API_KEY`, `FARM_API_TIMEOUT` in config or env vars.
|
|
169
|
+
|
|
170
|
+
For custom SMS providers, see [`docs/examples/custom_sms_provider.py`](docs/examples/custom_sms_provider.py).
|
|
171
|
+
|
|
172
|
+
All configuration options are documented inline in the example files.
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Usage
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# Terminal UI
|
|
180
|
+
python auto_the_gmail_god.py
|
|
181
|
+
|
|
182
|
+
# Or as a Python module
|
|
183
|
+
python -m src.the_gmail_god
|
|
184
|
+
|
|
185
|
+
# Or with Docker
|
|
186
|
+
docker compose up
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Menu Options
|
|
190
|
+
|
|
191
|
+
| # | Option | Description |
|
|
192
|
+
|---|--------|-------------|
|
|
193
|
+
| 1 | Create Gmail Accounts | Start creating accounts with progress tracking |
|
|
194
|
+
| 2 | View Statistics | See total accounts, success rate, active count |
|
|
195
|
+
| 3 | Settings | Configure proxy, user agents |
|
|
196
|
+
| 4 | View Saved Accounts | Browse all created accounts |
|
|
197
|
+
| 5 | Exit | Quit the application |
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Project Structure
|
|
202
|
+
|
|
203
|
+
```
|
|
204
|
+
├── auto_the_gmail_god.py # Entry point
|
|
205
|
+
├── pyproject.toml # Project metadata & tooling config
|
|
206
|
+
├── Dockerfile # Container image
|
|
207
|
+
├── docker-compose.yml # Orchestrated services
|
|
208
|
+
├── the_gmail_god.spec # PyInstaller build spec
|
|
209
|
+
│
|
|
210
|
+
├── src/the_gmail_god/ # Main package (12 modules + sub-packages)
|
|
211
|
+
│ ├── __init__.py # Package metadata
|
|
212
|
+
│ ├── __main__.py # CLI entry point
|
|
213
|
+
│ ├── account_creator.py # Core account creation logic
|
|
214
|
+
│ ├── anti_detection.py # Stealth JS injection & typing
|
|
215
|
+
│ ├── browser.py # WebDriver setup & session warming
|
|
216
|
+
│ ├── config.py # Configuration loader (files + .env)
|
|
217
|
+
│ ├── constants.py # CSS/XPath selectors & constants
|
|
218
|
+
│ ├── name_generator.py # Name & username generation
|
|
219
|
+
│ ├── phone/ # Pluggable SMS provider system
|
|
220
|
+
│ │ ├── __init__.py # Provider registration & exports
|
|
221
|
+
│ │ ├── base.py # Abstract SMSProvider base class
|
|
222
|
+
│ │ ├── registry.py # Provider registry & discovery
|
|
223
|
+
│ │ ├── skip.py # Skip button strategy provider
|
|
224
|
+
│ │ ├── fivesim.py # 5sim.net API provider
|
|
225
|
+
│ │ └── farm.py # Generic phone farm API provider
|
|
226
|
+
│ ├── phone_verifier.py # Phone verification (delegates to phone/)
|
|
227
|
+
│ ├── proxy_manager.py # FreeProxy rotation
|
|
228
|
+
│ ├── stats.py # Account CRUD & statistics
|
|
229
|
+
│ └── ui.py # Rich console interface
|
|
230
|
+
│
|
|
231
|
+
├── tests/ # Test suite (pytest)
|
|
232
|
+
│ ├── conftest.py
|
|
233
|
+
│ ├── test_account_creator.py
|
|
234
|
+
│ ├── test_anti_detection.py
|
|
235
|
+
│ ├── test_browser.py
|
|
236
|
+
│ ├── test_config.py
|
|
237
|
+
│ ├── test_name_generator.py
|
|
238
|
+
│ ├── test_phone_verifier.py
|
|
239
|
+
│ ├── test_proxy_manager.py
|
|
240
|
+
│ ├── test_phone_registry.py
|
|
241
|
+
│ └── test_stats.py
|
|
242
|
+
│
|
|
243
|
+
├── docs/examples/ # Example: custom_sms_provider.py
|
|
244
|
+
├── config_examples/ # Documented template configs
|
|
245
|
+
├── .github/ # CI/CD & community health files
|
|
246
|
+
│ ├── workflows/
|
|
247
|
+
│ │ ├── ci.yml # Lint + test on push/PR
|
|
248
|
+
│ │ ├── release.yml # Build + release on tag
|
|
249
|
+
│ │ ├── codeql.yml # Security scanning
|
|
250
|
+
│ │ ├── stale.yml # Inactive issue/pr management
|
|
251
|
+
│ │ ├── pr-labeler.yml # Semantic PR labeling
|
|
252
|
+
│ │ └── release-drafter.yml # Auto-release notes
|
|
253
|
+
│ ├── dependabot.yml # Dependency updates
|
|
254
|
+
│ ├── release-drafter.yml # Release note templates
|
|
255
|
+
│ └── pr-labeler.yml # Path-based label rules
|
|
256
|
+
│
|
|
257
|
+
├── .devcontainer/ # VS Code / Codespaces config
|
|
258
|
+
├── .editorconfig # Cross-editor consistency
|
|
259
|
+
├── .pre-commit-config.yaml # Pre-commit hooks
|
|
260
|
+
├── .gitignore
|
|
261
|
+
├── CHANGELOG.md
|
|
262
|
+
├── CONTRIBUTING.md
|
|
263
|
+
├── SECURITY.md
|
|
264
|
+
└── LICENSE (MIT)
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Testing
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
# Run all tests
|
|
273
|
+
pytest
|
|
274
|
+
|
|
275
|
+
# With coverage report
|
|
276
|
+
pytest --cov --cov-report=term-missing
|
|
277
|
+
|
|
278
|
+
# Specific test file
|
|
279
|
+
pytest tests/test_phone_verifier.py -v
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## Docker
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
# Build
|
|
288
|
+
docker compose build
|
|
289
|
+
|
|
290
|
+
# Run interactively
|
|
291
|
+
docker compose up
|
|
292
|
+
|
|
293
|
+
# Run headless
|
|
294
|
+
GMAIL_HEADLESS=1 docker compose up
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Development Setup
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
# Full dev environment
|
|
303
|
+
pip install -e ".[dev]"
|
|
304
|
+
|
|
305
|
+
# Or using Makefile:
|
|
306
|
+
make install-dev
|
|
307
|
+
|
|
308
|
+
# Install pre-commit hooks
|
|
309
|
+
pre-commit install
|
|
310
|
+
|
|
311
|
+
# Run linter
|
|
312
|
+
ruff check src/
|
|
313
|
+
|
|
314
|
+
# Type check
|
|
315
|
+
mypy src/
|
|
316
|
+
|
|
317
|
+
# Run all quality checks
|
|
318
|
+
make check
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## CI/CD Pipeline
|
|
324
|
+
|
|
325
|
+
| Workflow | Trigger | Purpose |
|
|
326
|
+
|----------|---------|---------|
|
|
327
|
+
| `ci.yml` | Push/PR to main | Lint + test across Python 3.10–3.12 |
|
|
328
|
+
| `release.yml` | Push tag `v*.*.*` | Build binaries (Win/Linux) + create GitHub Release |
|
|
329
|
+
| `codeql.yml` | Push/PR + weekly | Security vulnerability scanning |
|
|
330
|
+
| `release-drafter.yml` | Push to main | Auto-generate release notes from PR labels |
|
|
331
|
+
| `pr-labeler.yml` | PR opened/edited | Label PRs by changed files + enforce conventional title |
|
|
332
|
+
| `stale.yml` | Weekly | Auto-close inactive issues/PRs after 60 days |
|
|
333
|
+
|
|
334
|
+
### Creating a Release
|
|
335
|
+
|
|
336
|
+
```bash
|
|
337
|
+
# 1. Update CHANGELOG.md
|
|
338
|
+
# 2. Commit and tag
|
|
339
|
+
git tag v2.1.0
|
|
340
|
+
git push origin v2.1.0
|
|
341
|
+
# 3. Release workflow runs automatically
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
## Security
|
|
347
|
+
|
|
348
|
+
See [SECURITY.md](SECURITY.md) for our vulnerability disclosure policy.
|
|
349
|
+
All secrets (passwords, API keys) must be kept in untracked config files
|
|
350
|
+
or environment variables — never commit them.
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## Contributing
|
|
355
|
+
|
|
356
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
|
|
357
|
+
All contributions are expected to pass linting and tests before review.
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
## License
|
|
362
|
+
|
|
363
|
+
MIT License — see [LICENSE](LICENSE).
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
<div align="center">
|
|
368
|
+
<sub>Built with Python, Selenium, and ❤️ for the cybersecurity community.</sub>
|
|
369
|
+
</div>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
the_gmail_god/__init__.py,sha256=voYaAYV1CEf8rbyXxmhlru8Kmkp3H73cLGPuD3NCrJU,305
|
|
3
|
+
the_gmail_god/__main__.py,sha256=Ohatu6Qmb3V4LP8O8_FabBQFXKj1qS2sEt9QdLCLgD0,2246
|
|
4
|
+
the_gmail_god/account_creator.cp312-win_amd64.pyd,sha256=XW4IFbElIxIofS-cWs4fCZnIeUY-FuwAuvBRvkPl6bY,227840
|
|
5
|
+
the_gmail_god/android_manager.cp312-win_amd64.pyd,sha256=U-BnQOZwuSGFWBnFHblIKb6wir9jdu2k1bYvi_fj4Ds,159744
|
|
6
|
+
the_gmail_god/android_profiles.cp312-win_amd64.pyd,sha256=rvHr9cqFRzkZ9ZI0YMSTl3xszhkxCXvPuW-k7f-Ddp0,81920
|
|
7
|
+
the_gmail_god/anti_detection.cp312-win_amd64.pyd,sha256=wbrVIuf50_cmsLHgYrbKQONC5pR-XEencrdPSxTeo3w,77824
|
|
8
|
+
the_gmail_god/auth.cp312-win_amd64.pyd,sha256=xSRU94oV4tv-KlzWyYfP1RQC_drl6CdawTDbWuoluyE,160256
|
|
9
|
+
the_gmail_god/behavior.cp312-win_amd64.pyd,sha256=BSvcgoZf_gwTMJPfTg8NK8KABW6NT6nP7WcqZzH3GE0,265216
|
|
10
|
+
the_gmail_god/browser.cp312-win_amd64.pyd,sha256=aLFpVUmuMNl2iTR69hEeCKvg2O4SfjHM9ZcgOgNuGMA,250368
|
|
11
|
+
the_gmail_god/captcha_detector.cp312-win_amd64.pyd,sha256=HPrJ49pCxFXG57j5YwZspuy0SXRHbSzLqcXqh4XLKxY,179712
|
|
12
|
+
the_gmail_god/chrome_provider.cp312-win_amd64.pyd,sha256=LDkdOZO-lXsQPa5Wqm1ehH4F7yD4xVyeysNZEEPCLSs,117760
|
|
13
|
+
the_gmail_god/cli.cp312-win_amd64.pyd,sha256=lt2Ft6tfAky8EW_LBCFAkFofg0P_l_2IpSBT6cXddvk,432640
|
|
14
|
+
the_gmail_god/config.cp312-win_amd64.pyd,sha256=J5bo55dR_w87-EM-9PovNLx29SqBr2Q_ShQss9rmy9o,89600
|
|
15
|
+
the_gmail_god/constants.cp312-win_amd64.pyd,sha256=Jt4s_mCU5Nj0PHmVxcbRtxrWRPFNhn7CBQrVL4SjX5c,29696
|
|
16
|
+
the_gmail_god/database.cp312-win_amd64.pyd,sha256=QIIlBKJh2FOl0RP801z9C4p2sJCXaKXRRP9diSiCiks,167424
|
|
17
|
+
the_gmail_god/engine.cp312-win_amd64.pyd,sha256=CJ0rggltT-1LDW3z_kbpvF1vUaLrQeb62ThxM5Dz6rc,155136
|
|
18
|
+
the_gmail_god/env_checker.cp312-win_amd64.pyd,sha256=ZGvqJjXgpqrb3aBLy6figFNHXJsEEE7sZ1d3mIk6uiE,106496
|
|
19
|
+
the_gmail_god/fingerprint_generator.cp312-win_amd64.pyd,sha256=PdcrFaFyzaiVzxRKPuj-vZ0OrJXgGCpSyKSVdl6vp6s,112128
|
|
20
|
+
the_gmail_god/local_proxy.cp312-win_amd64.pyd,sha256=6_Ogwn9HAxgIjbL9VP_J6lSo0ymSG7KulenCGkiCVQI,136192
|
|
21
|
+
the_gmail_god/models.cp312-win_amd64.pyd,sha256=ZuKUnUXJ7L4Y_mtNgyrK9olFzJbXdfZ3JvnsGoBkoI0,68608
|
|
22
|
+
the_gmail_god/name_generator.cp312-win_amd64.pyd,sha256=0W3P-rN_V2hb1TYnUqTPdV81GGPUWxu_rOnsRU9hOBs,50688
|
|
23
|
+
the_gmail_god/observability.cp312-win_amd64.pyd,sha256=nYcBRFeamcp-G7kwPT3nvX83V2nGeTVZhnzZ1h1AZiM,144896
|
|
24
|
+
the_gmail_god/phone_verifier.cp312-win_amd64.pyd,sha256=UaHLh9JNOe-7KLxoS0R9THt3Ck0ZtdfSKvelvFQ-zlA,79360
|
|
25
|
+
the_gmail_god/proxy_manager.cp312-win_amd64.pyd,sha256=HDrEFEI6rj_p_SplZ4CrRIozFNRDIipBdt0MfcCFZDA,73216
|
|
26
|
+
the_gmail_god/proxy_pool.cp312-win_amd64.pyd,sha256=rzAGOQFSzToxhoax7gGF-KemA9AvPdzfJpR1AMHpCnY,121856
|
|
27
|
+
the_gmail_god/rate_limiter.cp312-win_amd64.pyd,sha256=fv4d5-4ID71Kcr3XrKWX329RdZiacjuxPNxHfbeGDqQ,59392
|
|
28
|
+
the_gmail_god/redroid_provider.cp312-win_amd64.pyd,sha256=a1uvcx5E6ZY7xfRT6olGDLVyPk-OT3BM__686g2JTpU,123392
|
|
29
|
+
the_gmail_god/resilience.cp312-win_amd64.pyd,sha256=PwRwD1qRu6bMXEOfPcmAisB09o_m9AVsxhZZ2EXosEM,97792
|
|
30
|
+
the_gmail_god/scheduler.cp312-win_amd64.pyd,sha256=Qi_vC9dbpfqykEk7giyu_zZIW8vFqo1fymrgGTeUtHE,112640
|
|
31
|
+
the_gmail_god/settings.cp312-win_amd64.pyd,sha256=UtqrRV7e7FkgVOBh5pcF0rv3RNi1uTuEqog2NhUXWoY,82432
|
|
32
|
+
the_gmail_god/stats.cp312-win_amd64.pyd,sha256=-M2tGtSeVOfVujo3HnpAhXQ0VuMDlECgr3yqJsEJ1HA,83968
|
|
33
|
+
the_gmail_god/ui.cp312-win_amd64.pyd,sha256=jxDT62ONpl-lKi_DEDstOgU4XynfPSWVyniz4pG2ZB0,70144
|
|
34
|
+
the_gmail_god/url_utils.cp312-win_amd64.pyd,sha256=esdq6C7kGPttdm0CxOxECvWEXmMtPxm4er2iAxD_0o8,56320
|
|
35
|
+
the_gmail_god/phone/__init__.py,sha256=juPWupHysbQrd5Y1cT7lZrlrtBY3RLyq3tYJ3P8hZu4,910
|
|
36
|
+
the_gmail_god/phone/base.cp312-win_amd64.pyd,sha256=3DvuGeT1VNUwopy305r0zuMc68HqP_awUu9D2hmCS2Q,55296
|
|
37
|
+
the_gmail_god/phone/farm.cp312-win_amd64.pyd,sha256=oAZAaOtZWrhV4Ib4xbEXd69cWL7XD1qOMExS0j9JY6w,89600
|
|
38
|
+
the_gmail_god/phone/fivesim.cp312-win_amd64.pyd,sha256=NsL0iI-ltXJ5MxCkboU-CNovsAGG-phTgna7f2i83NA,91136
|
|
39
|
+
the_gmail_god/phone/hero_sms.cp312-win_amd64.pyd,sha256=4Cz-FSsHIYrynf3ix6puciYcMH4UolQqdWxJcoB3zwk,189952
|
|
40
|
+
the_gmail_god/phone/mobile.cp312-win_amd64.pyd,sha256=yIquiM38h31E9m33Fr72um_mEA2jn7UOmhh_QlzYi0U,141824
|
|
41
|
+
the_gmail_god/phone/registry.cp312-win_amd64.pyd,sha256=quv8M5vF1dwSJqz3p894nL2FC7A5wR9xGMdJpHBiQXk,48640
|
|
42
|
+
the_gmail_god/phone/skip.cp312-win_amd64.pyd,sha256=-bC_6t-BY651VxCMrFdBYJ2fDjONNWdpoY06yssnO-M,78336
|
|
43
|
+
thegmailgod-3.1.0.dist-info/licenses/LICENSE,sha256=-6vdEoEHsoGyZZh554BTRqnhdTT3Amml0Z8JMV2iV_U,1088
|
|
44
|
+
thegmailgod-3.1.0.dist-info/METADATA,sha256=Y8m43zmmsGoiKSRnYjxNt-1lVYKty8ln1RPqsD-hV4s,13012
|
|
45
|
+
thegmailgod-3.1.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
46
|
+
thegmailgod-3.1.0.dist-info/entry_points.txt,sha256=yEb2IbSIc_dGV9NoGuv8nt6dYPYBr2ECC-Z6gfTK16w,60
|
|
47
|
+
thegmailgod-3.1.0.dist-info/top_level.txt,sha256=L49qIOD76KHPbM2zF2ETd_qKKmT5oClVAHF2mO-M-Rk,14
|
|
48
|
+
thegmailgod-3.1.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 sandikodev
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
the_gmail_god
|