Demos
Both demos read the same config.h as your app. Replace it with one generated for your app, build
C++ SDK.sln, and run them.
Console demo
Section titled “Console demo”Run it with no arguments for a menu: sign in with a key, with a username and password, create an account, use the free version, or inspect the server’s certificate. After signing in: account details, variables, saved values, redeem or upgrade, downloads, app info, rename, sign out.
"x64/Release/C++ SDK.exe""x64/Release/C++ SDK.exe" --register --user alice --redeem --var var_0123456789abcdef0123456789abcdef --seconds 60| Flag | Does |
|---|---|
--user NAME |
Username |
--register |
Create a password account |
--key |
Sign in with a key (with --user NAME for a key’s first use) |
--free |
Free mode |
--redeem |
Redeem a key after signing in |
--var ID |
Fetch a variable (repeatable) |
--seconds N |
Stay signed in for N seconds (0 = until Ctrl+C) |
--keep-session |
Leave the session resumable on exit |
--no-persist |
Don’t save the session |
--print-pins HOST |
Show a host’s certificate chain and whether the pins accept it |
--app-version V |
Report this version |
--set-var NAME=VALUE |
Set a per-user variable |
--stats |
Show app stats |
--rename NAME |
Change the username |
--download ID PATH |
Download a file |
--self-ban REASON |
Ban the current user (tamper response) |
--help |
List the flags |
Exit codes: 0 OK, 2 sign-in refused, 3 session lost, 64 bad argument, 78 placeholder
config. --print-pins exits 0 if the chain is accepted and 2 if not.
GUI demo
Section titled “GUI demo”"x64/Release/GUI Demo.exe"A Win32 app split across several .cpp files, showing what a real app needs:
- password, key and free sign-in, with a username prompt on a key’s first use,
- a plan screen (Free or Premium) showing what each plan unlocks, and upgrading with a key,
- async calls, UI-thread dispatch, events and session resume,
- Show to reveal the password, Keep me signed in on this PC, Support ID to copy the HWID for a support request, Enter submits the current field, and pasted keys are cleaned up in place.
Testing against a local server
Section titled “Testing against a local server”Debug builds of both demos read these environment variables, so you can test without editing
config.h. Release builds ignore them.
| Variable | Purpose |
|---|---|
LSDEMO_HOST, LSDEMO_PORT |
For example 127.0.0.1 and 8787 |
LSDEMO_INSECURE_HTTP=1 |
Plain HTTP (still refused for anything but localhost) |
LSDEMO_APP_ID, LSDEMO_KEY_VERSION |
App identity |
LSDEMO_HMAC_SECRET, LSDEMO_ENC_KEY |
Base64 keys from the panel |
LSDEMO_SIGNING_KEY |
Base64 response signing public key |
LSDEMO_APP_VERSION |
Overrides the reported version (default 1.0.0) |
LSDEMO_PASSWORD, LSDEMO_LICENSE_KEY, LSDEMO_REDEEM_KEY |
Console demo: skip the prompts |