OpenVPN, OpenConnect & Tailscale
Import and set up OpenVPN, OpenConnect and Tailscale profiles, sign in with one-time codes, and run a work VPN next to your proxy.
Throne connects to OpenVPN servers and to Cisco AnyConnect and compatible VPNs (OpenConnect), and joins Tailscale networks. The VPN clients are built in, so you do not need to install OpenVPN or OpenConnect.
OpenVPN
Import a .ovpn file with Program → Add profile from File(s) (Ctrl+O), or drag it onto the main window.
- Only client profiles with
dev tunwork. TAP profiles and server configs are rejected. - PKCS#12 bundles are not supported. Export the CA, certificate and key as PEM and paste them into
CA Certificate,Client CertificateandClient Key. - If the file reads the login from a separate file (
auth-user-pass), enterUsernameandPasswordin the profile. - Options that Throne cannot use are listed in the log.
OpenConnect
Flavor selects the server type: empty or anyconnect (Cisco AnyConnect and compatible), gp (Palo Alto GlobalProtect), fortinet, f5 (F5 BIG-IP), pulse (Pulse Connect Secure) or nc (Juniper Network Connect).
Throne imports AnyConnect XML profiles (one profile per server), openconnect command lines such as openconnect --protocol=gp --user=alice vpn.example.com, and config files with a protocol= line, from a file, the clipboard or a subscription.
Auth Group preselects a group, realm or gateway. Some GlobalProtect, F5 and Fortinet portals need the path part of their URL in Server Path.
Options for both VPN types
Only route advertised network(on by default): only traffic to the networks that the VPN server advertises enters the tunnel; other traffic that reaches the profile is blocked. Turn it off for a VPN that should carry all traffic. An.ovpnfile withredirect-gatewayturns it off on import.Tunnel DNS:Prefer(default) resolves only the names that the server claims (its split-DNS domains) through the VPN's DNS servers.Strictalso sends every remote DNS query there, so names they cannot answer fail.Noneignores them.
Signing in
Throne signs in with the saved Username and Password. When the server asks for more, a VPN Authentication window opens:
- A question or form, such as a second password: fill it in and click
Submit. - A sign-in page: click
Open in Browser, sign in there, then close the window. - Single sign-on that works only inside a browser is not supported yet. Use a username and password, or for OpenConnect a session
Cookiein the profile'sAdvancedsettings.
If the server rejects the saved login, Throne asks for one for this session only. The Runtime Stats tab (Advanced mode only, see Simple and Advanced mode) shows the state of each VPN connection.
OTP Manager
Many work VPNs ask for a one-time code from an authenticator app. Throne has its own: Tools → OTP Manager (Advanced mode only).
- Add an entry with
Import→From link or text...(otpauth://links, Google Authenticator'sotpauth-migration://export, JSON or a Base32 secret),Add manually...,From clipboardorFrom QR image file....Scan QR Codefinds a QR code on your screen. - Copy a code by clicking its entry, or from
OTP Codesin the tray menu. Deleteremoves an entry for good.
OTP entries are part of backups (OTP profiles), so keep backup files private.
Use a code with a VPN profile
- Open the OpenVPN or OpenConnect profile and choose the entry in
OTP. - If the server expects the code as part of the password, put
{otp}where the code goes, such asMyPassword{otp}. For OpenConnect,{otp}also works in the software token and form fields. - Click
OK.
Throne then fills in a fresh code on every connect and answers the server's code prompts by itself. For an OpenVPN static challenge, enter its text in Static Challenge.
Split tunnel: a work VPN next to your proxy
A routing profile can start OpenVPN or OpenConnect profiles next to the profile you run. Traffic to the networks that the VPN advertises goes through the VPN; everything else follows the routing profile.
- Open
Routing→Routing Settings→Route, select the routing profile you use and clickEdit. - On the
Endpointstab (Advanced mode only), choose the VPN profile and clickAdd, thenOK. The tab appears once you have an OpenVPN or OpenConnect profile. - Make sure this routing profile is active, then start your normal profile. The VPN starts with it.
Each endpoint adds a … route prefer rule to the Advanced tab. You can only move it: rules above it are checked first.
- A profile used as an endpoint cannot also be the profile you start, or a hop of it.
- An endpoint can be a chain whose exit is an OpenVPN or OpenConnect profile.
Allow routing to inner hopsalso routes to such hops inside the chain. - Endpoint hops cannot run on Xray, and cannot be Extra Core or full-config profiles.
For a complete example, see Recipes.
Tailscale
A Tailscale profile joins your tailnet, so you can reach your Tailscale devices or use one as an exit node. Create one with Program → New profile → Type Tailscale:
| Field | What it does |
|---|---|
Auth key |
The key to log in to your tailnet, from the Tailscale admin console. |
Control URL |
Change it only for a self-hosted control server. |
Hostname |
This device's name in the tailnet. |
Exit node |
A tailnet device to send internet traffic through. Exit node allow lan access keeps your local network reachable. |
Accept routes |
Use the subnet routes that other devices advertise. |
Advertise exit node, Advertise routes |
Offer this computer as an exit node, or offer subnets (comma-separated). |
Ephemeral |
The tailnet removes this device after it goes offline. |
State directory, Global DNS |
Where the login is stored ($HOME/.tailscale), and whether Tailscale's DNS also uses the tailnet's global name servers. |
Tailnet names (under ts.net) are resolved with Tailscale's DNS, other names with your normal DNS settings. URL tests and the auto selector skip Tailscale profiles.
Android
- OpenVPN and OpenConnect profiles work, with the same import formats, but without OTP,
Only route advertised networkandTunnel DNS. They must sign in with the saved username and password. OTP entries from a desktop backup are not restored. - Routing-profile endpoints (split tunnel) do not run. A routing profile from a desktop backup keeps them, but Android does not start them.
- Tailscale profiles are not supported. On both platforms, the auto selector skips OpenVPN and OpenConnect profiles.