EasyTier: A Decentralized Mesh VPN Solution Built with Rust

EasyTier: A Decentralized Mesh VPN Solution Built with Rust

Summary

EasyTier is an open-source, decentralized mesh VPN solution written in Rust, offering secure and efficient peer-to-peer network connectivity. It provides robust features like NAT traversal, intelligent routing, and WireGuard integration, making it a versatile tool for creating private networks. With cross-platform support and multiple installation options, EasyTier simplifies secure communication across various devices.

Repository Info

Updated on November 10, 2025
View on GitHub

Tags

Click on any tag to explore related repositories

Introduction

EasyTier is a powerful, decentralized mesh VPN built with Rust, designed to simplify secure network connectivity. It enables users to create private, peer-to-peer networks without relying on centralized servers, offering a robust alternative to traditional VPNs. With its focus on security, performance, and ease of use, EasyTier supports a wide range of platforms and network configurations.

Installation

Getting started with EasyTier is straightforward, with several installation methods available to suit different environments. The recommended approach is to download pre-built binaries from the official GitHub releases page.

Other convenient installation options include:

  • Cargo:
    cargo install --git https://github.com/EasyTier/EasyTier.git easytier
  • Docker: Refer to the official documentation for details.
  • Linux Quick Install:
    wget -O- https://raw.githubusercontent.com/EasyTier/EasyTier/main/script/install.sh | sudo bash -s install
  • macOS Homebrew:
    brew tap brewforge/chinese && brew install --cask easytier-gui
  • OpenWrt Luci Web UI: Available via luci-app-easytier.

For comprehensive installation instructions and platform-specific guides, consult the Full Documentation.

Examples

EasyTier offers flexible networking options, from quick setups using shared nodes to fully decentralized deployments.

Quick Networking with Shared Nodes

For users without a public IP, EasyTier provides community-shared public nodes. Nodes automatically attempt NAT traversal, falling back to relaying data through shared nodes if P2P fails.

To connect two nodes using a shared public node (e.g., tcp://public.easytier.cn:11010):

Node A:

sudo easytier-core -d --network-name abc --network-secret abc -p tcp://public.easytier.cn:11010

Node B:

sudo easytier-core -d --network-name abc --network-secret abc -p tcp://public.easytier.cn:11010

Verify connectivity with easytier-cli peer and ping 10.126.126.1 (or .2). For improved availability, connect to multiple shared nodes.

Decentralized Networking

EasyTier's core design is decentralized, meaning any device capable of communicating with another node can join the virtual network.

  1. Start First Node (Node A):
    sudo easytier-core -i 10.144.144.1

    This node will listen on default ports like TCP/UDP 11010.

  2. Connect Second Node (Node B):
    sudo easytier-core -i 10.144.144.2 -p udp://FIRST_NODE_PUBLIC_IP:11010

    Replace FIRST_NODE_PUBLIC_IP with Node A's public IP.

More nodes can join by connecting to any existing node in the network.

Advanced Features

EasyTier also includes advanced capabilities such as:

  • Subnet Proxy: Share local subnets with other nodes in the EasyTier network.
  • WireGuard Integration: Act as a WireGuard server, allowing WireGuard clients (iOS, Android, etc.) to access the EasyTier network.
  • Self-Hosted Public Shared Node: Run your own shared node to facilitate discovery for other networks.

Why Use EasyTier?

EasyTier stands out for several compelling reasons:

  • Decentralized and Secure: Nodes are independent, eliminating single points of failure and enhancing security with AES-GCM or WireGuard encryption.
  • High Performance: Built with Rust, it features zero-copy throughout the link and supports various protocols for optimal speed.
  • Efficient NAT Traversal: Advanced capabilities for UDP and IPv6 traversal ensure connectivity even in complex NAT environments.
  • Cross-Platform Support: Available on Windows, macOS, Linux, FreeBSD, Android, and various architectures (X86, ARM, MIPS).
  • Easy to Use: Multiple interfaces including web, client, and command line, along with zero-config deployment.
  • Intelligent Routing: Automatically selects the best route based on latency for a superior network experience.

Links