stun

The stun module (built on pion/stun) discovers your NAT-mapped public address and can run a minimal BIND responder. Import it with import stun.

Functions

FunctionSignatureDescription
bindstun.bind(serverAddr: string) → objectQuery a STUN server for your mapped address: {publicIP, publicPort}, or nil on failure
servestun.serve(port: int) → intStart a tiny STUN BIND server; returns a handle
stopstun.stop(handle: int) → boolStop a running server

Example

import stun

let me = stun.bind("stun.l.google.com:19302")
if me != nil {
    println(me.publicIP + ":" + toString(me.publicPort))
}
Standard library · View as Markdown · llms-full.txt