HomeDownload → Linux
Desktop LinuxKey in 1 minute

Installing and configuring Happ on Linux distributions

The Happ desktop client on Linux runs on the Xray core and provides a local proxy for the system and applications. Below: installation via AppImage or a package, connecting a subscription link from a Telegram bot, and setting up autostart.

Guide

How to connect Happ VPN on Linux

  1. Install the app

    Get Happ for Linux from an official source for your distro.

  2. Get a key

    Open the Telegram bot and activate access.

  3. Add the key

    Import the subscription link into the app.

  4. Turn on the connection

    Pick a server and enable the VPN.

Details

Installing Happ on Linux: AppImage and .deb

The Happ desktop build is distributed in the Releases section of the Happ-proxy repository on GitHub. For most distributions the universal AppImage format is more convenient — it requires no installation and runs from any folder. For the Debian and Ubuntu family there is a separate .deb package.

Download the latest file for your architecture (usually x86_64), make the AppImage executable, and then run it: `chmod +x Happ-x86_64.AppImage` and `./Happ-x86_64.AppImage`. For the .deb, use `sudo apt install ./happ_amd64.deb` — the package manager will pull in the dependencies itself.

If the AppImage does not start, the most common cause is a missing FUSE library. Install it with `sudo apt install libfuse2` (Debian/Ubuntu) or the equivalent for your distribution. As a workaround, the AppImage can be extracted and run directly: `./Happ-x86_64.AppImage --appimage-extract` and then `./squashfs-root/AppRun`.

Importing the subscription and configuration

Access to the servers is granted by the service's Telegram bot: there you activate a trial, paid, or official key and receive a subscription link in the form https://…/sub/…. This link contains an up-to-date list of servers and Xray parameters — there is no need to enter configs manually.

In the app, open the add-configuration screen, paste the subscription link, and save. Happ will load all available servers as a single list and will continue to update them via the same link. If the servers change or new locations are added, just tap the subscription refresh — no reinstallation is required.

If needed, you can also add a single configuration: copy the vless:// or ss:// string from the bot and paste it via import from the clipboard. The same key works on all devices, so the subscription for Linux, Windows, and mobile clients is identical.

Running proxy mode on the Xray core

After importing, select a server from the list and enable the connection. Happ brings up a local proxy (SOCKS and HTTP) on the Xray core and routes traffic through it. In system mode the client writes the proxy into the desktop environment settings, so browsers and most applications start working through the tunnel without additional configuration.

The local proxy port can be set manually in the app settings — this is handy when you need to route only a specific program into Happ. Enter the address 127.0.0.1 and the chosen port in your browser's proxy settings or in environment variables (for example, `export https_proxy=http://127.0.0.1:PORT`), and leave the rest of the traffic direct.

For fine-grained traffic separation, Happ has list-based routing and split tunneling — which domains and applications go through the proxy and which bypass it. A detailed breakdown of the rules and utility is covered in separate sections of the site, so as not to mix the basic installation with fine-tuning routes.

Autostarting Happ at system boot

To have the proxy come up automatically, add the client to your desktop environment's startup. Create the file `~/.config/autostart/happ.desktop` with the lines `[Desktop Entry]`, `Type=Application`, `Exec=/full/path/Happ-x86_64.AppImage`, and `X-GNOME-Autostart-enabled=true`. GNOME, KDE, and most environments will pick it up at the next login.

For a .deb installation, the autostart shortcut can be enabled directly in the app settings or through your environment's startup menu — the path to the executable is filled in automatically. After login, Happ minimizes to the system tray and is available from the icon next to the clock.

If you run Linux without a graphical shell, set up the launch as a systemd user service: place the unit in `~/.config/systemd/user/`, specify the path to the AppImage in `ExecStart`, and enable autostart with `systemctl --user enable --now happ.service`.

Checking the connection and troubleshooting

After connecting, verify that traffic goes through the server: open any IP-detection service — the address and country should match the selected location. If the IP stayed the same, make sure the system proxy is enabled and that the application is reading the correct local port.

In case of drops or slow speeds, switch the server in the subscription list — neighboring locations often provide a more stable route. Then refresh the subscription to get the current Xray parameters and restart the connection. Sometimes a local firewall gets in the way: allow Happ outbound connections in ufw or firewalld.

If the server list fails to load after updating the client, check the key's validity in the Telegram bot and that the subscription link is correct. Connection logs are available in the app itself and help distinguish a key problem from a network block.

Ready to connect?

Get your Happ VPN key in the Telegram bot — 3-day free trial, no card.

Get a key
FAQ

Frequently asked questions

How do I install Happ on Linux?

Download the latest build from the Releases section of the Happ-proxy repository on GitHub: AppImage for any distribution or .deb for Debian and Ubuntu. Make the AppImage executable with chmod +x and run it; install the .deb via sudo apt install ./file.deb. Then add the subscription link from the Telegram bot.

Where do I get the key and subscription for Linux?

The key and subscription link are issued by the service's Telegram bot — that is where you activate trial, paid, or official access. The link contains the list of servers and Xray parameters, and you paste it into the app once. The key is shared across all devices, so the subscription for Linux matches Windows and mobile clients.

The AppImage won't start — what should I do?

Most often the FUSE library is missing: install it with sudo apt install libfuse2 or the equivalent for your distribution. As a workaround, extract the image with ./Happ-x86_64.AppImage --appimage-extract and run ./squashfs-root/AppRun. Also make sure the file has the execute flag set via chmod +x.

How do I set up Happ autostart on Linux?

Create the file ~/.config/autostart/happ.desktop with a Desktop Entry and the path to the AppImage in the Exec line — GNOME and KDE will pick it up at login. For headless servers, set up a systemd user service in ~/.config/systemd/user/ and enable it with systemctl --user enable --now happ.service.

How do I route only one browser through Happ?

Enable the local proxy in the app settings and note the address 127.0.0.1 with the chosen port. Set this proxy in the specific browser's settings or in the https_proxy environment variable — then only that browser goes through the tunnel while the rest of the traffic stays direct. For domain-based routing, use split tunneling.

The connection is up, but the IP doesn't change — why?

Check that the system proxy is enabled and that the app is listening on the correct local port. Switch the server in the subscription list and refresh it to get the current parameters. If a local firewall is interfering, allow Happ outbound connections in ufw or firewalld, then restart the connection.

Not connecting? See Happ VPN not working. Need a key — the Keys page.