Go tools for exporting Hacker Tracker Firestore data.
This repository contains two commands:
cmd/hackertracker: generic raw Hacker Tracker fetcher.cmd/info-export: purpose-built exporter for theinfo.defcon.orgJSON shape.
The implementation intentionally keeps dependencies small. The only Firebase SDK dependency is:
go get firebase.google.com/go/v4From this repository:
go run ./cmd/hackertracker --help
go run ./cmd/hackertracker conferences
go run ./cmd/hackertracker fetch --conference defcon34 --out ./rawGenerate the info.defcon.org artifacts:
go run ./cmd/info-export --conference defcon34 --out ./public/defcon34/dataThe info exporter writes:
manifest.jsonentities/*.jsonindexes/*.jsonviews/*.jsonderived/tagIdsByLabel.jsondetails/<type>/<id>.json
Generated JSON is minified, uses stable key ordering, and sanitizes strings to match the JavaScript exporter behavior.
The JavaScript exporter uses the public Firebase web client without an auth flow. This Go rewrite initializes the Firebase Go SDK with option.WithoutAuthentication() and the Hacker Tracker project ID.
If Firestore rejects unauthenticated Admin SDK access in an environment, the fetch commands fail loudly. No credential loading, REST fallback, or custom auth flow is added here.
Use a writable Go build cache if your environment restricts the default cache location:
GOCACHE=/tmp/hackertracker-go-build go test ./...