From 09365139a7eed52e211795a0de0109cdeb128a1f Mon Sep 17 00:00:00 2001 From: Jack Allnutt Date: Mon, 18 Jul 2011 17:16:42 +0100 Subject: [PATCH] Support for binding to specific host --- node/config.json | 13 +++++++------ node/kiwi.js | 9 +++++++-- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/node/config.json b/node/config.json index 580c19e..66b6c2b 100644 --- a/node/config.json +++ b/node/config.json @@ -1,8 +1,9 @@ { - "port": 7777, - "listen_ssl": false, - "ssl_key": "server.key", - "ssl_cert": "cert.pem", - "quit_message": "KiwiIRC", - "cap_options": [] + "port": 7777, + "bind_address": "0.0.0.0", + "listen_ssl": false, + "ssl_key": "server.key", + "ssl_cert": "cert.pem", + "quit_message": "KiwiIRC", + "cap_options": [] } diff --git a/node/kiwi.js b/node/kiwi.js index cdc70f2..3e583ae 100644 --- a/node/kiwi.js +++ b/node/kiwi.js @@ -3,6 +3,7 @@ var tls = require('tls'), net = require('net'), http = require('http'), + https = require('https'), fs = require('fs'), ws = require('socket.io'), _ = require('./lib/underscore.min.js'), @@ -272,9 +273,13 @@ var ircSocketDataHandler = function (data, websocket, ircSocket) { //setup websocket listener if (config.listen_ssl) { - var io = ws.listen(config.port, {secure: true, key: fs.readFileSync(__dirname + '/' + config.ssl_key), cert: fs.readFileSync(__dirname + '/' + config.ssl_cert)}); + var httpServer = https.createServer({key: fs.readFileSync(__dirname + '/' + config.ssl_key), cert: fs.readFileSync(__dirname + '/' + config.ssl_cert)}); + var io = ws.listen(httpServer, {secure: true}); + httpServer.listen(config.port, config.bind_address); } else { - var io = ws.listen(config.port, {secure: false}); + var httpServer = http.createServer(); + var io = ws.listen(httpServer, {secure: false}); + httpServer.listen(config.port, config.bind_address); } io.sockets.on('connection', function (websocket) { websocket.on('irc connect', function (nick, host, port, ssl, callback) { -- 2.25.1