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-176 days ago52 downloads
0.3.1-176 days ago7 downloads
0.3.0-178 days ago5 downloads
0.2.0-186 days ago20 downloads
0.1.0-191 days ago10 downloads

Dependencies

lua >= 5.1

Labels

Manifests