Create a peer-to-peer encrypted network between your devices instantly.
GitHub RepoImpressions2.4k

Create a peer-to-peer encrypted network between your devices instantly.

@githubprojectsPost Author

Project Description

View on GitHub

EasyTier: Your Instant, Encrypted Device Network

Ever needed to connect two of your own devices directly, like linking a laptop to a home server, but got tangled in port forwarding, firewall rules, or VPN configs? Or maybe you wanted a secure, temporary channel to share files between a phone and a desktop without uploading to the cloud. Setting up a private network between your own machines shouldn't feel like a sysadmin certification exam.

What if you could create a secure, peer-to-peer encrypted tunnel between your devices with a single command? That's the promise of EasyTier.

What It Does

EasyTier is a command-line tool that creates a virtual Layer 2 (Ethernet) network between your devices over the internet. It uses peer-to-peer NAT traversal techniques (like STUN, TURN, and ICE) to establish direct connections where possible, falling back to relays only when necessary. Once connected, your devices behave as if they're on the same local network, with all traffic automatically encrypted.

Think of it as a zero-configuration, personal WireGuard mesh that you can spin up in seconds.

Why It's Cool

The clever part is in the setup—or lack thereof. EasyTier handles the hard parts for you:

  • No Central Server (Mostly): It uses a public signaling server only to help the devices find each other initially. After the handshake, data flows directly between your peers (P2P) or through a lightweight relay if a direct path is blocked. The signaling server never sees your encrypted data.
  • True Layer 2 Bridging: It creates a virtual tap device, meaning it can carry any Ethernet frame. This isn't just for TCP/UDP traffic; it can theoretically handle protocols like ARP or even IPX if you're feeling nostalgic. In practice, it means it works seamlessly with standard IP tools.
  • It's Just a Binary: Written in Go, it's a single, self-contained executable. No lengthy service setup, no complex configuration files to manage. You generate a shared "room token," and any device with that token can join the private network.
  • Practical Use Cases: Securely access your home Raspberry Pi from a coffee shop, play a LAN-only multiplayer game with a friend, or create a quick ad-hoc network for a development cluster. It's a Swiss Army knife for device connectivity.

How to Try It

Getting started is straightforward. You'll need two or more machines.

  1. Download: Grab the latest binary for your OS from the EasyTier GitHub Releases page.
  2. Generate a Token: On your first machine, run:
    ./easytier-linux-amd64 -gen-pass
    
    This outputs a token. This is your shared network key. Copy it.
  3. Join the Network: On the same machine, start the client with a unique name and your token:
    sudo ./easytier-linux-amd64 -name my-laptop -pass YOUR_TOKEN_HERE
    
    On your second device (e.g., a server), do the same but give it a different name:
    sudo ./easytier-linux-amd64 -name my-server -pass YOUR_TOKEN_HERE
    
  4. Connect: That's it. The clients will signal each other, establish a connection, and print the virtual IP addresses (from the 10.0.0.0/24 range) assigned to each peer. You can now ping or SSH between devices using those IPs.

Check the project's README for more detailed options and examples.

Final Thoughts

EasyTier feels like a tool that solves a specific, recurring problem with elegant simplicity. It's not trying to be a full-fledged corporate SD-WAN. Instead, it's a utility belt item for developers and tinkerers who need instant, encrypted connectivity without the overhead.

The source is available, so you can see how the NAT traversal magic works or even host your own signaling server for complete control. For quick prototypes, remote debugging, or just creating a personal cloud between your devices, it's definitely worth a few minutes of your time to try. It turns a complex networking chore into a simple, one-liner solution.


@githubprojects

Back to Projects
Project ID: b3ae8041-eb3d-4982-9916-f37f05377111Last updated: February 11, 2026 at 11:14 AM