Userscript to assist in key management for Humble Bundle games.
- Easily view and copy keys
- Advanced filtering options
- Export in various formats:
- CSV (all data)
- ASF (
<name><TAB><key>) - TXT (
<key>)
- Reveal hidden keys
- Create Gift links
- Show purchase dates for owned Steam games
- Bulk claim keys!
- Install Violentmonkey or similar browser extension.
- Get the latest version from the releases page.
- Done
Go to Humble Bundle keys page, open the collapsible menu by clicking on the Advanced Exporter button at the top of the main section.
Note
You need to be signed in to Steam for some of the features to work, such as showing purchase dates and claiming keys.
The toolchain is pinned in mise.toml (Node 24, pnpm 10). With
mise installed, mise install provisions both;
otherwise use pnpm with Node >= 20.18.0.
pnpm install
pnpm buildThe bundled userscript is written to dist/hb-key-exporter.user.js. Note that
pnpm build runs the linter first and will fail before bundling if it reports
errors.
Commits must follow Conventional Commits. A
commit-msg git hook runs commitlint and rejects
messages that don't parse. Pull request titles are checked in CI as well so
squash merges keep a valid Conventional Commit subject:
feat: add CSV column chooser
fix(table): correct expiry sort order
feat!: drop support for Node 18
feat: bumps the minor version and fix: the patch version. Before 1.0.0, a
breaking change (! suffix or BREAKING CHANGE: footer) also bumps the minor
version; from 1.0.0 onward, it bumps the major. Types other than
feat/fix/perf/revert are kept out of the changelog.
Releases are automated with
release-please. Merging
conventional commits to main keeps a "chore: release X.Y.Z" pull request up to
date with the next version and the generated CHANGELOG.md.
Merging that release PR bumps package.json, updates the changelog, and pushes
the vX.Y.Z tag, which in turn triggers publish.yml to build and attach
dist/hb-key-exporter.user.js to the GitHub release. No manual version bumping
or tagging is required.
Note
The workflow uses a RELEASE_PLEASE_TOKEN repository secret (a PAT). The
default GITHUB_TOKEN cannot be used here because tags it creates do not
trigger publish.yml.
Humble bundle will load all your keys into the localStorage of your browser. This userscript will read the keys from there. If you have a lot of keys, it may take a while to load them all the first time, leave the page open for a minute or two, you can refresh the list by clicking the Refresh button on the right or just reload the page.
