> ## Documentation Index
> Fetch the complete documentation index at: https://tunnelfleet.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# VPN client apps

> Install WireGuard or OpenVPN Connect on your device and connect to a TunnelFleet server.

TunnelFleet manages VPN software on **your VPS**. To use the VPN, install an official client app on the device that should join the network, then import a config or profile from the dashboard.

<Info>
  Creating a server in TunnelFleet is not enough by itself. You still need a client app (WireGuard or OpenVPN Connect) on your phone, laptop, or router.
</Info>

## Choose a protocol

<Columns cols={2}>
  <Card title="WireGuard" icon="shield" href="/docs/wireguard">
    Fastest option. Import a `.conf` file or scan a QR code. No username/password for the tunnel itself.
  </Card>

  <Card title="OpenVPN" icon="lock" href="/docs/openvpn">
    Use OpenVPN Connect with a `.ovpn` profile plus the VPN username and password from the Users tab.
  </Card>
</Columns>

## Before you install an app

<Steps>
  <Step title="Server is active">
    Finish the install script so the server status is **active** in TunnelFleet.
  </Step>

  <Step title="Protocol is installed">
    Confirm WireGuard and/or OpenVPN are **active** on the server **Protocols** tab.
  </Step>

  <Step title="VPN user is synced">
    Open **Users**. The default `tunnelfleet` user (or another user) should be **active**. Download the WireGuard config or OpenVPN profile from there.
  </Step>
</Steps>

For the full flow from signup to first connection, see [Quick Start](/docs/getting-started/quick-start).

## WireGuard apps by platform

<Columns cols={2}>
  <Card title="Windows" href="/docs/wireguard/windows" icon="windows">
    WireGuard for Windows
  </Card>

  <Card title="macOS" href="/docs/wireguard/macos" icon="apple">
    WireGuard from the Mac App Store
  </Card>

  <Card title="Ubuntu / Linux" href="/docs/wireguard/ubuntu" icon="linux">
    `wg-quick` on Ubuntu
  </Card>

  <Card title="Android" href="/docs/wireguard/android" icon="mobile">
    File or QR import
  </Card>

  <Card title="iPhone" href="/docs/wireguard/iphone" icon="mobile">
    QR code in the iOS app
  </Card>

  <Card title="Android TV" href="/docs/wireguard/android-tv" icon="tv">
    WireGuard on Android TV
  </Card>

  <Card title="GL.iNet router" href="/docs/wireguard/gl-inet" icon="router">
    Travel router setup
  </Card>
</Columns>

## OpenVPN Connect by platform

<Columns cols={2}>
  <Card title="Windows" href="/docs/openvpn/windows" icon="windows">
    OpenVPN Connect on Windows
  </Card>

  <Card title="macOS" href="/docs/openvpn/macos" icon="apple">
    OpenVPN Connect on Mac
  </Card>

  <Card title="Linux" href="/docs/openvpn/linux" icon="linux">
    OpenVPN CLI
  </Card>

  <Card title="Android" href="/docs/openvpn/android" icon="mobile">
    OpenVPN Connect on Android
  </Card>

  <Card title="iPhone" href="/docs/openvpn/iphone" icon="mobile">
    OpenVPN Connect on iOS
  </Card>
</Columns>

## Where to get configs

| Protocol          | What to download                          | Where              |
| ----------------- | ----------------------------------------- | ------------------ |
| WireGuard         | `{server}-{user}-wg0.conf` or QR code     | Server → **Users** |
| OpenVPN TCP / UDP | `{server}-openvpn-tcp.ovpn` / `-udp.ovpn` | Server → **Users** |

See [Download configuration](/docs/getting-started/download-configuration) for dashboard steps.

## Troubleshooting

* **App installed but nothing to import** → download the config from **Users** first
* **WireGuard handshake fails** → UDP **51820** blocked on the VPS or cloud firewall
* **OpenVPN auth failed** → wrong username/password, or the user is still pending sync
* **Connected with no internet** → check DNS / AllowedIPs in the WireGuard profile, or try OpenVPN TCP on restrictive networks

More detail: [WireGuard overview](/docs/wireguard) and [OpenVPN overview](/docs/openvpn).
