Unified VPN SDK demo for Windows
This guide covers how to build, configure, and use the Unified VPN SDK demo application for Windows, including setup instructions, feature usage, and troubleshooting.
Build the demo application MSI installer
For the recommended setup method, follow the Quickstart: run the VPN SDK demo for Windows guide. If you encounter issues with the quickstart, use the manual steps below as an alternative.
Download the demo app project folder. Contact your account manager to get access to the demo app.
Launch Visual Studio, navigate to the folder containing the recently downloaded project from GitHub and open the solution file
"..\unified-sdk-windows-demo\src\UnifiedSDK.Demo.sln".Once the solution is open, you need to restore NuGet Packages.

Build the "UnifiedSDK.Demo" project.

Build the "UnifiedSDK.Demo.Installer.x64" project.

Navigate to
..\unified-sdk-windows-demo\output\Debug(Release)\Installer\, then double-clickUnifiedSDK.Demo.Installer.x64.msito install the demo application.
Usage
Sign in at pango-cloud.com.
Note that at this time, it is not possible for users to create their own accounts directly if they do not already have an account established with example.com. Please contact your sales representative to initiate account creation as part of the project and client onboarding process or contact us. We apologize for any inconvenience.
In Pango dashboard, create a project and use a name for your project as a Public key. Private key is optional.

Navigate to the
Networktab from the navigation bar. Then, click on theAdd locationbutton.

In Pango dashboard, navigate to the dashboard and locate your
carrier_id.You can find the backend URL for Prod/Stage/Dev here.
You are almost ready to connect to the VPN. To initiate the VPN connection process in the demo app:
Enter the
carrier IDandbackend addressin the appropriate fields.
Carrier ID and backend address fields Click the "Initialize SDK service" button. No visible change will occur (except the log message in the log window), which is expected behavior.
Click the "Login" button. The app should now display a "Logged in" message, indicating successful authentication.\

Choose VPN protocol and Virtual Location.\

Click the "Connect" button. The app will establish the VPN connection, and display a "Connected" message upon success.

Your device is now connected to the VPN. To verify the connection:
Open any browser on your device.
Navigate to whatsmyip.com (or any other site which can identify your IP).
Observe that the IP address displayed is different from your device's actual IP address, confirming that traffic is being routed through the VPN.
To terminate the VPN connection when finished, click the "Disconnect" button in the demo app. This will sever the connection and restore direct network access.
Features usage
Multihop / Custom VPN profiles / Custom DNS
Initialize SDK service.
Click the "Login" button.
Select "Use multihop proxy" if needed.
Select "Use optimal proxy location" or write your own location description.
Select "Get custom VPN profiles" if needed.
After Login select profile from "Custom profiles" combo box.
Select "Use custom DNS" if needed.
After Login select profile from "DNS server" combo box.
Fill the "User DNS server address" if you want to define the HTTP URL of DNS-over-HTTPS which should be used for a VPN session. Should be a valid URL.
Select VPN protocol.
Select virtual location.
Click the "Connect" button.

Block local networks / Prevent IP leak / Enable Killswitch
Initialize SDK service and Login.
Select "Block local networks" if needed. Disabled by default.
It blocks all local network connections during the VPN session except for multicast networks
Unselect "Prevent IP leak" if needed. Enabled by default.
It blocks IPv6 and DNS requests outside the VPN tunnel.
Select "Enable Killswitch" if needed. Disabled by default.
It prevents traffic leakage during an unexpected VPN tunnel shutdown.
Click the "Connect" button.

Keep Killswitch enabled
Connect to VPN with Killswitch enabled.
Select "Keep killswitch enabled". Disabled by default.
It keeps traffic protection features active aftert manual disconnect.
It still allows to Unified SDK to connect to another location.
Click the "Disconnect" button.
To disable this feature call disable KillSwitch method or unselect "Keep killswitch enabled" and call disconnect one more time.

VPN bypass domains/applications (only x86 and x64 architecture )
Fill the domains/applications (full path required).
Click the "Apply" button.
Connect to VPN.

Throttling configuration (only x86 and x64 architecture)
Select "Enable throttling".
Set global speed limits in Bit/second.
Set local speed limits in Bit/second.
Add the process you want to throttling by clicking the "Add process" button and filling the process name.
Click the "Add speed limit" button if you want to add another one local speed limit.
Click the "Send configuration button".
Click the "Connect" button.

Route via VPN (only x86 and x64 architecture)
Click on the "Initialize SDK service" button.
Click on the "Loggin" button.
Uncheck "Prevent IP leaks" checkbox.
Check "Enable RouteViaVPN" checkbox.
Fill "Route via VPN applications" text box with full path to .exe file.
Fill "Route via VPN domains" text box.
Click "Apply" button.
Click "Connect" button.


Logging
The demo application logs messages using the Trace level. All logs are displayed in the panel to the right of the main window. You can right-click this panel to either clear the log output or save the current log to a file.

Please note that the demo application does not display internal SDK logs in the logging panel except SDK responses which are shown there to help better understand SDK behavior.
The SDK by default is using Error log level. For more information about SDK logging please see Collecting debug logs.
Avoid using DEBUG or TRACE log levels for SDK logs in PROD, unless absolutely necessary for troubleshooting. These levels may expose sensitive or excessive information.
The same is recommended to do in PROD with application logs for SDK response data.
More Information
See Troubleshooting
Last updated
Was this helpful?