Install Wireguard on Fire stick

Recently its been handy to have some traffic from fire sticks to traverse VPNs using wireguard. The below was found to be working well for me using 4k fire stick (Fire stick lite did not work at all for me :(). I also used adb to install the wireguard package just because that was on hand for me. If you do not already have adb installed follow the guide here. This guide also doesnt cover setting up wireguard itself but if you need an easy way to quickly test (especially if on unraid) wg-easy is worth a look.

Download the latest wireguard apk from fdroid here. Then install it using adb (your filename may be different but the version below was foundd to be working at time of writing).

  • You can see your fire stick IP under My Fire TV > About > Network > IP Address.
  • You will also need to enable adb debugging from My Fire TV > About > Developer options
adb connect 1.2.3.4 
adb install com.wireguard.android_492.apk

Generate a client config (this example makes a config file called "client1.conf").

The AllowedIPs options will route traffic for these destinations via the VPN. If you want to send ALL traffic via the VPN this should be set to 0.0.0.0/0. If you want to only sent traffic for one or two destinations but allow all other traffic to be routed outwith the VPN add these desintations (the example below does this). This option may be useful to allow normal streaming to bypass the VPN but access to a specific fileserver be route via the VPN. An example of a client1.conf config file:

[Interface]
PrivateKey = CKD09Hboejpok30i3-0od[w[plq[23e1FBMIipbv1A=
Address = 10.1.0.4/24
DNS = 1.1.1.1


[Peer]
PublicKey = Dl7M12er4fd3dcrvredw2edf2dessDF3zR6FpahLng=
PresharedKey = hRc3hWpwi-40i3-4f0wepoakpokpokpokvedw6Yo=
AllowedIPs = 192.168.3.0/24, 10.1.0.0/24
PersistentKeepalive = 0
Endpoint = 20.20.20.20:12345

After verifying the contents look ok copy this file to the fire stick using adb:

adb push client1.conf /sdcard/

You should see the transfer complete sucessfully :)

[moonie@wee]$ adb push client1.conf /sdcard/
client1.conf: 1 file pushed, 0...kipped. 0.5 MB/s (330 bytes in 0.001s)
[moonie@wee]$

Next open wireguard on the fire stick, click the + option to add a tunnel (allow access to local storage) and select the file you transfered. Wireguard should import the file and add a button on the app for the VPN. Simply click on the VPN name and the VPN should come up - You can see this via the incrementing tx/rx values :)