Skip to content

SDK installation / package contents

This article explains how to obtain the WireSock Secure Connect SDK (WSC SDK), what files it contains, and what you typically need to integrate it into your own product.

Downloading the SDK

The SDK is published as a separate product with downloads for multiple Windows architectures (x64, x86, ARM64):

Select the appropriate package for your target architecture.

Installation and prerequisites

Administrator privileges

Installing kernel-mode drivers and running system-wide tunnel features may require Administrator privileges.

Supported architectures

The SDK is distributed for:

  • Windows x64
  • Windows x86
  • Windows ARM64

Choose the SDK build that matches the architecture of your target machine and your application deployment.

Package contents (typical)

The exact file layout may vary by version, but a typical SDK package includes the following categories:

1) Drivers and system components

These components enable packet interception/filtering and virtual network adapter functionality.

You will typically find:

  • driver files (for example, .sys, .inf, .cat)
  • helper executables or installers used by the product to install/start/stop the drivers

2) Native library: wgbooster

The SDK exposes the public C API for tunnel management through the wgbooster library.

You will typically find:

  • wgbooster.dll (runtime library)
  • an import library (.lib) for linking from C/C++
  • public headers (at minimum wgbooster.h)

3) Reference client: wiresock-client

The SDK includes a reference implementation built on top of wgbooster.

Depending on the distribution, this may include:

  • wiresock-client.exe (CLI)
  • wiresock-client-service Windows service components (service installation is handled by the CLI)
  • example configuration files or templates

For CLI usage and service mode, see:

How to integrate the SDK

Option A: Embed wgbooster into your application

This is the recommended approach if you build a custom UI and want full control over connection lifecycle and policies.

Typical steps:

  1. Add the SDK headers to your include path (wgbooster.h).
  2. Link against the import library (wgbooster.lib) or dynamically load wgbooster.dll.
  3. Implement a log callback (void (*log_printer)(const char*)) to collect library logs.
  4. (Optional) Use the extended handle creation APIs (*_get_handle_ex) to receive tunnel events (wg_tunnel_event).
  5. Create and start a tunnel (for example, from a WireGuard config file).

Option B: Use wiresock-client.exe as a building block

This is useful for automation, headless deployments, and for validating that a WireGuard config works end-to-end.

Typical steps:

  1. Use wiresock-client.exe import to store a configuration in a protected form (DPAPI, .dpapi).
  2. Use wiresock-client.exe run for interactive use, or install to run as a Windows service.
  3. Enable tunnel adapter mode with -lac when required.

Configuration storage (.dpapi)

The reference client supports encrypting configuration files using Windows DPAPI and storing them with a .dpapi extension. This is intended for scenarios where configuration files should not be stored in plain text and for service-mode execution.

Troubleshooting

Network lock left enabled after a crash

If your integration uses network lock (Kill Switch) and the process terminates unexpectedly, the driver-level lock state may remain enabled.

The wgbooster API provides recovery helpers:

  • wg_is_network_lock_active() to detect whether lock is still active
  • wg_reset_network_lock() to clear the driver-level lock state