Free VPN for Linux — FreeGuard CLI (no GUI client today)
FreeGuard for Linux ships as a CLI tool only, no desktop GUI. Install via our install script, Homebrew, or GitHub Releases. x86_64 and arm64 supported.
On Linux, FreeGuard ships as a CLI tool only. There is no Linux GUI client today. Install via our install script, Homebrew, or grab a binary from GitHub Releases. Works on x86_64 and arm64 distros.
Linux Availability: CLI Only, No GUI Today
Our Linux offering is a Go-based command-line client built on the mihomo core. We do not publish a Linux desktop GUI at this time. If you want a GUI, use the Windows or Mac app.
FreeGuard’s Linux client is the freeguard CLI, distributed as a single binary for major x86_64 and arm64 Linux distributions. It handles login, node selection, connection, routing rules, and autostart — all from the terminal.
We currently do not ship a Linux desktop GUI. If you need a desktop UI, the FreeGuard Windows or Mac apps are the options.
How You Actually Install FreeGuard on Linux
Three supported install paths: our install script, Homebrew, or GitHub Releases. There are no official apt, dnf, or pacman repositories.
Install script (recommended):
curl -fsSL https://downloadcli.freeguardvpn.com/cli/install.sh | sh
Homebrew:
brew install planetlinkinc/tap/freeguardvpn
Direct binary: download the release artifact for your architecture from GitHub Releases.
We do not publish .deb, .rpm, or Arch packages through distribution repositories, and there is no apt install freeguard / dnf install freeguard / pacman -S freeguard entry in any upstream repo.
Features That Actually Ship in the Linux CLI
- Protocols: anytls, hysteria2, trojan — configurable via
freeguard config - Node selection:
freeguard connect <alias>(e.g.freeguard connect la2,hk1) or automatic “best node” mode - Routing rules:
freeguard rulesubcommand for adding and listing custom routing rules - Autostart:
freeguard autostart enableinstalls a systemd user service at~/.config/systemd/user/freeguard.service(no root daemon required) - Diagnostics:
freeguard doctorchecks your environment - Status/monitor:
freeguard statusandfreeguard monitorfor live connection info
A separate desktop kill-switch toggle and per-app split tunneling are not exposed as CLI commands.
How to Get Started
- Step 1: Run
curl -fsSL https://downloadcli.freeguardvpn.com/cli/install.sh | sh - Step 2: Run
freeguard initand log in with your free account - Step 3: Run
freeguard connect(orfreeguard connect la2etc. for a specific node)
Frequently Asked Questions
Does FreeGuard have a Linux GUI application?
No. The Linux offering today is the freeguard CLI only. There is no desktop GUI on Linux. If you want a GUI, use the Windows or Mac app.
Can I install FreeGuard from my distribution’s package manager?
Not from the official distribution repos. Use our install script (install.sh), Homebrew, or download a binary from GitHub Releases. We do not currently publish to apt, dnf, pacman, or the AUR.
Does the CLI work on headless servers and Docker?
Yes. The CLI is a single Go binary with no GUI dependencies. It runs in SSH sessions, inside containers, and on minimal base images, provided the container has the network capabilities it needs to create a TUN device.
Can I start FreeGuard automatically at boot?
Yes. freeguard autostart enable installs a systemd user service at ~/.config/systemd/user/freeguard.service. It runs under your user, not as a root daemon.
Which architectures are supported?
x86_64 and arm64 Linux. Releases for both are published on GitHub Releases and served through the install script.
Which Linux distributions are supported?
Any modern Linux with a recent kernel is expected to work because the CLI ships as a single self-contained binary. We test primarily on Ubuntu and Debian.
Does the Linux CLI support the same protocols as the desktop apps?
Yes. anytls, hysteria2, and trojan are all supported in the CLI, with the same underlying mihomo core used by the Windows and Mac apps.
How do I uninstall the CLI?
If installed via the install script, remove the freeguard binary from /usr/local/bin (or your install prefix) and delete ~/.config/freeguard. For Homebrew, run brew uninstall freeguardvpn. For the systemd user service, run freeguard autostart disable first.
FreeGuard respects all applicable laws. Users are responsible for ensuring their use of VPN services complies with local laws and the terms of service of third-party platforms. FreeGuard does not encourage or endorse any activity that violates applicable laws or terms of service.