Skip to content
Windows only · Invite only. To get the SDK, DM @snailyt on Telegram.

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.

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.

Terminal window
"x64/Release/C++ SDK.exe"
Terminal window
"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.

Terminal window
"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.

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