Skip to content

What is DedNets?

DedNets connects machines that live behind NAT, firewalls, and home routers, and lets them publish services to each other and to the internet. You run one small daemon per machine; the Console (the hosted control plane) coordinates everything else.

There is nothing to port-forward and no VPN to configure: every daemon connects outbound to the Console and authenticates with mutual TLS. Traffic between your machines is relayed through the Console by default and upgraded to a direct, hole-punched path between the two machines whenever the networks allow it. Established connections keep working even if the Console is temporarily unreachable.

  • Console: the hosted control plane and web UI. You enroll hosts, publish ports, and watch health from here.
  • Host (daemon): a machine running dedmeshd. It is fully rootless: no TUN device, no privileged ports, outbound connections only.
  • App: a service a host exports, named username/daemon/app, for example alice/homelab/nginx. Apps can come from a config file, from Docker container labels, or be published straight from the Console UI.
  • Gateway: a host of yours (typically a VPS with a public IP) that publishes raw TCP/UDP ports on its own address, any port including those below 1024.
I want to… How
Get a machine on the network Deploy a daemon
Give an internal web app a public HTTPS address Expose a port publicly
Publish a game server, database, or DNS on my own VPS Publish on your own gateway

Public HTTP/HTTPS apps get an automatic hostname of the form {app}-{username}.{domain} served by the DedNets edge, with TLS certificates issued on demand. Raw TCP/UDP is published through your own gateway hosts, so it uses your ports and your bandwidth.