Skip to content
/ desktop Public

VPN.ht Desktop Application for Windows and Mac OS X built on top of Electron

Notifications You must be signed in to change notification settings

VPNht/desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

42 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

VPNht Desktop Client v1.0.0

VPNht Logo

A modern, secure VPN client built with Tauri + React + Rust

Build Status Security Audit License

๐Ÿ“ฅ Download โ€ข ๐Ÿ“– Docs โ€ข ๐Ÿ› Bug Reports โ€ข ๐Ÿ’ฌ Discussions

๐Ÿ“ธ Screenshots

Dark Mode Light Mode Server Map
Dark Light Map

โœจ Features

Core Features

  • ๐Ÿ” Secure Authentication - Login/signup with secure token storage using OS keychain
  • ๐ŸŒ 73 VPN Servers - Global server network with real-time latency testing
  • ๐Ÿ—บ๏ธ Interactive Map - MapLibre-powered server map with click-to-connect
  • โšก WireGuard Support - Fast, modern VPN protocol with ChaCha20-Poly1305 encryption
  • ๐Ÿ›ก๏ธ Kill Switch - Protect your connection if VPN drops
  • ๐Ÿ”’ DNS Leak Protection - Prevent DNS leaks with custom DNS support
  • ๐ŸŒ™ Dark Mode - Beautiful dark UI with system preference detection

Production Features

  • โœ… Code Signed - Signed binaries for Windows, macOS, and Linux
  • โœ… Auto Updates - Automatic updates with signature verification
  • โœ… Multi-language - 11 languages including RTL (Arabic, Hebrew)
  • โœ… Accessible - WCAG 2.1 AA compliant with screen reader support
  • โœ… Cross-platform - Native apps for Windows, macOS, and Linux

Privacy Features

  • ๐Ÿšซ No Logs Policy - We don't track or log your activity
  • ๐Ÿ”’ Encrypted Storage - OS-level secure storage for credentials
  • ๐Ÿ•ต๏ธ IP Leak Protection - IPv6 blocking and comprehensive leak tests
  • ๐Ÿ›ก๏ธ Audit Verified - Passed independent security audit

๐Ÿš€ Quick Start

Download

Download the latest release for your platform:

Platform Download Requirements
macOS (Intel) DMG macOS 10.15+
macOS (Apple Silicon) DMG macOS 11+
Windows MSI Windows 10+
Linux AppImage Ubuntu 20.04+

Development

# Clone the repository
git clone https://github.com/VPNht/desktop.git
cd desktop

# Install dependencies
npm install

# Run development server
npm run tauri:dev

# Build for production
npm run tauri:build

Platform-Specific Setup

macOS

# Install dependencies
brew install wireguard-tools

# For code signing (maintainers only)
security import developer_id.cer

Linux (Ubuntu/Debian)

sudo apt-get update
sudo apt-get install -y \
  libwebkit2gtk-4.0-dev \
  build-essential \
  curl \
  wget \
  file \
  libssl-dev \
  libgtk-3-dev \
  libayatana-appindicator3-dev \
  librsvg2-dev \
  wireguard \
  wireguard-tools

Windows

# Install Visual Studio Build Tools with C++ workload
# WireGuard is bundled with the installer

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      VPNht Desktop                          โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚    Frontend         โ”‚         Backend (Tauri/Rust)           โ”‚
โ”‚    (React + TS)     โ”‚                                        โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                        โ”‚
โ”‚ โ”‚  React UI     โ”‚   โ”‚   โ”‚ Commands โ”‚ โ—„โ”€โ”€ IPC Channel        โ”‚
โ”‚ โ”‚  Components   โ”‚โ—„โ”€โ”€โ”ผโ”€โ”€โ”€โ”ค          โ”‚                        โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                        โ”‚
โ”‚                     โ”‚        โ”‚                              โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚ โ”‚  State Mgmt   โ”‚   โ”‚   โ”‚ VPN Mgmt โ”‚โ—„โ”€โ”€โ–บโ”‚ WireGuard  โ”‚   โ”‚
โ”‚ โ”‚  (Zustand)    โ”‚   โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚        โ”‚                              โ”‚
โ”‚                     โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚   โ”‚ Storage  โ”‚โ—„โ”€โ”€โ–บโ”‚ OS Keychain  โ”‚   โ”‚
โ”‚ โ”‚  i18n         โ”‚   โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚ โ”‚  (11 langs)   โ”‚   โ”‚                                      โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚                     โ”‚   โ”‚ API      โ”‚โ—„โ”€โ”€โ–บโ”‚ GraphQL API  โ”‚   โ”‚
โ”‚                     โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ› ๏ธ Tech Stack

Layer Technology
Frontend React 18, TypeScript, Tailwind CSS
State Zustand with Immer
Forms React Hook Form + Zod
Maps MapLibre GL JS
i18n i18next + react-i18next
Backend Rust, Tauri 1.5
VPN WireGuard (kernel module)
Storage keyring-rs
Build Vite, Tauri CLI

๐Ÿงช Testing

# Frontend tests
npm test

# Rust tests
cd src-tauri && cargo test

# E2E tests
npm run test:e2e

# Linting
npm run lint
cd src-tauri && cargo clippy

# Security audit
cd src-tauri && cargo audit
npm audit

๐Ÿ“ Project Structure

desktop/
โ”œโ”€โ”€ .github/
โ”‚   โ”œโ”€โ”€ workflows/          # CI/CD workflows
โ”‚   โ”œโ”€โ”€ ISSUE_TEMPLATE/     # Issue templates
โ”‚   โ””โ”€โ”€ dependabot.yml      # Dependency updates
โ”œโ”€โ”€ src/                    # Frontend source
โ”‚   โ”œโ”€โ”€ components/         # React components
โ”‚   โ”œโ”€โ”€ pages/              # Page components
โ”‚   โ”œโ”€โ”€ hooks/              # Custom React hooks
โ”‚   โ”œโ”€โ”€ stores/             # Zustand stores
โ”‚   โ”œโ”€โ”€ i18n/               # Internationalization
โ”‚   โ”‚   โ””โ”€โ”€ locales/        # Translation files (11 languages)
โ”‚   โ”œโ”€โ”€ utils/              # Utility functions
โ”‚   โ””โ”€โ”€ App.tsx             # App entry point
โ”œโ”€โ”€ src-tauri/              # Rust backend
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ main.rs         # Tauri entry
โ”‚       โ”œโ”€โ”€ commands.rs     # IPC commands
โ”‚       โ”œโ”€โ”€ vpn.rs          # VPN management
โ”‚       โ”œโ”€โ”€ storage.rs      # Secure storage
โ”‚       โ””โ”€โ”€ config.rs       # Configuration
โ”œโ”€โ”€ tests/                  # Test files
โ”œโ”€โ”€ docs/                   # Documentation
โ””โ”€โ”€ README.md               # This file

๐Ÿ”’ Security

Security is our top priority. See our Security Policy and Security Audit Report.

Security Features

  • โœ… Signed binaries (Windows: Authenticode, macOS: Developer ID, Linux: GPG)
  • โœ… Automatic updates with Ed25519 signature verification
  • โœ… Hardware-backed credential storage
  • โœ… CSP protection against XSS
  • โœ… Memory-safe Rust backend
  • โœ… Regular dependency auditing (Dependabot + cargo-audit)

Reporting Vulnerabilities

Please report security vulnerabilities to security@vpnht.com. See SECURITY.md for details.

๐ŸŒ Internationalization

Supported languages:

Language Code Status
๐Ÿ‡บ๐Ÿ‡ธ English en โœ… Complete
๐Ÿ‡ซ๐Ÿ‡ท French fr โœ… Complete
๐Ÿ‡ฉ๐Ÿ‡ช German de โœ… Complete
๐Ÿ‡ช๐Ÿ‡ธ Spanish es โœ… Complete
๐Ÿ‡ต๐Ÿ‡น Portuguese pt โœ… Complete
๐Ÿ‡ง๐Ÿ‡ฌ Bulgarian bg โœ… Complete
๐Ÿ‡จ๐Ÿ‡ณ Chinese zh โœ… Complete
๐Ÿ‡ฏ๐Ÿ‡ต Japanese ja โœ… Complete
๐Ÿ‡ท๐Ÿ‡บ Russian ru โœ… Complete
๐Ÿ‡ธ๐Ÿ‡ฆ Arabic ar โœ… Complete (RTL)
๐Ÿ‡ฎ๐Ÿ‡ฑ Hebrew he โœ… Complete (RTL)

๐Ÿค Contributing

We welcome contributions! Please read our Contributing Guide and Code of Conduct.

Quick Start

  1. Fork the repository
  2. Create a feature branch: git checkout -b feat/amazing-feature
  3. Commit your changes: git commit -m 'feat: add amazing feature'
  4. Push to the branch: git push origin feat/amazing-feature
  5. Open a Pull Request

๐Ÿ“Š CI/CD

Our GitHub Actions workflows:

  • Build - Multi-platform builds on every push
  • Test - Frontend (Vitest) and backend (Rust) tests
  • Security - Automated security scanning
  • Release - Signed releases with auto-updates

See .github/workflows for details.

๐Ÿ“„ License

Copyright ยฉ 2024 VPNht. All rights reserved.

This project is proprietary and confidential. See LICENSE for details.

๐Ÿ™ Acknowledgments


Website โ€ข Support โ€ข Twitter

About

VPN.ht Desktop Application for Windows and Mac OS X built on top of Electron

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages