How to Run Speedify Headless on a Linux Server with the CLI

Run Speedify Headless on a Linux Server with the CLI

A Linux server rarely has a screen, a mouse, or a desktop, and it does not need any of them to run Speedify. Speedify runs fully headless, controlled entirely through the command-line interface, so a server can combine multiple internet connections and stay online through a dropped connection with nothing but an SSH session.

Speedify combines Wi-Fi, 4G/5G cellular, Ethernet, Starlink and satellite internet connections into one, and on a server that usually means combining two or more wired or cellular uplinks for redundancy and speed. Speedify’s technology for combining internet connections splits traffic across every uplink packet by packet, moves traffic to the remaining connections if one fails, and encrypts every connection. With only one uplink, Speedify works as an encrypted VPN and cannot make it faster or stop it from dropping.

Speedify runs on the router and bonds the connections for everything behind it

ETHERNET 4G/5G CELLULAR STARLINK SPEEDIFY TO EVERY DEVICE EVERY LINK THE SITE HAS ONE LINK FAILS FASTER UPLOADS AND DOWNLOADS THE NETWORK STAYS UP PHONES LAPTOPS SMART TVS EVERYTHING ELSE
RUNS ON
OPENWRT
GL.INET
MIRI X510
LINUX
RASPBERRY PI

How do I use WiFi and 4G/5G cellular at the same time with Speedify?

How Speedify bonds Wi-Fi and cellular connections

Pick your two internet connections and your device below and we'll take you to the step-by-step setup guide.

I want to combine…

Use the selectors below to find the setup guide for your exact combination of connections.

Or view articles for

Get started with Speedify today

Free to try on every device. No credit card required.

15M+ downloads worldwide · 75K+ five-star reviews · 500TB+ bonded per week

Desktop UI vs Headless CLI

Setup Speedify desktop UI Speedify headless CLI
Needs a display Yes No, runs over SSH
Package to install speedify plus speedifyui speedify only
How you control it Graphical interface speedify_cli commands
Best for Laptops and desktops Servers, containers, and embedded devices
Scriptable and automatable Limited Yes, including a Python API

How to Install Speedify on a Headless Linux Server

  1. Install Speedify from the terminal. Speedify supports Ubuntu 22.04 or later, Debian 11 or later and Raspberry Pi OS Bookworm or later. Run the install command from Speedify’s Linux installation guide. On a headless system you only need the core Speedify package, not the user-interface package. On a minimal system with only root access and no sudo, you can follow the manual install steps in the same guide.
  2. Confirm the background service is running. Speedify runs as a background service after installation, which is what the CLI talks to.
  3. Locate the CLI. On Linux the command-line tool lives at /usr/share/speedify/speedify_cli. See Speedify’s Linux CLI guide for details.

Sign In and Connect from the Command Line

With no interface, sign-in happens through the CLI. Running the login command returns an activation URL that you open in a browser on any device to finish signing in, after which the server stays signed in. Speedify on Linux needs a paid Speedify plan, since the free tier is not available on Linux. Once authenticated, a single connect command brings Speedify online, and a status check confirms the account and connection. The complete command reference, including how to connect to a specific server, set adapter priorities, and read connection stats, is in Speedify’s CLI usage guide.

Combine Internet Connections on a Linux Server

Speedify combines whatever uplinks a server has: two Ethernet ports, a wired connection plus a tethered cellular modem, or a main line plus a second internet connection. Each connection is managed through the CLI, where you can set a metered connection to Secondary, so Speedify uses it only when the Primary connections cannot keep up, or to Backup, so Speedify uses it only when the other connections fail. In the CLI, the Primary priority still goes by its old name, always. Speedify then spreads traffic across the active connections at the packet level and moves it to the remaining connections if one fails.

For a single-board example of the same idea, see Speedify’s guide to building a Raspberry Pi router that combines connections.

Automate Speedify with the Python API

Headless setups often want automation, and Speedify ships an official Python API for exactly that. Scripts can change settings, run speed tests, log connection stats, and react to connects and disconnects.

The package is on Speedify’s GitHub at github.com/speedify/speedify-py. For teams that need more control over where traffic exits, Speedify also offers dedicated and self-hosted servers.

Headless Speedify on Linux: FAQ

Can Speedify run without a desktop?
Yes. Speedify runs fully headless on Linux, controlled through the speedify_cli command-line tool over SSH. No display or desktop environment is required.

How do I sign in with no user interface?
The CLI login command returns an activation URL. Open it in a browser on any device to complete sign-in, and the server stays signed in.

Can I automate Speedify on a server?
Yes. Speedify offers an official Python API so scripts can control settings, run speed tests, and respond to connection events.

Does headless mode still combine connections and fail over?
Yes. Headless mode combines connections and fails over the same way as the desktop app, just without a graphical interface.

Speedify

Get started with Speedify today.

Speedify combines Wi-Fi, 4G/5G cellular, Ethernet, Starlink and satellite into one faster, more reliable internet connection. Free to try: 5 GB a month with a free account. No credit card required.

🚀 Speed

Faster uploads and downloads, because Speedify uses all your internet connections at once.

📶 Stability

If one internet connection drops, Speedify moves your traffic to the others in milliseconds.

🔒 Security

AES-256 encryption on every internet connection, on any network you join.

15M+ downloads worldwide. 75K+ five-star reviews on iOS and Android.