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+)
gccor 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