Deploy
The Hugo site lives at the repo root and is published from GitHub via
Cloudflare Pages. The dataset (data/c2db.json + data/whois/) is
committed to the repo, so the build is fully offline โ no API keys, no
registry access at build time.
Repository
- Source: your GitHub repo (
https://github.com/<your-user>/C2-Tracker) - Production branch:
main - Do not enable GitHub Pages on the repo (Settings โ Pages โ Source: None). Cloudflare Pages is the only host.
- The older
c2trackerrepo (webshell notes) is kept as an archive and is unrelated to this deployment.
Cloudflare Pages settings
Create the project at dash.cloudflare.com โ Workers & Pages โ Create application โ Pages โ Connect to Git, and authorize the Cloudflare Pages GitHub App โ grant it access to only this repository. (Revoke or adjust later at github.com โ Settings โ Applications.)
| Setting | Value |
|---|---|
| Production branch | main |
| Framework preset | Hugo |
| Root directory | (repo root โ leave empty) |
| Build command | python3 tools/gen_content.py && hugo --gc --minify |
| Build output directory | public |
| Environment variable | HUGO_VERSION = 0.167.0 |
HUGO_VERSION is required โ Cloudflare’s default Hugo is ancient and the
build fails without it. Keep it in sync with the local
hugo version (currently v0.167.0).
baseURL in hugo.toml points at the *.pages.dev domain; after
adding a custom domain (Pages โ Custom domains), update baseURL and
redeploy. HTTPS is automatic on Cloudflare.
Local preview
The Hugo project is at the repo root:
serve.bat # Windows: regenerate content + hugo server
# or manually:
python tools/gen_content.py # rebuild docs/indicator/cert pages + search index
hugo server # http://localhost:1313
How updates flow
- Locally (or a GitHub Actions cron later):
python -m tracker refreshupdates whois/DNS and commits refresheddata/. - Push to
main(GitHub Desktop works fine). - Cloudflare Pages sees the push, runs the build command, publishes.
The build command regenerates all data-driven content from the committed
dataset on every deploy โ never edit files under content/docs,
content/i, content/certs, or static/index by hand.