Download

ForestVPN for OpenWrt

ForestVPN on a router that runs OpenWrt 21.02 or newer, with an ARM or x86-64 processor. Nothing goes through ForestVPN until you finish the setup on the router.

Requirements

Requirements

OpenWrt
21.02 or later. Older releases are not supported.
Processor
ARM or x86-64. MIPS routers are listed as compatibility builds, and some MIPS chips are not supported yet.
Package manager
opkg on OpenWrt 24.10 and older, apk on 25.12 and newer. The install form follows it.
Install

Install

Check your router

Open your router's page, then Status > Overview. Find two lines: Firmware Version and Target Platform. They decide which file you need.

Firmware Version

  • OpenWrt 24.10 or older, and GL.iNet firmware: The install file (an .ipk).
  • OpenWrt 25.12 or newer: The one-line command.
  • Older than OpenWrt 21.02: Not supported.

Target Platform

Supported. The install file for your router is the one named below.

  • mediatek/filogic aarch64_cortex-a53, Tried on real hardware every release.
  • mediatek/mt7622 aarch64_cortex-a53, Tried on real hardware every release.
  • qualcommax/ipq807x aarch64_cortex-a53, Tried on real hardware every release.
  • qualcommax/ipq60xx aarch64_cortex-a53, Tried on real hardware every release.
  • qualcommax/ipq50xx aarch64_cortex-a53, Tried on real hardware every release.
  • mvebu/cortexa53 aarch64_cortex-a53, Tried on real hardware every release.
  • bcm27xx/bcm2710 aarch64_cortex-a53, Tried on real hardware every release.
  • ipq40xx/generic arm_cortex-a7_neon-vfpv4, Tried on real hardware every release.
  • ipq40xx/chromium arm_cortex-a7_neon-vfpv4, Tried on real hardware every release.
  • ipq40xx/mikrotik arm_cortex-a7_neon-vfpv4, Tried on real hardware every release.
  • bcm27xx/bcm2709 arm_cortex-a7_neon-vfpv4, Tried on real hardware every release.
  • mediatek/mt7623 arm_cortex-a7_neon-vfpv4, Tried on real hardware every release.
  • sunxi/cortexa7 arm_cortex-a7_neon-vfpv4, Tried on real hardware every release.
  • rockchip/armv8 aarch64_generic, Built and tried in a lab.
  • layerscape/armv8_64b aarch64_generic, Built and tried in a lab.
  • armsr/armv8 aarch64_generic, Built and tried in a lab.
  • bcm27xx/bcm2711 aarch64_cortex-a72, Built, not tried on this kind of hardware.
  • mvebu/cortexa72 aarch64_cortex-a72, Built, not tried on this kind of hardware.
  • bcm27xx/bcm2712 aarch64_cortex-a76, Built, not tried on this kind of hardware.
  • mvebu/cortexa9 arm_cortex-a9_vfpv3-d16, Built and tried in a lab.
  • tegra/generic arm_cortex-a9_vfpv3-d16, Built and tried in a lab.
  • ipq806x/generic arm_cortex-a15_neon-vfpv4, Built and tried in a lab.
  • ipq806x/chromium arm_cortex-a15_neon-vfpv4, Built and tried in a lab.
  • armsr/armv7 arm_cortex-a15_neon-vfpv4, Built and tried in a lab.
  • bcm53xx/generic arm_cortex-a9, Built, not tried on this kind of hardware.
  • x86/64 x86_64, Tried on real hardware every release.
  • ramips/mt7621 mipsel_24kc, Tried on real hardware every release. Compatibility build.
  • ramips/mt7620 mipsel_24kc, Tried on real hardware every release. Compatibility build.
  • ramips/mt76x8 mipsel_24kc, Tried on real hardware every release. Compatibility build.
  • ramips/rt305x mipsel_24kc, Tried on real hardware every release. Compatibility build.
  • ath79/generic mips_24kc, Tried on real hardware every release. Compatibility build.
  • ath79/nand mips_24kc, Tried on real hardware every release. Compatibility build.
  • ath79/mikrotik mips_24kc, Tried on real hardware every release. Compatibility build.
  • ath79/tiny mips_24kc, Tried on real hardware every release. Compatibility build.
  • lantiq/xrx200 mips_24kc, Tried on real hardware every release. Compatibility build.
  • lantiq/xway mips_24kc, Tried on real hardware every release. Compatibility build.
  • realtek/rtl839x mips_24kc, Tried on real hardware every release. Compatibility build.
  • realtek/rtl930x mips_24kc, Tried on real hardware every release. Compatibility build.
  • bcm47xx/mips74k mipsel_74kc, Built, not tried on this kind of hardware. Compatibility build.
  • ramips/rt3883 mipsel_74kc, Built, not tried on this kind of hardware. Compatibility build.

Not yet: this router has a MIPS processor. Support is planned. We will not promise it before we have measured it.

Not in this list: we do not know this platform yet, so we do not offer a file for it.

Install file (OpenWrt 24.10 and older)

  1. 01

    Download the install file for your Target Platform. Its SHA-256 is beside it.

  2. 02

    On your router's page open System > Software.

  3. 03

    Press Upload Package, choose the file and press Install.

  4. 04

    Your router warns about software from untrusted sources and shows a SHA256 value. Check that it is the value on this page. Press Install again.

  5. 05

    Reload the page and open Services > ForestVPN.

GL.iNet: open System > Advanced Settings > Go To LuCI first.

The result box starts with "ForestVPN cannot run on this router"? Nothing was installed. The next line says why.

One command (OpenWrt 25.12 and newer, and anyone with a terminal)

Paste this one line into your router's terminal. It checks ForestVPN's signing key against the SHA-256 written in the script, adds ForestVPN's software source next to yours and installs by name. It never turns off a signature check. If your router cannot run ForestVPN, or the install fails, the key and the software source are taken away again. Once installed, the router registers with ForestVPN and connects, but no device's traffic goes through it until you finish the setup on Services > ForestVPN. To read the script before it runs, download it from the same address with wget -O install.sh, compare its SHA-256 with the one below, then run sh install.sh.

wget -qO- https://routers.fvpn.net/dl/0.3.15/install.sh | sh

SHA-256 of install.sh: c69a9b533501da5b328c798c27e29a3544ce316d76272df57d2b57b755084b65

Offline bundle

For a router that cannot reach us. One archive per processor type, the same files the repository serves. Copy it to the router, unpack it and run sh install-offline.sh in the router's terminal. The tunnel device must be there already. Compare the SHA-256 beside the archive with the file you downloaded before you copy it to the router: the sums inside the archive only show that it was not damaged. The bundle adds ForestVPN's signing key to your router, and once installed the router registers with ForestVPN and connects, but no device's traffic goes through it until you finish the setup.

If routers.fvpn.net does not load from your network, the same files are on this mirror: https://s3.eu-central-1.amazonaws.com/fvpn-routers

First run

First run

  1. 01

    Open the app on the router

    In the router’s web page open Services, then ForestVPN.

  2. 02

    Link it to your account

    Use your account number, or a pairing code entered in ForestVPN on a phone where you are signed in.

  3. 03

    Choose who is protected

    Pick the whole home or only chosen devices, then a location.

What works on OpenWrt

What works on OpenWrt

Whole home or per device
Choose which devices on the network use the tunnel.
Kill switch
A routing rule and firewall sections keep traffic from leaving outside the tunnel. It is not absolute.
LuCI app
Everything is set from Services, then ForestVPN, in the router’s web page.
Signed feed
Updates come from a signed opkg or apk feed, under a release key of their own.

Not on OpenWrt: choosing sites or services per destination.

What's new on OpenWrt

What's new on OpenWrt

No release notes are recorded for this platform yet.

All release notes

Updates

Updates

Moving to a newer image is a deliberate step, because the tag is pinned.

Read the changelog

Verify your download

Verify your download

Every file is listed with its SHA-256 beside it, and updates come from a signed feed.

Uninstall

Uninstall

Remove the package from System, then Software, or run opkg remove forestvpn (apk del forestvpn on 25.12 and newer). The device stays on your account until you remove it in the app.

Questions

Which routers work?
Routers that run OpenWrt 21.02 or newer on an ARM or x86-64 processor. Read your router’s Target Platform from its Status page and look it up in the table on this page.
Which file do I need?
OpenWrt 24.10 and older use the install file (.ipk) listed for your Target Platform on this page. OpenWrt 25.12 and newer use the one-line command or the offline bundle, and this page lists each one once it is published.
What if routers.fvpn.net does not load?
The same files are on an S3 mirror linked on this page. A router that cannot reach us at all needs the offline bundle, which this page lists once it is published.
English
Ask us anything