STUN (Session Traversal Utilities for NAT) is a simple protocol. A STUN implementation should be simple too.
ministun is a zero dependency STUN server for Node.js. It implements "Basic Server Behavior" as defined by section 13 of RFC 5389, including backwards compatibility with RFC 3489.
Node.js >= 12.14.0
npm i ministun const Ministun = require("ministun"); const config = { udp4: true, udp6: true, port: 3478, log: console.log, err: console.err, sw: true }; const server = new Ministun(config); async function startServer() { await server.start(); } async function stopServer() { await server.stop(); }-
udp4: bool (Default:
true)
Support UDP over IPv4? -
udp6: bool (Default:
true)
Support UDP over IPv6? -
port: number (Default:
3478)
Port number -
log: function || null (Default:
console.log)
Log messages will be passed to this function as arg 0, null = no message logging -
err: function || null (Default:
console.err)
Error messages will be passed to this function as arg 0, null = no error logging -
sw: bool (Default:
true)
Send the SOFTWARE attribute with response messages?
Better test coverage