{"id":30130992,"url":"https://github.com/4m3rr0r/subrecongemini","last_synced_at":"2025-08-10T18:37:35.253Z","repository":{"id":307278405,"uuid":"1028959698","full_name":"4m3rr0r/SubreconGemini","owner":"4m3rr0r","description":"SubreconGemini is a fast, lightweight, and focused subdomain discovery tool. It leverages a hybrid approach by combining AI-powered suggestions from Google's Gemini, traditional wordlist brute-forcing, and certificate transparency log analysis to uncover live subdomains.","archived":false,"fork":false,"pushed_at":"2025-08-09T14:24:03.000Z","size":202,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-09T14:29:05.761Z","etag":null,"topics":["bugbounty","gemini","osint","recon","subdomain","subdomain-enumeration","subdomain-finder"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/4m3rr0r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-30T10:07:26.000Z","updated_at":"2025-08-09T14:24:06.000Z","dependencies_parsed_at":"2025-07-30T12:52:41.532Z","dependency_job_id":"e5edf54b-d7b2-44cd-b759-92269bea36f7","html_url":"https://github.com/4m3rr0r/SubreconGemini","commit_stats":null,"previous_names":["4m3rr0r/subrecongemini"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/4m3rr0r/SubreconGemini","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4m3rr0r%2FSubreconGemini","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4m3rr0r%2FSubreconGemini/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4m3rr0r%2FSubreconGemini/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4m3rr0r%2FSubreconGemini/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4m3rr0r","download_url":"https://codeload.github.com/4m3rr0r/SubreconGemini/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4m3rr0r%2FSubreconGemini/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269771865,"owners_count":24473317,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bugbounty","gemini","osint","recon","subdomain","subdomain-enumeration","subdomain-finder"],"created_at":"2025-08-10T18:37:29.827Z","updated_at":"2025-08-10T18:37:35.240Z","avatar_url":"https://github.com/4m3rr0r.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SubreconGemini 🛡️🔍\n\n**SubreconGemini** is a high-performance subdomain discovery tool that combines **Google Gemini AI**, **certificate transparency logs**, and **wordlist brute-forcing** to uncover and verify live subdomains.\n\n---\n\n## 🚀 Features\n\n- **Hybrid Discovery Methods**  \n  - 🤖 **AI-Powered** — Uses Google Gemini API to suggest likely subdomains based on context.  \n  - 📜 **Certificate Transparency** — Queries `crt.sh` for subdomains from SSL/TLS certificates.  \n  - 📖 **Wordlist Brute-force** — Enumerates using customizable wordlists.  \n\n- **Smart Validation**  \n  - DNS resolution with wildcard detection to reduce false positives.  \n  - Optional HTTP probing to detect live services and fetch status codes + page titles.  \n\n- **High Speed**  \n  - Fully asynchronous (`asyncio` + `aiohttp`) for maximum concurrency.  \n\n- **Rich Output**  \n  - Color-coded console output via `rich`.  \n  - Generates `.txt` (raw list) and `.csv` (detailed) reports.  \n\n- **Flexible Input**  \n  - Scan a single domain (`-d`) or multiple from a file (`-l`).  \n\n---\n\n## 📦 Requirements\n\n- **Python 3.7+**\n- Install dependencies:\n```bash\npip install -r requirements.txt\n```\n## Configuration\n\nThe AI discovery feature requires a **Google Gemini API Key**. You can get one from the [Google AI Studio](https://aistudio.google.com/app/apikey).\n\n\u003e **Note:** If no API key is provided, the tool will skip the AI discovery step and proceed with the other methods.\n\n---\n\n\n## Usage\n\n```bash\nusage: SubreconGemini.py [-h] (-d DOMAIN | -l LIST) [--scan {fast,normal,full}] [--ports PORTS] [--dns-only] [--web-only] [--verify-tls] [--no-verify-tls] [--proxy PROXY] [--output-dir OUTPUT_DIR] [--json] [--html] [--max-http MAX_HTTP] [--max-dns MAX_DNS] [--ai] [--ai-count AI_COUNT] [--gemini-key GEMINI_KEY] [--gemini-model GEMINI_MODEL]\n\nSubrecon (async) – Focused Subdomain Discovery\n\noptions:\n  -h, --help            show this help message and exit\n  -d, --domain DOMAIN   Target domain (e.g., example.com) (default: None)\n  -l, --list LIST       Path to a file with target domains (default: None)\n  --scan {fast,normal,full}\n                        Port scan preset {fast | normal | full} (default: normal)\n  --ports PORTS         Comma-separated ports to override preset (e.g., 80,443,8080) (default: None)\n  --dns-only            Only perform DNS enumeration/verification (default: False)\n  --web-only            Keep only hosts with web responses (default: False)\n  --verify-tls          Verify TLS certificates (default on) (default: True)\n  --no-verify-tls       Do not verify TLS certificates (default: True)\n  --proxy PROXY         HTTP/S proxy (e.g., http://127.0.0.1:8080) (default: None)\n  --output-dir OUTPUT_DIR\n                        Output directory (default: recon_results)\n  --json                Also write JSON results (default: False)\n  --html                Also write HTML report (default: False)\n  --max-http MAX_HTTP   Max concurrent HTTP requests (default: 220)\n  --max-dns MAX_DNS     Max concurrent DNS queries (default: 800)\n  --ai                  Enable Gemini AI seeding for additional candidates (default: False)\n  --ai-count AI_COUNT   How many AI labels to request (default: 150)\n  --gemini-key GEMINI_KEY\n                        Gemini API key (or set GEMINI_API_KEY) (default: None)\n  --gemini-model GEMINI_MODEL\n                        Gemini model name (default: gemini-1.5-flash)\n```\n## Example Usage\n```bash\npython SubreconGemini.py -d google.com --scan full --ai --gemini-key API_KEY --proxy http://127.0.0.1:8080 --html\n```\n\n![Databases ](./Images/Screenshot%20from%202025-07-30%2016-57-02.png) \n\u003cimg width=\"2999\" height=\"1297\" alt=\"new-code-subrecon\" src=\"https://github.com/user-attachments/assets/9b01669e-c350-4806-8699-13eda4ef353d\" /\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4m3rr0r%2Fsubrecongemini","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4m3rr0r%2Fsubrecongemini","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4m3rr0r%2Fsubrecongemini/lists"}