Flashrouters is a US-based company that has carved out a somewhat unique niche for itself. It sells routers that are pre-flashed with DD-WRT or Tomato firmware. It works closely with a number of VPN providers, and its routers are usually also setup for use with a VPN service of your choice. Flashrouters therefore provides out-of-the-box plug-and-play VPN router solutions.
It has now developed its own DD-WRT app which works as an add-on to the DD-WRT firmware. The app allows you to easily switch between a number of popular VPN services, plus adds some very useful VPN-related features.
The VPN app is included free of charge for all supported Flashrouters routers. Flashrouters is an aftermarket service that manually flashes routers. This requires time and expertise, so routers from Flashrouters inevitably cost more than if you buy then direct from the manufacturer or on Amazon.
The Linksys WRT3200ACM router I reviewed the app on, for example, costs $349.99 new from Flashrouters and $199.99 on Amazon. But it is worth remembering that flashing router firmware yourself is not for the faint of heart and may result in a bricked router with a voided warranty.
Routers from Flashrouters are always successfully pre-flashed, and replace the voided manufacturer's warranty with one from Flashrouters (90-day, extendable up to two years for an additional cost).
Flashrouters VPN app features
- Easily switch between a choice of VPN services
- Global kill switch
- Policy routing for devices
- Policy routing for hosts (domains)
Eleven VPN services are currently supported: Black Box Unzoner (an unblocking service only), ExpressVPN, Hide My Ass (HMA), IPVanish, IVPN, NordVPN, Private Internet Access (PIA), ProtonVPN, PureVPN, SaferVPN, VyprVPN and Windscribe.
It is worth noting that DD-WRT itself supports manual configuration for any almost VPN service that supports PPTP and OpenVPN. This means that if you buy a router from Flashrouters but don’t want to use one of the VPN services supported by its app, you can.
It’s just you will need to manually configure it, and you won’t benefit from the additional features offered by the app.
Flashrouters provides documentation and setup instructions for the app on its website. This includes setup instructions for some of the supported VPN providers. Strangely not for ExpressVPN, though, which has the most complicated setup requirements of the lot.
If you need further support, Live Chat is available during EST office hours or you can send a ticketed email. Flashrouters also offers free TeamViewer support if you require it.
We experienced some issues with the app when we first looked at it, but were very impressed with the response from the Flashrouters support team. It has worked hard to identify the problems, and was quick to push out firmware updates once an issue was confirmed.
In order to use the Flashrouters app you will need a subscription with one of the VPN services supported by the app. If you don’t already have one then you will need sign-up for one. The links above go to our full reviews of each service, which should help you choose the best one your needs.
To access the app, login to the router’s DD-WRT control panel in your browser -> Status tab -> My Page. In theory, you can also enter “flashroutersapp.com” into the URL bar as a shortcut, but this never worked for us.
The Flashrouters DD-WRT app
The main page of the app allows you to select your VPN service from a list of supported providers. In most cases you need then simply enter your username and password, select a server location, and connect.
One issue that we encountered is that server location names are based on the names providers have given to their OpenVPN configuration (.ovpn) files. As we can see in the example below, in some cases these names can be quite cryptic and requires a certain understanding of VPN terminology to decipher!
Fortunately, the app allows you to sort VPN servers by the closest one to you in a chosen country. Alternatively, you can let the app pick a server for you based on which server is the least loaded in a given country.
Flashrouters informs us that its tests show picking the least loaded server almost always results in the best performance (even more than picking the server in a country closest to you).
The main page of the app also allows you to opt to auto-connect the VPN when the router starts, and to enable the global kill switch.
Most VPN services need only a username and password to connect, but with ExpressVPN you must also paste in your user certificate and private key. Instructions are not currently provided on how to do this, although I was able to infer the information from more general DD-WRT instructions on the Flashrouters website.
A minor quibble is that if you change VPN provider, your login credentials are not saved for next time you select that provider. This issue is more a nuisance to reviewers such as ourselves, though, than most regular VPN customers.
The app comes with a kill switch which cuts off the router’s internet connection if the VPN connection fails. This is an essential safety feature that prevents your real IP address becoming exposed when this happens.
In practice, it also prevents any DNS leaks, which is not surprising as the “kill switch” uses the router’s firewall walls to ensure no internet connection is possible outside the VPN interface. As such, it works just as well at preventing IP leaks as it does a kill switch (proviso – we have not tested with an IPv6 connection).
As a kill switch it works… but somewhat too well. We were unable to go for more than a few minutes with the kill switch enabled before losing our internet connection. This might not have been so annoying had the app immediately auto-reconnected the VPN. But as it was, we had to manually disable the kill switch each time just to use the internet again.
It did not take long before we were so annoyed with this that we simply disabled the kill switch, which also meant that we lost our DNS leak protection.
The Options page allows you to set policy routing for devices and for hosts. This is often known elsewhere as split-tunneling. Policy routing for devices lets you choose how each device connected to the router interacts with the VPN connection. There are three options available:
- Default: traffic to and from the device will be routed through the VPN tunnel if the VPN is enabled. If the kill switch is also enabled by default, then the device will also use it.
- Kill switch: same as default, but with the global kill switch enabled if it is not enabled by default.
- VPN- bypass: traffic to and from the device will not be routed through the VPN tunnel.
In order to enable the VPN-bypass option you need to change a setting in the regular DD-WRT interface and reboot the router. This is easy enough, though, and only needs to be done once. It worked as advertised when we tested it.
Policy routing for hosts lets you specify how particular domain names, IP addresses, or IP ranges are dealt with. Connections to specified hosts can either be forced to always go through the VPN (whether otherwise enabled or not), or can be exempted from the VPN.
This is pretty cool, but comes with a big caveat. It doesn’t work for sites or services that resolve to multiple domains, which includes Netflix, Amazon, BBC iPlayer, and many other popular streaming services.
Given that exempting streaming services in your own country which otherwise block VPN connections is a major reason to want this feature, this is a little disappointing. Indeed, it didn’t even seem to work for google.com, which is provided as an example in the documentation leaflet!
We ran IPv4 DNS and WebRTC leaks using ipleak.net. We were unable to test for IPv6 leaks, as IPv6 connections are not supported by our ISP.
No DNS leaks or WebRTC leaks were detected on Windows and Android devices connected to the router, but we experienced regular IPv4 DNS leaks on our Macbook when using the VPN without the kill switch enabled.
We tested in both Firefox and Chrome using Private/Stealth mode to prevent caching issues from polluting the result. We stress that these were regular DNS leaks, not browser leaks via WebRTC.
As we have noted, however, turning on the global kill switch fixed the problem. Flashrouters really should consider renaming the global kill switch to “Global kill switch and DNS leak protection.” But as we also noted, the kill switch was so annoying that we were forced to turn it off. Which left us with a DNS leak.
Flashrouters should warn people to use it for DNS leak protection. Otherwise many users are likely to be blissfully unaware that they might be surfing the internet with their real IP exposed when they think it is hidden behind the VPN.
Flashrouters App: Conclusion
- It’s the easiest way there is to setup a VPN on your router!
- Free for all supported Flashrouters routers
- A solid range of VPN services are supported
- Policy routing (split tunneling) for devices
- Policy routing for hosts
- Global kill switch (also acts as DNS leak protection)
- Fantastic support
We weren’t so sure about
- Policy routing for hosts doesn’t work for many sites where it would be most useful
- Users should be warned to enable the kill switch in order to ensure that no DNS leaks occur
- The kill witch was so unstable we had to disable it. Which also meant we lost DNS leak protection.
The Flashrouters DD-WRT app is by far the easiest way to use a VPN on a router. Period. And, the global kill switch exempted, it works well. Policy routing for hosts is also great in principle, if only we could find a website it works on that we want to use it for!
The problems we had with the kills switch are a complete bummer. We found it too unusable to actually use, a problem only compounded by the fact that we detected DNS leaks when the kill switch was not enabled.