Pure-Lua P2P NAT traversal: STUN, ICE-lite, hole punching, AES-GCM

$ luarocks install punch

punch establishes direct UDP connections between peers behind NAT
without port forwarding, VPNs, or external tunneling binaries.
Discovers public endpoints via STUN, coordinates hole punching with
ICE-style candidate pairs, and encrypts the channel with AES-256-GCM.
Falls back to a relay broker when the NAT type prevents direct traversal.
Includes a minimal HTTP signaling server for local description exchange.
Works with vim.uv (Neovim) or luv (standalone LuaJIT).
Requires OpenSSL installed on the system for encryption and WSS.

Versions

0.3.2-16 days ago5 downloads
0.3.1-16 days ago5 downloads
0.3.0-18 days ago3 downloads
0.2.0-117 days ago18 downloads
0.1.0-121 days ago8 downloads

Dependencies

lua >= 5.1

Labels

Manifests