vshll is a modern licensing platform for Python and C++ apps. Generate keys, lock to hardware, manage activations — all from a beautiful dashboard.
import requests
r = requests.post("https://vshll.lol/api/public/v1/validate", json={
"api_key": "app_xxxxxxxxxxxxxx",
"license_key": "XXXX-XXXX-XXXX-XXXX-XXXX",
"hwid": "machine-fingerprint",
})
if r.json()["valid"]:
print("✓ License active")
else:
exit("Invalid license.")Stop hacking together your own auth server. vshll handles it.
Generate cryptographically random keys with expirations and seat limits.
Bind licenses to machine HWIDs. Stop key sharing dead in its tracks.
Watch which machines come online. Ban or reset with one click.
Sub-50ms validation from anywhere on the planet. Edge-deployed.
Per-app API keys, RLS-isolated data, signed validation responses.
Drop-in snippets for both languages. No SDK install required.
Register your Python or C++ project. Get a unique API key instantly.
Generate one key or a thousand. Set expirations and HWID limits.
Drop our snippet into your build. Done.
import requests
r = requests.post(
"https://vshll.lol/api/public/v1/validate",
json={
"api_key": "YOUR_APP_API_KEY",
"license_key": user_key,
"hwid": get_hwid(),
},
timeout=5,
)
data = r.json()
if not data["valid"]:
raise SystemExit(data["error"])#include <cpr/cpr.h>
#include <nlohmann/json.hpp>
auto r = cpr::Post(
cpr::Url{"https://vshll.lol/api/public/v1/validate"},
cpr::Header{{"Content-Type","application/json"}},
cpr::Body{nlohmann::json({
{"api_key","YOUR_APP_API_KEY"},
{"license_key", userKey},
{"hwid", getHwid()}
}).dump()}
);
auto j = nlohmann::json::parse(r.text);
if (!j["valid"]) std::exit(1);