{"id":33260402,"url":"https://github.com/kaifcodec/user-scanner","last_synced_at":"2026-04-29T19:00:54.610Z","repository":{"id":320317584,"uuid":"1079089186","full_name":"kaifcodec/user-scanner","owner":"kaifcodec","description":"🕵️‍♂️ (2-in-1) Email \u0026 Username OSINT suite. Analyzes 195+ scan vectors (95+ email / 100+ username) for security research, investigations, and digital footprinting.","archived":false,"fork":false,"pushed_at":"2026-04-23T05:36:42.000Z","size":972,"stargazers_count":1464,"open_issues_count":1,"forks_count":150,"subscribers_count":16,"default_branch":"main","last_synced_at":"2026-04-23T07:23:25.905Z","etag":null,"topics":["cybersecurity","cybersecurity-tools","email-osint","enumeration","osint","osint-email","osint-tool","osint-tools","osint-username","python","threat-intelligence","username-osint"],"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/kaifcodec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://blockstream.info/address/bc1q0dzkuav8lq9lwu7gc457vwlda4utfcr5hpv7ka"]}},"created_at":"2025-10-19T04:21:48.000Z","updated_at":"2026-04-23T06:14:34.000Z","dependencies_parsed_at":"2026-03-08T11:08:48.846Z","dependency_job_id":null,"html_url":"https://github.com/kaifcodec/user-scanner","commit_stats":null,"previous_names":["kaifcodec/user-scanner"],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/kaifcodec/user-scanner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaifcodec%2Fuser-scanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaifcodec%2Fuser-scanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaifcodec%2Fuser-scanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaifcodec%2Fuser-scanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kaifcodec","download_url":"https://codeload.github.com/kaifcodec/user-scanner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaifcodec%2Fuser-scanner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32439301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T18:12:22.909Z","status":"ssl_error","status_checked_at":"2026-04-29T18:11:33.322Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cybersecurity","cybersecurity-tools","email-osint","enumeration","osint","osint-email","osint-tool","osint-tools","osint-username","python","threat-intelligence","username-osint"],"created_at":"2025-11-17T04:00:20.260Z","updated_at":"2026-04-29T19:00:54.597Z","avatar_url":"https://github.com/kaifcodec.png","language":"Python","readme":"# User Scanner\n\n![User Scanner Logo](https://github.com/user-attachments/assets/49ec8d24-665b-4115-8525-01a8d0ca2ef4)\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Version-1.3.6-blueviolet?style=for-the-badge\u0026logo=github\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues/kaifcodec/user-scanner?style=for-the-badge\u0026logo=github\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Tested%20on-Termux-black?style=for-the-badge\u0026logo=termux\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Tested%20on-Windows-cyan?style=for-the-badge\u0026logo=Windows\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Tested%20on-Linux-black?style=for-the-badge\u0026logo=Linux\" /\u003e\n  \u003cimg src=\"https://img.shields.io/pypi/dm/user-scanner?style=for-the-badge\" /\u003e\n\u003c/p\u003e\n\n---\nA powerful **2-in-1 OSINT suite** combining deep **Email OSINT** with comprehensive **Username Scanning**. \n\nWith **195+ total scan vectors**—including **95+ email-integrated sites** and **100+ username platforms**—you can identify digital footprints or verify account registrations in seconds.\n\nThe ultimate tool for finding a **unique username** across GitHub, X, Reddit, Instagram, and more in a single command.\n\n\n## Features\n\n- ✅ Email \u0026 username OSINT: check email registrations and username availability across social, developer, creator, and other platforms  \n- ✅ Dual-mode usage: works as an email scanner, username scanner, or username-only tool  \n- ✅ Clear results: `Registered` / `Not Registered` for emails and `Not Found` / `Found` / `Error` for usernames with precise failure reasons  \n- ✅ Fully modular architecture for easy addition of new platform modules  \n- ✅ Bulk scanning support for usernames and emails via input files  \n- ✅ Wildcard-based username permutations with automatic variation generation  \n- ✅ Multiple output formats: console, **JSON**, and **CSV**, with file export support  \n- ✅ Proxy support with rotation and pre-scan proxy validation  \n- ✅ Smart auto-update system with interactive upgrade prompts via PyPI  \n\n## Virtual Environment (optional but recommended)\n\n```bash\n# create venv\npython -m venv .venv\n````\n## Activate venv\n```bash\n# Linux / macOS\nsource .venv/bin/activate\n\n# Windows (PowerShell)\n.venv\\Scripts\\Activate.ps1\n```\n## Installation\n```bash\n# upgrade pip\npython -m pip install --upgrade pip\n\n# install\npip install user-scanner\n```\n---\n### Important Flags\n\nSee [Important flags](docs/FLAGS.md) here and use the tool powerfully\n\n\n## Usage\n\n### Basic username/email scan\n\nScan a single email or username across **all** available modules/platforms:\n\n```bash\nuser-scanner -e johndoe@gmail.com   # single email scanning \nuser-scanner -u johndoe             # single username scanning \n```\n### Verbose mode \n\nUse `-v` flag to show the url of the sites being checked\n```bash\nuser-scanner -v -e johndoe@gmail.com -c dev\n```\nOutput:\n```sh\n  ...\n  [✔] Huggingface [https://huggingface.co] (johndoe@gmail.com): Registered\n  [✔] Envato [https://account.envato.com] (johndoe@gmail.com): Registered\n  [✔] Replit [https://replit.com] (johndoe@gmail.com): Registered\n  [✔] Xda [https://xda-developers.com] (johndoe@gmail.com): Registered\n  ...\n```\n\n### Selective scanning\n\nScan only specific categories or single modules:\n\n```bash\nuser-scanner -u johndoe -c dev                # developer platforms only\nuser-scanner -e johndoe@gmail.com -m github   # only GitHub\n```\n\n### Bulk email/username scanning\n\nScan multiple emails/usernames from a file (one email/username per line):\n- Can also be combined with categories or modules using `-c` , `-m` and other flags\n\n```bash\nuser-scanner -ef emails.txt     # bulk email scan\nuser-scanner -uf usernames.txt  # bulk username scan\n```\n\n### Pattern generation\nSee [Pattern Syntax](docs/PATTERNS.md) for more details\n\n---\n### Library mode for email_scan\nOnly available for `user-scanner\u003e=1.2.0`\n\nSee full usage (eg. category checks, full scan) guide [library usage](docs/USAGE.md)\n\n- Email scan example (single module):\n\n```python\n\nimport asyncio\nfrom user_scanner.core import engine\nfrom user_scanner.email_scan.learning import vedantu\n\nasync def main():\n    # Engine detects 'email_scan' path -\u003e returns \"Registered\" status\n    result = await engine.check(vedantu, \"test@gmail.com\")\n    json_data = result.to_json() # returns JSON output\n    csv_data = result.to_csv()   # returns CSV output\n    print(json_data)             # prints the json data\n\nasyncio.run(main())\n\n```\nOutput:\n\n```json\n\n{\n        \"email\": \"test@gmail.com\",\n        \"category\": \"Learning\",\n        \"site_name\": \"Vedantu\",\n        \"status\": \"Registered\",\n        \"url\": \"https://www.vedantu.com\",\n        \"extra\": \"Phone: +9121****83\",\n        \"reason\": \"\"\n}\n```\n---\n\n\n### Using Proxies\n\nValidate proxies before scanning (tests each proxy against google.com):\n\n```bash\nuser-scanner -u johndoe -P proxies.txt --validate-proxies # recommended\n```\n\nThis will:\n1. Filter out non-working proxies\n2. Save working proxies to `validated_proxies.txt`\n3. Use only validated proxies for scanning\n\n### Screenshots:\n**Note**: Screenshots might be outdated\n\n---\n\u003cimg width=\"1080\" height=\"1350\" alt=\"1000175086\" src=\"https://github.com/user-attachments/assets/c90396d6-b8d9-4ea3-aac4-d2086f9b5756\" /\u003e\n\n\n---\n\u003cimg width=\"1080\" height=\"730\" alt=\"1000175084\" src=\"https://github.com/user-attachments/assets/b399b924-6c4a-4b5b-af0d-67f7c0b39436\" /\u003e\n\n---\n\n- Use the `--hudson` flag to check if a **username** or **email** has been exposed in **infostealer malware logs**.\n\n```bash\nuser-scanner -e johndoe@gmail.com --hudson   # for email check\nuser-scanner -u johndoe --hudson             # for username check\n```\n\u003cimg width=\"1080\" height=\"844\" alt=\"1000183041\" src=\"https://github.com/user-attachments/assets/366d4697-b94b-40b2-9844-f936b6fcea7f\" /\u003e\n\n---\n## ❤️ Support the project\n\nIf this project helps you, consider supporting its development:\n\n**BTC (SegWit):** `bc1q0dzkuav8lq9lwu7gc457vwlda4utfcr5hpv7ka`\n\n\n---\n## Contributing\n\nSee detailed [Contributing guidelines](CONTRIBUTING.md)\n\n---\n\n## ⚠️ Disclaimer\n\nThis tool is provided for **educational purposes** and **authorized security research** only.\n\n- **User Responsibility:** Users are solely responsible for ensuring their usage complies with all applicable laws and the Terms of Service (ToS) of any third-party providers.\n- **Methodology:** The tool interacts only with **publicly accessible, unauthenticated web endpoints**. It does not bypass authentication, security controls, or access private user data.\n- **No Profiling:** This software performs only basic **yes/no availability checks**. It does not collect, store, aggregate, or analyze user data, behavior, or identities.\n- **Limitation of Liability:** The software is provided **“as is”**, without warranty of any kind. The developers assume no liability for misuse or any resulting damage or legal consequences.\n\n---\n\n## 🛠️ Troubleshooting\n\nSome sites may return **403 Forbidden** or **connection timeout** errors, especially if they are blocked in your region (this is common with some adult sites).\n\n- If a site is blocked in your region, use a VPN and select a region where you know the site is accessible.\n- Then run the tool again.\n\nThese issues are caused by regional or network restrictions, not by the tool itself. If it still fails, report the error by opening an issue.\n","funding_links":["https://blockstream.info/address/bc1q0dzkuav8lq9lwu7gc457vwlda4utfcr5hpv7ka"],"categories":["USERNAME"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaifcodec%2Fuser-scanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaifcodec%2Fuser-scanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaifcodec%2Fuser-scanner/lists"}