Speedify Review (Ubuntu Linux GUI)

Seamless failovers — albeit on a device-level centric platform

For the past couple of months, I’ve been making various tweaks to my home networking setup in order to not just improve our weak ISP connectivity but also create a truly business-grade highly-stable connection that can serve me for years into the future.

If you want to read about all my adventures — and the differences between bonding, load balancing, and simple failover — then feel free to check out the list I aggregated:

What I discovered is roughly as follows:

It’s relatively easy to purchase a wired internet router to manage multiple internet connectivity sources (WANs). (Look among the following product categories: load balancing routers, wired routers, business routers; or look for products by Cisco, Draytek, TP-Link, Ubiqui and MikroTik).

My TP-Link load balancer handles “real” failover events flawlessly, shifting connectivity onto my 4G cellular backup line and then bringing it back once my ISP connection has recovered.

However, there have been two flaws in terms of how it has performed in the month that has gone by since I first set it up:

The system didn’t perform very well during those days when my ISP line was struggling under the demands of increased demand — weekends for instance — and when it wasn’t offline but rather intermittently useful.

  • The TP-Link load balancer also didn’t know how to distinguish between a connection that was weak and one that was offline.
  • Failover — from ISP to cellular and back — consistently took about 30 seconds. I attribute this to delays at the application layer. Programs — like web browsers — aren’t used to flicking back and forth between connectivity sources.

When I bonded my connections using Speedify, the program effectively solved all these issues:

  • Failover events are effectively instantaneous. Speedify describes these as “seamless” and they truly are. Once multiple connections are bonded into one pipe, applications are able to avail of the sustained connectivity without any interruption whatsoever.
  • The system did a much better job at providing sustained connectivity during those “bad internet” days when my ISP’s connection was coming in and out. By configuring my cellular failover line as both a failover WAN and a secondary “booster” I was able to not only rely upon the 4G line for failover, I was able to use its bandwidth to supplement my ISP line.

Speedify however brings with it a couple of drawbacks:

  • Its main intended use case seems to be as a device level program. Speedify will run on an Ubuntu router or on Raspberry Pi OS but it doesn’t currently support Open-WRT or DD-WRT.
  • Because true channel bonding requires provisioning a hardware appliance in the cloud to order packets, using Speedify means entrusting your data protection, to an extent, to a third party. I’ve made the point before that no VPN — or anybody you can’t directly audit! — can be considered totally trustworthy.

More pragmatically, when connecting through Speedify, I experience some of the typical behaviors that can be expected when using a VPN. Reddit began throwing up post-rate limits. Google began showing me suspicious activity interstitials. And I wouldn’t be surprised if Netflix began rejecting connection attempts via Speedify down the line.

On the positive side, the Ubuntu GUI worked perfectly and integrated seamlessly with network manager. As soon as I brought connections up they appeared in the GUI and vice versa.

Bonding my ISP connection with my cellular router. Screenshot: author.
Speedify lets you use your connection sources in multiple ways. For instance, you can use a server for failover only or configure it to both handle failover and provide a bandwidth increase during normal operation. Screenshot: author.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Daniel Rosehill

Daytime: writing for other people. Nighttime: writing for me. Or the other way round. Enjoys: Linux, tech, beer, random things. https://www.danielrosehill.com