v0.7.x

TUNNELD

A SUBNET IN YOUR POCKET.

Turn any ARM64 SBC into a Zero Trust Gateway. Tunneld bridges WiFi and Ethernet to build a secure private subnet accessible by identity — no open ports or exposed IPs required.

Copied!
$ curl -fsSL https://install.tunneld.sh | sudo bash
PROBLEM_01

Public Exposure

Hosting via a public IP or cloud VM is convenient, but it permanently increases your attack surface. Open ports are discovered within minutes, turning every service into something you must continuously defend.

PROBLEM_02

Traditional VPNs

VPNs secure traffic but introduce operational friction. Sharing access means distributing clients, keys, and broad network reach - even when all you want is access to a single service.

RESOLUTION_

Turn your Network into a Zero Trust Zone

Stop choosing between security and convenience. Tunneld acts as a smart gateway, wrapping your local devices in an outbound-only overlay. Services are addressed by identity, not IP - making your entire subnet accessible from anywhere without public exposure or agent installation.

Your Sovereign Control Plane

Tunneld Dashboard Interface showing network status

Getting Started

01_

Portable Secure Zone

Connect a Tunneld device to any upstream WiFi. It provisions a private subnet. Devices connect through Tunneld and route to your trust domain through authenticated overlay connections, without modifying the upstream network.

02_

Sovereign Traffic Control

Tunneld operates as the local DNS resolver and firewall for your subnet. Enforce curated blocklists, DNS over HTTPS forwarding, and outbound filtering at the edge, stopping unwanted traffic before it leaves your network.

03_

Control Plane Flexible

Tunneld runs local policy enforcement and traffic handling on the Erlang VM. It connects to an external Zero Trust control plane, either hosted or self managed, while enforcing identity based access, service routing, and network isolation directly on the device.

04_

Service Level Publishing

Publish individual services instead of entire subnets. Services can be private by default, reachable only by authorized clients. When you intentionally expose a service publicly, it is mediated by Tunneld rather than opening direct inbound access.

05_

Network Level Resilience

The subnet remains operational during internet or overlay outages. Local DHCP, DNS, and firewall services continue running, allowing devices to obtain addresses and resolve local names even when offline.

06_

Distributed Service Pooling

Aggregate multiple service instances behind one endpoint. Tunneld can proxy and load balance requests across upstreams on your subnet, or across upstreams hosted by trusted peers via private overlay links. This lets you scale a single published service across multiple machines.

It means the device is the network boundary. Wherever you power it on, it recreates the same private subnet behavior: routing, DNS, policy, and service access, independent of the surrounding network.

WireGuard connects machines (IP to IP). Tunneld connects services (Identity to Identity). We use OpenZiti under the hood to eliminate the need for static IPs or open ports entirely.

Not exactly. VPNs connect devices to networks. Tunneld connects identities to services. You don’t join a network; you’re granted access to specific capabilities.

For a self-hosted control plane, yes. Alternatively, you can connect the device as an environment to zrok (see getting started). However, your edge devices (Raspberry Pis) can be behind strict NATs or 4G connections and still be reachable.

Local networking continues to function. Devices can still communicate through the Tunneld gateway, resolve DNS locally, and enforce policy even without overlay access.

We target ARM64 SBCs (Raspberry Pi 4/5, OrangePi, NanoPi) running Debian based operating systems. x86_64 support is available but optimized for low-power edge silicon.

Yes. Multiple devices can participate in the same overlay, exposing or consuming services while remaining physically separate.

Yes. The entire stack is open source. You can audit the Elixir code, the underlying Ziti overlay logic, or view the self-hosting docs.