Bronya is a simple web application for software activation management.
- Generate License key(uuid v4) with options(quantity, duration, available activation times, etc)
- Activation management, disable, extend expire date, etc
- Export licenses, activation records as csv files
- Support multiple apps
- Verify in simple http response or JWS signature
Next.js / Prisma / shadcn-ui
Your software only need implement 3 APIS
- Activation
- Activation acknowledgment
- Activation state sync/rolling
- License / lcs: the license key use to activation your software, can use 1 or multiple times based on your generation config
- Activation records / ar: licenseKey + identityCode is an activation record
- identity code: like a machine code, if your license key can only use 1 time, then you can use a hard coded string otherwise should be different for each activate
- rolling code: rolling for a period days, you can disable rolling behavior when generate licenses
There are three deployment options
- Docker deployment
- AWS Lambda + Dynamodb
- Vercel + PostgreSQL
There are 3 APIS you need to implement.
- {{bronya-host}}/api/activation
body: {"app": "asuka","key":"97c98e39-b8bf-48f2-bd6f-ab3b071641b1","identityCode": "a123"}
- {{bronya-host}}/api/ar-ack
{"app": "asuka","key": "97c98e39-b8bf-48f2-bd6f-ab3b071641b1","identityCode": "a123","rollingCode": "4c92fbad"}
- {{bronya-host}}/api/ar-sync
{"app": "kojima","key": "97c98e39-b8bf-48f2-bd6f-ab3b071641b1","identityCode": "a123","rollingCode": "4c92fbad"}