All work

license-manager

Sell a Windows game once. It only runs on the PC it was licensed to.

Private codebase, screenshots only. Shown with the client's permission.

A hidden star in the license-manager constellation

You found a secret starIt started after my client complained about manually distributing games to every customer.

  • AES-256 encryption
  • Go
  • 1 key, 1 PC
  • Revoke anytime
  • PostgreSQL
  • React
  • Docker
Bright stars are what it does, dim stars are the tools behind it.
Role
Solo developer
Team
Solo, for a client
Built with
Go, PostgreSQL, React, TypeScript, Tailwind CSS, Docker
Status
In use · private codebase
license-manager dashboard: customer, game, license and session counts, and the licenses that expire within 7 days
license-manager Games page: add a game, upload its zip to build a protected package, and the list of games

The problem

Once someone buys a Windows game, its files can be copied and shared with anyone.

What I built

I built a DRM system that encrypts each game once with AES-256-GCM and ties every license key to one PC through a hashed Windows machine ID. A Go launcher decrypts the game to play it, a helper process deletes the decrypted files when it closes, and a heartbeat every 30 seconds closes the game if the license is revoked.

The result

It is backed by 235 Go tests, including real-database and end-to-end browser tests.