Static client-side utilities. Everything runs in your browser; nothing is sent to a server.
Live: https://tools.cding.org
- /kelly/ — Kelly Criterion calculator (probability/odds, win-loss-prob, mean-variance)
- /timestamp/ — Unix ↔ ISO 8601 ↔ RFC 2822 ↔ Locale converter with timezone selector
- /bitcoin/ — Private key → 5 mainnet address types (P2PKH, P2SH-SegWit, P2WPKH, P2TR) with full derivation steps
- /ethereum/ — Private key → EIP-55-checksummed address with full derivation steps
Bilingual: English + Simplified Chinese, auto-detected and togglable.
python3 -m http.server 8000
# open http://localhost:8000/
Service worker registration requires localhost or HTTPS — file:// URLs will not work.
Open http://localhost:8000/tests/ in any modern browser. The page runs all golden-vector tests on load and prints PASS/FAIL for each, with totals at the bottom.
The site vendors @noble/curves, @noble/hashes, and @scure/base under assets/vendor/. To bump versions:
./scripts/vendor.sh
This pins versions, mirrors the npm package trees, and rewrites LICENSE-vendor.md with SHA-256 hashes.
Application code: MIT (see LICENSE).
Vendored libraries: MIT, attributions in LICENSE-vendor.md.
This site is deployed via GitHub Pages from the master branch root.
Settings → Pages →
- Source: "Deploy from a branch"
- Branch:
master/ Folder:/ - Custom domain:
tools.cding.org - Enforce HTTPS: enable AFTER domain verification completes
The CNAME file at the repo root binds the site to the domain. The .nojekyll
file disables Jekyll processing so paths like _* files (none here, but a safe default)
work as expected.
DNS: tools.cding.org is a CNAME pointing to ccding.github.io (recommended) or
pages.github.com (legacy). Either works. If "Enforce HTTPS" is unavailable after
24h, switch the CNAME to ccding.github.io and verify the domain via account
Settings → Pages → "Add a verified domain" (adds a TXT record at
_github-pages-challenge-ccding.cding.org).
Service worker registration requires HTTPS; the four tool pages still function over plain HTTP, but the PWA install / offline mode only activates over HTTPS or localhost.