Skip to content

SurfShield/leaf-desktop

 
 

Repository files navigation

Leaf VPN Desktop Client

Leaf VPN

Quick Links

📦 Download Latest Version

Leaf VPN is a cross-platform desktop VPN client built with Tauri, Vue 3, and the leaf-sdk for secure and private internet access. This application provides a user-friendly interface for managing VPN connections through the powerful Leaf proxy engine.

Features

  • Simple, Intuitive Interface - Easy-to-use dashboard for managing your VPN connections
  • Cross-Platform Support - Works on Windows, macOS, and Linux
  • Subscription Management - Easily update and manage your VPN subscription
  • Multiple Outbound Connections - Choose from available outbound servers
  • Auto-Reload Capability - Automatically reconnect when network changes
  • Deep Linking Support - Direct subscription integration via leafvpn:// protocol
  • Automatic Updates - Stay current with the latest features and security patches
  • Traffic Monitoring - Track your VPN usage
  • IPv6 Support - Full IPv6 compatibility with toggle options
  • Customizable Settings - Adjust network preferences, logging options, and more

System Requirements

  • Windows: Windows 10 or newer
  • macOS: macOS 10.15 (Catalina) or newer
  • Linux: Most modern distributions with libwebkit2gtk support

Development

This project is built using the following technologies:

  • Tauri - Lightweight, secure desktop application framework
  • Vue 3 - Progressive JavaScript framework
  • TypeScript - Typed JavaScript
  • Tailwind CSS - Utility-first CSS framework
  • Rust - Backend implementation language
  • Leaf SDK - VPN client implementation

Project Structure

  • src/ - Vue frontend application
    • api/ - API client interfaces
    • components/ - Reusable Vue components
    • page/ - Main application screens
    • store/ - State management using Pinia
    • types/ - TypeScript type definitions
  • src-tauri/ - Rust backend application
    • src/ - Rust source code
    • bin/ - Binary executables for the Leaf IPC service

Setup for Development

Prerequisites

  • Node.js (v16 or newer)
  • Yarn
  • Rust toolchain (rustc, cargo)
  • Platform-specific build dependencies for Tauri

Cargo Registry Configuration

This project uses a custom Cargo registry for accessing leaf-sdk and other dependencies. Create a config.toml file in your Cargo directory with:

[registries.kellnr]
index = "sparse+https://cargo.surfshield.org/api/v1/crates/"
credential-provider = ["cargo:token"]

Installation Steps

  1. Clone the repository
  2. Install dependencies:
    yarn install
  3. Run the development server:
    yarn tauri dev

Building for Production

To create a production build:

yarn tauri build

This will generate platform-specific installers in the src-tauri/target/release/bundle directory.

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Copyright (c) 2025 Shiroe Dev shiroedev@proton.me and the Apache Software Foundation

Acknowledgements

  • Leaf Proxy - The underlying proxy engine
  • Tauri - For providing a secure, lightweight desktop application framework
  • All the amazing open-source libraries that make this project possible

About

A simple tauri GUI for leaf proxy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Vue 44.7%
  • TypeScript 29.7%
  • Rust 17.3%
  • JavaScript 8.1%
  • Other 0.2%