ImranM847 / SmoothWAN

Internet bonding router with seamless failover using Speedify

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 case:

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



Quick Setup with a Raspberry Pi 4 using a smartphone
  • Download and follow the instructions from "Releases" page to setup the microSD card.
  • Insert the micro SD card and power up the Pi.
  • Connect your hardware in a similiar way to this example using USB ethernet adapters:

  • The Pi 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:

  • Connect and configure a Wi-Fi AP/router if needed, the internal Wi-Fi of the Pi is poor 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 (Basic) and disable Pi's Wi-Fi:


  • 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:



Speedify solutions in Q2 2022
  • Relatively affordable and does not require setting up a server.
  • Includes optimization for non-streaming services.
  • Instant server region selection for region restricted services and multiple backup public servers.
  • SDN VPN: By having one exit IP address, connected network sessions are uninterrupted and implements flow control: 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 similiar to threaded download managers 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.
  • No 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 implements pacing for low RTT and low TCP-over-TCP overhead.

Platforms: Raspberry Pi 4(~250Mbit chacha20), and 64-bit PC
Additional features:

  • USB port agnostic for portable setups using persistent WAN configuration by MAC-addr for USB Ethernet adapters, 4G USB dongles* (RNDIS)
  • Preset configuration for USB Ethernet adapters and tethering devices for plug and play (Raspberry Pi 4/NanoPi R4S) with interface renaming.
  • Bypass Speedify with selective WAN for local devices/ports/domains using a modified-VPNBypass build
  • Pi-hole installer for local home network adblocking
  • Tailscale installer for easy remote access to connected devices in your home network
  • PnP 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 are mentioned per release.

Buy me maté 🧉

About

Internet bonding router with seamless failover using Speedify

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:CSS 66.6%Language:Shell 18.5%Language:Lua 7.7%Language:HTML 7.2%