Self-host awl
v0.20.0Peer-to-peer mesh VPN with SOCKS5 and exit node
- Stars
- 714
- Port
- 8639 (Web UI and API)
What is awl?
Anywherelan constructs a virtual network linking your devices via libp2p discovery and NAT traversal. Every device obtains a fixed .awl address and communicates with peers as though on a shared LAN. The program operates across four major operating systems, providing both a system-tray interface and a headless server build. Primary functions encompass sending all IPv4 traffic through a remote peer as a full-tunnel exit node, employing any peer as a SOCKS5 proxy, integrated DNS for .awl hostnames, and automatic NAT hole-punching with community relay fallback. The design is completely decentralized — no coordination server, no user accounts, no central control plane. Encryption uses TLS 1.3 over QUIC or TCP+TLS, with ed25519 keys for identity. You can install via direct binary downloads, F-Droid on Android, or a systemd setup script for Linux servers. A local web UI at http://admin.awl handles management. Licensed under MPL-2.0.
Should you self-host awl?
awl scores 52/100 on selfhost.directory (how scoring works) and ranks #31 of 56 in VPN. It has 714 GitHub stars.
It shipped 7 stable releases in the past year. The latest, v0.20.0, came out on 24 October 2026. New versions land roughly every 2 months.
Setup is moderate: expect some configuration beyond a single command. It is MPL-2.0-licensed and written mostly in Go.
Its closest alternative on selfhost.directory is headscale (82/100, 45 131 stars). It scores higher overall, so compare the two before you pick. See awl vs headscale side by side.
Features
- Automatic NAT traversal
- Built-in DNS (.awl domains)
- CLI Client
- Cross-Platform Support
- Full-tunnel VPN gateway (exit node)Not available on macOS or as exit node on Android
- Peer-to-peer mesh VPN
- Prometheus Metrics
- Reproducible builds
- SOCKS5 Proxy
- TLS 1.3 encryption
- Web UI management
awl README
More in Network
blocky-uiSelf-hosted web UI for blocky DNS ad-blocker. Toggle blocking, run queries, manage lists, flush cache — works without JavaScript.
cftunnelcftunnel is a self-hosted, open-source tunneling CLI for free HTTP/WS via Cloudflare and full TCP/UDP via self-hosted frp relay.
cloudflare-verified-ddnsSelf-hosted Cloudflare DDNS updater verifying DNS via DoH, adaptive polling, detailed telemetry. Python 3.13+, minimal Docker image.
containernetwork-autofixContainerNetwork AutoFix auto-recreates Docker containers using --net=container: networking when the master container restarts, preserving state. For Unraid and Docker.
copypartySelf-hosted file server with accelerated resumable uploads, deduplication, WebDAV, SFTP, FTP, TFTP, SMB, media indexing, thumbnails — all in one Python file.
dhcp-netboot.xyzA self-hosted Docker container that runs a ProxyDHCP server to PXE boot installers and utilities from netboot.xyz on your local network.
dnsweaverSelf-hosted DNS automation for homelabs: reads from 7 sources, writes to 12 providers with split-horizon DNS.
docker-headscaleContainerized Headscale server for self-hosted Tailscale mesh VPN. Auto-generates config and auth keys, includes management script, enables MagicDNS hostname resolution.
docker-openvpnSelf-hosted OpenVPN Docker image with auto PKI, client management, dual-stack IPv4/IPv6, and modern ciphers.
electrumxElectrumX is a self-hosted, open-source Electrum server in Python. It connects to a Bitcoin full node and builds an index for quick address history queries.
FireflyFirefly is a self-hosted WireGuard VPN server with web UI for managing clients. Runs as a single binary or Docker container, supports Let's Encrypt SSL and TCP relay.
gluetunVPN client in a thin Docker container for multiple VPN providers, written in Go, and using OpenVPN or Wireguard, DNS over TLS, with a few proxy servers built-in.




0 comments