Skip to content

Client apps

What a customer installs, per tunnel type, and how they load what you hand them.

WireGuard

PlatformAppImport
AndroidWireGuard+Scan from QR code, or Import from file with the .conf
iOSWireGuard+Create from QR code, or Create from file or archive
WindowsWireGuard for WindowsImport tunnel(s) from file, or Add empty tunnel and paste the text
macOSWireGuard from the App StoreImport tunnel(s) from file
Linuxwireguard-toolswg-quick up ./customer.conf

The config file, the copyable text, and the QR code all carry the same thing: the customer's private key, their address, and your interface's public key and endpoint. Hand out one per device — each device has its own key.

AmneziaWG

A WireGuard interface in amnezia mode needs the AmneziaWG client, not the plain one; the obfuscation parameters are in the config and the plain app does not understand them.

PlatformApp
AndroidAmneziaWG
iOSAmneziaWG
Windows / macOS / LinuxAmneziaVPN (import the .conf), or amneziawg-tools

Import is the same as WireGuard: QR, file, or pasted text.

OpenVPN

PlatformApp
Android / iOSOpenVPN Connect
Windows / macOSOpenVPN Connect, or the OpenVPN GUI / Tunnelblick
Linuxopenvpn --config customer.ovpn

The .ovpn the panel produces is self-contained — CA, tls-crypt key, and the server address are inside — so it imports with one tap. The customer signs in with the username and password shown in Client information; there is no per-client certificate to install.

The subscription link opens in a browser as a page with every device and every host, each with its config, download and QR (Subscription page). Apps that accept a subscription URL for WireGuard configs re-fetch it on the interval you set in Settings → Subscription.

When a customer says "it does not connect"

Troubleshooting → A customer cannot connect.

Released under the AGPL-3.0 License.