Skip to content

qdev0/HyprConnect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HyprConnect

A GUI application for managing Open VPN connections and DNS settings on Linux systems.

Features

  • Multi-Config VPN Management: Store and switch between multiple OpenVPN configurations
  • Real-time Metrics: Monitor connection status, network speeds, and latency
  • DNS Provider Switching: Quick switching between custom DNS servers
  • Secure Credential Storage: Uses system keyring for safe password storage
  • System Tray Integration: Runs minimized to system tray with VPN toggle and quick access

Tech Stack

  • Frontend: Svelte + Vite
  • Backend: Rust with Tauri framework
  • System Integration: SystemD (resolved, networkd), OpenVPN
  • Security: libsecret keyring integration

Quick Start

# Install dependencies
sudo pacman -S rustup nodejs npm openvpn libsecret webkit2gtk

# Setup Rust
rustup default stable

# Clone and run
git clone <repo>
cd HyprConnect
npm install
npm run tauri:dev

Installation

From Pre-built Packages

After building with npm run tauri:build, install the generated packages:

Arch Linux / Manjaro:

# The RPM package may have metadata issues with pacman
# Install the binary directly instead:
sudo cp src-tauri/target/release/hyprconnect /usr/local/bin/

# Create desktop entry for application launchers (walker, rofi, etc.)
cat > ~/.local/share/applications/hyprconnect.desktop << 'EOF'
[Desktop Entry]
Name=HyprConnect
Comment=VPN and DNS management for Hyprland
Exec=/usr/local/bin/hyprconnect
Icon=network-vpn
Type=Application
Categories=Network;System;
Terminal=false
StartupNotify=true
EOF

# Update desktop database
update-desktop-database ~/.local/share/applications

Debian / Ubuntu:

sudo dpkg -i src-tauri/target/release/bundle/deb/HyprConnect_0.1.0_amd64.deb
sudo apt-get install -f  # Fix any missing dependencies

Required Dependencies:

  • Arch: sudo pacman -S openvpn libsecret webkit2gtk-4.1
  • Debian: sudo apt install openvpn libsecret-1-0 libwebkit2gtk-4.1-0

Build from Source

npm run tauri:build

Generates DEB and RPM packages in src-tauri/target/release/bundle/

Usage

  1. Setup: Enter sudo password (stored securely in keyring)
  2. Add VPN Configs: Click "Manage Configs" to add multiple .ovpn files with custom names
  3. Select & Connect: Choose a config and toggle VPN connection
  4. DNS Management: Switch DNS providers as needed
  5. System Tray: Close window to minimize to tray; right-click tray icon for quick VPN toggle

Requirements

  • Linux with SystemD
  • OpenVPN installed
  • System keyring (libsecret/gnome-keyring)

Waybar Integration

For Waybar users, see docs/waybar/ for configuration files to add VPN status and toggle to your status bar.

Screenshots

Sudo Password Component VPN Status and Controls DNS Provider Selection

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors