C++

Header-only. C++17 with libcurl, nlohmann/json, and OpenSSL.

Install (CMake)

include(FetchContent)
FetchContent_Declare(
    geckoguard
    GIT_REPOSITORY https://github.com/Uncle-Cole/GeckoSDK.git
    SOURCE_SUBDIR cpp
)
FetchContent_MakeAvailable(geckoguard)

target_link_libraries(your_app PRIVATE geckoguard)

Or copy include/geckoguard/geckoguard.hpp into your project and link libcurl yourself.

Quick start

#define GECKOGUARD_USE_OPENSSL
#include <geckoguard/geckoguard.hpp>
#include <geckoguard/response_verifier.hpp>

int main() {
    geckoguard::Client client("gg_live_...", "your-product-uuid");
    geckoguard::install_default_verifier(client);

    auto auth = client.authorize("LICENSE-KEY-123");
}

Build with -DGECKOGUARD_USE_OPENSSL and link OpenSSL. install_default_verifier enables Ed25519 response verification.

Configuration

geckoguard::Client client(
    "gg_live_...",
    "your-product-uuid",
    "https://api.geckoguard.net",  // base URL
    ""                             // signing secret (HMAC request signing)
);

For the full method list and endpoint reference, see the API Reference.