{"id":31364370,"url":"https://github.com/barakamukungu/subenum","last_synced_at":"2026-05-18T02:08:01.953Z","repository":{"id":316461674,"uuid":"1063470675","full_name":"barakamukungu/subenum","owner":"barakamukungu","description":"A safe, offline simulator that demonstrates how subdomain enumeration works using a local dataset.  ","archived":false,"fork":false,"pushed_at":"2025-09-24T17:50:06.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-24T19:33:58.553Z","etag":null,"topics":["cli","csv","json","pytest","python","security-education","subdomain-enumeration"],"latest_commit_sha":null,"homepage":"https://github.com/barakamukungu/subenum","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/barakamukungu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-24T17:08:16.000Z","updated_at":"2025-09-24T17:50:09.000Z","dependencies_parsed_at":"2025-09-24T19:34:00.874Z","dependency_job_id":null,"html_url":"https://github.com/barakamukungu/subenum","commit_stats":null,"previous_names":["barakamukungu/subenum"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/barakamukungu/subenum","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barakamukungu%2Fsubenum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barakamukungu%2Fsubenum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barakamukungu%2Fsubenum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barakamukungu%2Fsubenum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/barakamukungu","download_url":"https://codeload.github.com/barakamukungu/subenum/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barakamukungu%2Fsubenum/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33162448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"online","status_checked_at":"2026-05-18T02:00:06.436Z","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":["cli","csv","json","pytest","python","security-education","subdomain-enumeration"],"created_at":"2025-09-27T07:04:32.301Z","updated_at":"2026-05-18T02:08:01.947Z","avatar_url":"https://github.com/barakamukungu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Subdomain Enumerator (Simulated)\n\nA **safe, offline simulator** that demonstrates how subdomain enumeration works using a local dataset.  \nThis project **does not perform any real network or DNS requests**. It’s built for **learning and practicing cybersecurity concepts** in a safe environment.\n\n---\n\n## Features\n- Load candidate subdomain labels from a wordlist (`candidates.txt`).\n- Compare candidates against a simulated dataset (`hosts.json`).\n- Deduplicate candidates while preserving order.\n- Output results in **text**, **JSON**, or **CSV** format.\n- Fully offline → safe to run anywhere.\n- Unit tests with `pytest`.\n\n---\n\n## Project Structure\n.\n├── subenum.py # Main script\n├── hosts.json # Example simulated host dataset\n├── candidates.txt # Example wordlist\n├── test_subenum.py # Unit tests\n├── test_dedupe.py # Unit tests for deduplication\n├── requirements.txt # Optional dependencies\n└─ README.md # This file\n\nyaml\n\n---\n\n## Quickstart\n\n### 1. Clone the repo\n```bash\ngit clone https://github.com/barakamukungu/subenum.git\ncd subenum\n2. (Optional) Create a virtual environment\nbash\npython -m venv .venv\n# Activate it\n# On Windows (PowerShell):\n.venv\\Scripts\\Activate.ps1\n# On Linux / Mac:\nsource .venv/bin/activate\n3. Install dependencies\nbash\npip install -r requirements.txt\n4. Run the enumerator\nbash\npython subenum.py example.com --wordlist candidates.txt --format text\nExample output:\n\ndiff\nEnumerating subdomains for example.com...\nDiscovered subdomains:\n- www.example.com\n- api.example.com\nOutput Formats\nText (default)\nHuman-readable list of subdomains.\n\nJSON\n\nbash\npython subenum.py example.com --format json --output found.json\nCSV\n\nbash\npython subenum.py example.com --format csv --output found.csv\nRunning Tests\nThis project uses pytest. Run tests with:\n\nbash\npytest -v\nWhy a Simulator?\nIn cybersecurity, subdomain enumeration is a critical part of reconnaissance.\nBut performing live scans can be illegal or unsafe against systems you don’t own.\n\nThis tool provides:\n\nA safe way to learn how enumeration tools are structured.\n\nPractice with wordlists, parsing, and output formats.\n\nCode that can later be extended into real-world enumerators once you’re ready.\n\nLicense\nMIT License – feel free to use, modify, and share.\n\nContributing\nPull requests are welcome.\nFor major changes, please open an issue first to discuss what you’d like to change.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarakamukungu%2Fsubenum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarakamukungu%2Fsubenum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarakamukungu%2Fsubenum/lists"}