WG Connect WG Connect
Provider guide · OPNsense

OPNsense on Apple TV — a WireGuard tunnel back to your home network

Your OPNsense box already terminates WireGuard for your laptop and phone. The travel Apple TV never got a client, so Plex, the NAS and the rest of the LAN vanish the moment the TV leaves the house. OPNsense speaks plain WireGuard, which means the Apple TV needs nothing more than a WireGuard client — WG Connect is an independent one for tvOS.

The shape of the setup

OPNsense is the WireGuard server at home. The Apple TV runs WG Connect as the client. One encrypted tunnel between them, and the Apple TV ends up holding an address on the tunnel subnet that routes into your LAN.

  ┌──────────┐                        ┌─────────────┐
  │ Apple TV │ ── encrypted tunnel ──▶│  OPNsense   │
  │ (hotel)  │                        │ (WireGuard) │
  └──────────┘                        └──────┬──────┘
                                             │
                                             ▼
                                    ┌──────────────────┐
                                    │ Plex · NAS · Pi  │
                                    │ Cameras · Photos │
                                    └──────────────────┘
  

WireGuard on OPNsense

WireGuard lives under the VPN section of the OPNsense web interface, organised around instances (the local tunnel) and peers (the devices allowed to connect). Whether it arrives as a plugin or as part of the base system depends on which release you are running, and the interface has been reorganised more than once — so follow the OPNsense documentation for your version rather than an older blog post, and treat the outline below as the concept rather than a click path.

  1. An instance with its own key pair, a listen port (51820 by convention) and a tunnel address such as 10.6.0.1/24
  2. An interface assigned to that instance, so firewall rules can be written against it
  3. A peer for the Apple TV, holding the TV's public key and its allowed address inside the tunnel subnet, e.g. 10.6.0.5/32
  4. A WAN rule permitting inbound UDP to the listen port
  5. Rules on the WireGuard interface or group permitting tunnel traffic through to the LAN resources you want reachable
  6. Outbound NAT for the tunnel subnet, if you intend to route all the Apple TV's internet traffic through home

The rule that catches everyone

A tunnel that handshakes but reaches nothing is a filtering problem, not a key problem. You need both the WAN rule that lets the handshake in and rules on the WireGuard interface that let tunnel traffic reach the LAN. Look at the peer's last-handshake timestamp first: if it is recent, the cryptography is working and the fault is elsewhere.

Building the client config

OPNsense's WireGuard configuration is centred on the firewall side. Depending on your version it may be able to show you a client configuration, but it is just as quick — and version-proof — to assemble the Apple TV's .conf yourself from values you already have:

  [Interface]
  PrivateKey = <Apple TV private key>
  Address    = 10.6.0.5/32
  DNS        = 10.6.0.1

  [Peer]
  PublicKey  = <OPNsense instance public key>
  Endpoint   = home.example.org:51820
  AllowedIPs = 0.0.0.0/0, ::/0
  PersistentKeepalive = 25
  

Split tunnel or full tunnel?

Full tunnel is the usual choice for a travel Apple TV — the point is that the TV behaves exactly as it does in the living room.

Importing it into WG Connect

An Apple TV has no camera and cannot scan a WireGuard QR code. WG Connect flips the direction: the television shows the code and your phone scans it. Four ways in:

  1. Upload from phone (easiest). On the Apple TV: Add Profile → Upload from Phone. The TV displays a QR code; scan it with the phone holding the .conf, both on the same Wi-Fi. A small upload page opens, you pick the file, and it transfers to the TV over the local network.
  2. Paste the config text. If you wrote the file by hand, copying and pasting the text directly is often the quickest route.
  3. Import from a URL. WG Connect can fetch the file from an address you supply — only from hosts you control, since it contains a private key.
  4. Manual entry. Type in private key, address, DNS, peer public key, endpoint and allowed IPs.

WG Connect detects the protocol from the file itself. An OPNsense config is plain WireGuard; an AmneziaWG config from elsewhere is recognised by the same importer, and the profile screen shows which protocol was detected.

What to expect once connected

Independent app

WG Connect is an independent WireGuard and AmneziaWG client for tvOS, built by HANSEN AI. It is not affiliated with, endorsed by, or sponsored by OPNsense or its maintainers. All trademarks are the property of their respective owners.

Frequently asked questions

Is WireGuard built into OPNsense or is it a plugin?

That has changed across releases — on older versions WireGuard came from a plugin, while newer versions ship it as part of the base system. Check the VPN section of your firewall's web interface, and follow the OPNsense documentation matching your installed version rather than an older guide.

Which WireGuard keys go where?

Generate a key pair for the Apple TV. The Apple TV's private key goes in the client config's [Interface] section; its public key goes into the peer entry you create on OPNsense. The firewall's public key goes in the client config's [Peer] section. The firewall's private key never leaves the firewall.

Why does my tunnel handshake but reach nothing?

Almost always firewall rules. You need a WAN rule allowing inbound UDP to the WireGuard listen port so the handshake succeeds, and separate rules on the WireGuard interface or group allowing tunnel traffic to reach your LAN. A recent handshake timestamp on the peer means the crypto is fine and the problem is routing or filtering.

Can the Apple TV scan a WireGuard QR code?

No — an Apple TV has no camera. WG Connect reverses the flow: the TV displays a QR code, your phone scans it and opens a small upload page on the same Wi-Fi, and the .conf transfers to the TV over the local network. Pasting the config text, importing from a URL, and manual field entry also work.

Will Plex and Infuse work over the tunnel?

Yes, as long as your rules allow it. The Apple TV holds an address on the tunnel subnet and routes into the LAN, so Plex's local discovery and Infuse's SMB or NFS browsing behave as if the TV were at home. Home upload speed is the limit: roughly 25 Mbps for 1080p and 50–100 Mbps for 4K direct play.

What does WG Connect cost, and what does it require?

A one-time purchase — no subscription, no account, no tracking — with Family Sharing support. A free tier lets you verify the tunnel works first, with sessions limited to 120 seconds each. It needs an Apple TV running tvOS 17 or later.

Download on the
App Store