Skip to content

noahlevenson/ministun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ministun

Unit tests

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.

Requirements

Node.js >= 12.14.0

Installation

npm i ministun 

Usage

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(); }

Configuration

  • 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?

TODO

Better test coverage