v2.0.0

cyphar/paperbackv2.0.0May 24, 2026by ibnaleem

AI Summary

This major version introduces a comprehensive codebase refactor from a flat file structure to internal Go packages. It adds extensive GitHub OSINT capabilities, including full profile extraction, email discovery via commits, and SSH key listing.

Key Highlights

  • Complete codebase refactor to internal Go packages
  • Full GitHub profile extraction including social links and stats
  • Email extraction from public push events and GPG keys
  • SSH key listing for cross-system fingerprinting
  • Authentication via GITHUB_TOKEN to increase rate limits

Breaking Changes

  • Migrated from flat file structure to internal Go packages

New Features

  • Full GitHub profile extraction
  • Email extraction from public push events
  • GPG key extraction with fingerprints
  • SSH key listing by algorithm and ID
  • Mutual followers calculation
  • Support for .env files

Full Release Notes

# Thank You
First, I want to thank everyone who has starred, forked, opened issues, submitted PRs, and generally kept this project alive. GoSearch now has 3,367 stars and 311 forks, which is honestly more than I ever expected from something I built in a coffee shop. That means a lot.

Life got in the way. Between work and university, this project sat on multiple computers longer than I wanted. Now that I have more breathing room, I'm back and actively working on GoSearch again. Expect more regular updates.

# v2.0.0
GoSearch hits version 2! Here's a summary of all changes committed:

**Codebase refactor**
- Migrated from flat file structure to internal Go packages; each module is a directory under `/internal/`, each OSINT feature is its own file ([`74c8503`](https://github.com/ibnaleem/gosearch/commit/74c8503))

**GitHub OSINT**
- Full profile extraction: name, bio, company, location, public email, repos, gists, followers, following, Twitter handle, avatar URL, node ID, created/updated timestamps (https://github.com/ibnaleem/gosearch/pull/115/changes/886591597323de1023894a3a6f2e2b8728c1d851)
- Email extraction from public push events via the commits API — resolves real author email from commit SHAs, not just profile-declared addresses ([`df04713`](https://github.com/ibnaleem/gosearch/commit/df04713), [`ec1bae7`](https://github.com/ibnaleem/gosearch/commit/ec1bae7))
- GPG key extraction with fingerprints and all associated email addresses, including verified status ([`2490c06`](https://github.com/ibnaleem/gosearch/commit/2490c06))
- SSH key listing by algorithm and ID, useful for cross-system fingerprinting ([`cfdecf0`](https://github.com/ibnaleem/gosearch/commit/cfdecf0))
- Linked social account extraction from GitHub's verified profile links ([`c8278e7`](https://github.com/ibnaleem/gosearch/commit/c8278e7))
- Mutual followers via hash map for O(1) lookup; displays top 10 if more than 10 ([`e2a5354`](https://github.com/ibnaleem/gosearch/commit/e2a5354))
- All API calls authenticated via `GITHUB_TOKEN`; raises rate limit from 60 to 5,000 req/hour ([`014590e`](https://github.com/ibnaleem/gosearch/commit/014590e))
- `.env` file support via `godotenv` ([`c6e82f4`](https://github.com/ibnaleem/gosearch/commit/c6e82f4))

**Bug fixes**
- Closes #106: wrong colon in `Accept` header was causing HTTP errors in `CrackHash`