SmoothWAN icon indicating copy to clipboard operation
SmoothWAN copied to clipboard

An OpenWrt flavor for internet bonding and seamless failover using Speedify with few extras.

Discord

Internet bonding router using Speedify

A router OS for easy bonding setup using Speedify as the main gateway with OpenWRT without command line usage.
Not affiliated with Speedify or Connectify.

Use cases:

  • Build a reliable internet access with seamless failover, lossless and usable1 single-flow speeds by bonding two or more connections, preferably a combination of wired and wireless with baseline ISP plans.
  • Cover all connected devices in a home network when it's not possible or practical to share a WAN per device running Speedify.
  • Backpack streaming setup.



Pi Update regarding router/AP section: It's advisable to turn off DHCP in router/AP settings and connect SmoothWAN to AP's LAN.
[1] Mainly for stability rather than complete aggregate speed


Quick setup using a smartphone Note: Slate AX is recommended for ease of use due to built in stable Wi-Fi adapters, no extra hardware is needed.
- Download and follow the instructions from "Releases" page.
- Connect your hardware in a similiar way to this example:

- The Pi/Slate is now broadcasting as a Wi-Fi access point for easy configuration, connect to "SmoothWAN Setup", password: "brassworld":

- Visit: http://172.17.17.2 there is no password set:


- You will be greeted with brief instructions in the UI, setup Speedify:

- Click "Trigger Install/Update":

- Click "View Log" tab, it will show "Speedify is installed" at the end of the log after few seconds:

- Head to Status->Overview:

- Speedify app is now installed, login:

- Setup a password for SmoothWAN admin page in System->Administration
- All done, enjoy a reliable internet.

  • Extra: to change the USB ports / WAN name, head to Interfaces->Multi-WAN USB:



  • Pi specifics:
    • Connect and configure a Wi-Fi AP/router if needed, the internal Wi-Fi of the Pi is unstable for general use, connect using RPi4's Ethernet port to a configured AP/router (more info):

    • After connecting your mobile over the Wi-Fi AP/router, head over to Network->Wireless and disable Pi's Wi-Fi:


Speedify observed details in Q4 2022
  • Relatively affordable and does not require setting up a server.
  • Includes optimization for non-livestreaming services.
  • Instant server region selection for region restricted services and multiple backup public servers.
  • Application aware conditioning: sensitive streams packets are duplicated across WANs and prioritized for VoIP, video calls, streaming, and games for seamless failover and lossless connectivity even when combining lossy WANs. While non-sensitive streams packets are aggregated across WANs for the speed of the total combined WANs, and bulk downloads using single sockets are aggregated. Sensitive streams are also aggregated with high quality sources.
  • Per WAN quality rating system that's based on jitter, latency, stability, and speed variations over a period of time to prevent an unstable WAN from impacting total aggregation performance. e.g WAN resume and suspend delay is increased on multiple failures, poor connections will be removed from aggregation and used for backup etc.
  • Per WAN VPN transport protocols for optimal connectivity when used with strict ISPs or poor middleboxes, used protocols: HTTPS(disguises as web browsing), UDP, TCP, TCP Multiple.
  • "TCP Multiple" transport protocol as known as parallel transfer sockets allows maximum speed to be achieved on high latency, lossy, and far region VPN servers (with loss based CCA host settings and out-of-order packets). Also circumvents poor ISP restrictions.
  • Quick packet aggregation weighing for largely asymmetric and heterogenous WANs. Slowly adapts to speed variations when using cellular/wireless.
  • Low out of order packet delivery on aggregation, needed for single socket TCP connection performance.
  • An option for using a WAN for speed boosts only and backup only mode, data consumption usage depends on primary WAN quality rating in backup mode for seamless failover.
  • Switching critical settings such as protocols, modes, and adding or removing WANs without disruption.
  • TCP transport modes with low RTT and low TCP-over-TCP overhead.

Platforms: Slate AX (easy), Raspberry Pi 4 / Pi 400, and 64-bit PC
Additional features:

  • Speedify 12.4 is now using ISP-lookup names, the following features in strike are currently inactive:
    • USB port agnostic for portable setups using persistent WAN configuration & ~~naming~~ by MAC-addr for USB Ethernet adapters, 4G USB dongles* (RNDIS, Pi/PC)
    • Preset configuration for USB Ethernet adapters and tethering devices for plug and play (Pi/PC) with ~~interface renaming~~.
  • Bypass Speedify with selective WAN for local devices/ports/domains using a PBR and/or Speedify's internal bypass with a LuCI app (Adaptive WAN selection: data caps etc)
  • Pi-hole installer for local home network adblocking (Pi/PC)
  • AdGuard Home pre-installed on Slate AX
  • Tailscale installer for easy remote access to connected devices in your home network
  • PnP mini-display support for displaying Speedify info (backpack streaming)
  • Basic wireless setup menu for easy configuration with optimized presets (WIP)

*NCM & QMI USB modems require manual configration instructed by ISP, setup in "Interfaces" page.

Use the discussions tab in Github for a forum-like discussion on networking configurations and Speedify topics, and issues tab for SmoothWAN related issues.
Interactive discussion hub is hosted at Discord linked top.
Libraries/Apps used are mentioned in Wiki.

Credits @: Github - d@: Discord - a@:anonymous
Donors(a-z):
@bt61 d@FloppyDisk @hle5128 d@mattmatt a@Max** d@pedro84 a@Ron** @tadgill d@sqlazer

Buy me maté 🧉