# GH-Recon

Latest Release GoDoc GoReportCard

## Project Overview Fetches and aggregates public OSINT data for a GitHub user, leveraging Go and the GitHub API. ## Features - Retrieve basic user profile information (username, ID, avatar, bio, creation dates) - List organizations and roles - Fetch SSH and GPG keys - Enumerate social accounts - Extract unique commit authors (name + email) in both chronological orders - Find close friends - Find Github accounts using an email address - Export results to JSON - Deep scan option (clone repositories, regex search, analyze licenses, etc.) ## Disclaimer This tool is intended for educational purposes only. Use responsibly and ensure you have permission to access the data you are querying. ## Prerequisites - Go 1.18+ - GitHub Personal Access Token (recommended for higher rate limits): Create a GitHub API token with no permissions/no scope. This will be equivalent to public GitHub access, but it will allow access to use the GitHub Search API. ## Installation ### With Go ```bash go get github.com/anotherhadi/gh-recon ``` ### With Nix/NixOS
Click to expand **From anywhere (using the repo URL):** ```bash nix run github:anotherhadi/gh-recon -- --username TARGET_USER [--token YOUR_TOKEN] ``` **Permanent Installation:** ```bash # add the flake to your flake.nix { inputs = { gh-recon.url = "github:anotherhadi/gh-recon"; }; } # then add it to your packages environment.systemPackages = with pkgs; [ # or home.packages gh-recon ]; ```
## Usage ```bash gh-recon --username TARGET_USER [--token YOUR_TOKEN] ``` ### Flags ```txt -deep Enable deep scan (clone repos, regex search, analyse licenses, etc.) -email string Search accounts by email address -json string Write results to specified JSON file -only-commits Display only commits with author info -silent Suppress all non-essential output -token string GitHub personal access token (e.g. ghp_...) -username string GitHub username to analyze ``` ## Example ```bash gh-recon --username anotherhadi --token ghp_ABC123... gh-recon --email myemail@gmail.com --token ghp_ABC123... gh-recon --username anotherhadi --json output.json --deep ``` ## Contributing Feel free to contribute! See [CONTRIBUTING.md](CONTRIBUTING.md) for details.