sni

Get the Server Name Indication of a raw TLS stream

npm install sni
12 downloads in the last day
40 downloads in the last week
55 downloads in the last month

sni

Get the Server Name Indication of a raw TLS stream (without Node's TLS module)

Installation

npm install sni

Usage

var sni = require("sni")
  , net = require("net");

net.createServer(function(socket) {
    socket.once("data", function(data) { // Listen on the HELLO packet
        console.log(sni(data)); // www.example.com
    });
}).listen(443); // Listen on the HTTPS port

Benchmark

1,000,000 rounds took me 3,524 ms. Test it for yourself with test/benchmark.js.

Why?

Because I wanted to route my HTTPS streams without actually encoding them with Node's TLS module.

npm loves you