loading
loading
Recon
Process GitHub Archive URLs into unique repository and user CSV files.
overview
gh-downloader reads a file of GitHub Archive URLs, fetches each one, and parses the event stream into two deduplicated CSV files: every unique repository and every unique user that appears in the data. GitHub Archive publishes hourly snapshots of public GitHub activity, so a list of those URLs gives you a wide, time-bounded view of who is pushing code and which repositories are active.
The tool is built for volume. It works through the URL list with a configurable thread pool, so a long list of hourly archives processes in parallel instead of one request at a time. The output stays clean because it collapses repeated repositories and users down to a single row each, which keeps the downstream CSV small enough to query or feed into the next stage.
On Trickest, gh-downloader is a Recon node that takes a URLs file and writes a folder plus a file of results. It opens a GitHub Archive scraping pipeline: run it first to harvest the raw repository and user lists, then pass those CSV files to gh-investigator to pull out the interesting accounts and projects.
use cases
Feed a list of hourly GitHub Archive URLs and collect every unique repository that appears, building a deduplicated CSV of projects active in that time window.
Pull every unique user out of the same archive data so you have a clean account list to profile, cross-reference, or enrich in later OSINT stages.
Raise the thread count to work through a long list of hourly archives at once, turning days or weeks of GitHub activity into CSV files in a single run.
Generate the repository and user CSV files that gh-investigator consumes, so the discovery and analysis stages chain cleanly inside one workflow.
reference
| Name | Type | Flag | Description |
|---|---|---|---|
| urls-file | FILE | --urls-file | File containing the GitHub Archive URLs to process. |
| threads | STRING | --threads | Number of threads to use for processing the URLs. |
| one | STRING | --one | Collapse the results into one file under the given file name. |
Showing key inputs. gh-downloader exposes 3 inputs in total.
example
# harvest hourly GitHub Archive URLs into deduplicated repo and user CSVsgh-downloader --urls-file archive-urls.txt --threads 20 --one github-activity.csv[+] Queued 24 GitHub Archive URLs across 20 threads[+] Parsed 41,882 events, wrote deduplicated repos and usersrepositories.csv (repo_name, repo_id)example-labs/payments-api, 208446120demo-sandbox/edge-proxy, 331902547octo-demo/terraform-modules, 417563980users.csv (user_login, user_id)example-labs, 10294857demo-sandbox, 20481923guidance
Reach for gh-downloader when you have a list of GitHub Archive URLs and need clean, deduplicated repository and user CSV files out of them. It is the harvesting front end of a GitHub Archive pipeline. For turning those CSV files into findings, run gh-investigator next. To target the live GitHub search instead of archive snapshots, use git-wild-hunt.
Consumes the repository and user CSV files gh-downloader produces and pulls out the interesting accounts and projects. Run it after, not instead.
Another GitHub Archive processing node in the same family. Use it alongside gh-downloader when enriching the harvested archive data.
Hunts for leaked credentials across live GitHub search rather than archive snapshots. Different source, complementary coverage.
faq
related
Asynchronous DNS brute-force tool for fast subdomain enumeration.
OWASP Amass: network mapping and external asset discovery.
OWASP Amass intel: find an organization's root domains and ranges.
OWASP Amass enumeration that produces structured JSON output.
Find related domains and subdomains via shared Google Analytics IDs.
Find domains and subdomains potentially related to a given domain.
A file of GitHub Archive URLs feeds gh-downloader, which writes deduplicated repository and user CSV files, then gh-investigator reads them and surfaces the interesting accounts and projects as a queryable output.
Facts on this page come from the live Trickest tool library.