Menu / Docs Navigation

Building from Source

A zero-knowledge privacy network inherently cannot operate on trust. We open source our interfaces, our routing daemon, and our mesh networking topologies.

Prerequisites

Before attempting to compile the desktop client or the network daemon, ensure your build environment contains the following tools:

  • Rust and Cargo (Stable Toolchain)
  • Node.js (v18+)
  • gcc or clang (C Compiler for native dependencies)
  • Tauri Prerequisites (libwebkit2gtk-4.1-dev on Linux, MSVC C++ build tools on Windows)

Compiling the Desktop Client

The Tunnely desktop client is a standard Tauri application. The frontend UI is written in Next.js/React, which invokes the local Rust IPC bindings to control the underlying daemon.

# 1. Clone the repository
git clone https://github.com/tunnely/tunnely-client.git
cd tunnely-client/client-app

# 2. Install JavaScript UI dependencies
npm install

# 3. Build and launch the development GUI
npm run tauri dev

To produce a signed release executable for your specific OS (e.g. an .msi or .dmg), execute the build pipeline:

npm run tauri build

Compiling the Relay Server

If you wish to audit the mesh networking protocol or inspect the cryptographic endpoints, you must compile the headless relay-server.

# 1. Clone the repository
git clone https://github.com/tunnely/tunnely-relay.git
cd tunnely-relay/relay-core

# 2. Compile the optimized release binary
cargo build --release

# 3. The executable will be deposited in target/release/
./target/release/tunnely-relay --help