blog ·

Why we built another VPN client: Linux, Reality, and stability

VPN clients treat Linux as an afterthought — broken trays on Wayland, dependency hell, no Reality support. Here's what we built to fix that.

There are dozens of VPN clients. We built another one anyway, and this post explains why.

The problem: Linux is a second-class citizen

If you use modern proxy protocols on Linux, you know the routine. Nekoray works — until an Ubuntu update breaks it, and you're back to hunting library versions. v2rayA runs in a browser tab, which many people simply don't want. Hiddify's tray icon is a lottery depending on your desktop environment. Qv2ray is abandoned.

Meanwhile commercial clients like Mullvad and ProtonVPN are polished, but they don't support the protocols that actually matter in countries with deep packet inspection: VLESS with Reality, Hysteria2, TUIC.

So the people who need censorship-resistant protocols the most — often on Linux — have the worst tooling. That's the gap we set out to close.

What VibePN is

VibePN is a desktop VPN/proxy client for Windows, macOS, and Ubuntu/Debian. One GUI app, six protocols:

Protocol Transports Notes
VLESS TCP, WebSocket, gRPC Reality support, XTLS-Vision flow
VMess TCP, WebSocket, gRPC
Trojan TCP, WebSocket, gRPC
Shadowsocks TCP
Hysteria2 QUIC salamander obfuscation
TUIC QUIC congestion control: bbr / cubic / new_reno

Under the hood it's an embedded sing-box core — nothing to install separately. The UI is built with Tauri (Rust + React), which keeps the app light: under 3 seconds to start, under 100 MB of RAM.

What "first-class Linux support" actually means

Every client claims Linux support. Here's what we mean concretely:

  • A native .deb package — not an AppImage that breaks on missing system libraries
  • A tray icon that works on Wayland, across desktop environments
  • TUN mode without a password prompt on every connection — we use setcap and polkit, so you grant the capability once
  • Auto-start, auto-reconnect (5 attempts with exponential backoff), system theme support — the boring things that make a daily driver

Beyond the basics

For users who just want things to work: add a subscription link, click connect. Subscription formats: URL-list, Base64, sing-box JSON, SIP008. Auto-refresh, real-time ping, automatic best-server selection.

For power users: routing rules (Global / Direct / Rules modes), custom rules by domain or IP CIDR, preset rulesets, DNS management with hijack support, traffic statistics, connection logs, and a JSON diagnostics report when something goes wrong.

The app ships in 15 languages, including Russian, Azerbaijani, Belarusian, Kazakh, Tajik, and Uzbek.

An honest note on the source model

VibePN is free to use, but the app is closed-source. We know that matters to part of this audience, and we'd rather say it plainly than have you discover it in a Reddit thread. What we commit to instead: no telemetry, a public changelog for every release, monthly public stability reports with reproducible methodology, and responsive support.

And since the next question is always "how do you make money": the core client is free and stays free. We accept donations, and we plan optional paid add-on features later. No telemetry, no selling data.

What's next

  • Flatpak, Snap and AUR packaging — installing from your distro's native channel
  • A browser extension to control the client without leaving the browser
  • Local data encryption and an app password lock for shared machines

Download VibePN for Windows, macOS, or Ubuntu at vibepn.app. Questions and bug reports: Telegram.

Try VibePN

Free client for Windows, macOS, and Ubuntu/Debian. No telemetry, no accounts.

Download VibePNJoin us on Telegram