diff --git a/nodes/core/social/91-irc.html b/nodes/core/social/91-irc.html
index ada028aca..61ced52aa 100644
--- a/nodes/core/social/91-irc.html
+++ b/nodes/core/social/91-irc.html
@@ -184,7 +184,19 @@
diff --git a/nodes/core/social/91-irc.js b/nodes/core/social/91-irc.js
index 4722e0569..ffc1bc28b 100644
--- a/nodes/core/social/91-irc.js
+++ b/nodes/core/social/91-irc.js
@@ -22,6 +22,9 @@ module.exports = function(RED) {
function IRCServerNode(n) {
RED.nodes.createNode(this,n);
this.server = n.server;
+ this.port = n.port || 6667;
+ this.ssl = n.ssl || false;
+ this.cert = n.cert || false;
this.channel = n.channel;
this.nickname = n.nickname;
this.lastseen = 0;
@@ -46,7 +49,8 @@ module.exports = function(RED) {
if (node.serverConfig.ircclient === null) {
node.log("CONNECT: "+node.serverConfig.server);
node.status({fill:"grey",shape:"dot",text:"connecting"});
- node.serverConfig.ircclient = new irc.Client(node.serverConfig.server, node.serverConfig.nickname,{autoConnect:true,autoRejoin:false,floodProtection:true,retryDelay:20000});
+ var options = {autoConnect:true,autoRejoin:false,floodProtection:true,secure:node.serverConfig.ssl,selfSigned:node.serverConfig.cert,port:node.serverConfig.port,retryDelay:20000};
+ node.serverConfig.ircclient = new irc.Client(node.serverConfig.server, node.serverConfig.nickname, options);
node.serverConfig.ircclient.setMaxListeners(0);
node.serverConfig.ircclient.addListener('error', function(message) {
if (RED.settings.verbose) { node.log("ERR: "+JSON.stringify(message)); }
@@ -180,7 +184,8 @@ module.exports = function(RED) {
if (node.serverConfig.ircclient === null) {
node.log("CONNECT: "+node.serverConfig.server);
node.status({fill:"grey",shape:"dot",text:"connecting"});
- node.serverConfig.ircclient = new irc.Client(node.serverConfig.server, node.serverConfig.nickname,{autoConnect:true,autoRejoin:false,floodProtection:true,retryDelay:20000});
+ var options = {autoConnect:true,autoRejoin:false,floodProtection:true,secure:node.serverConfig.ssl,selfSigned:node.serverConfig.cert,port:node.serverConfig.port,retryDelay:20000};
+ node.serverConfig.ircclient = new irc.Client(node.serverConfig.server, node.serverConfig.nickname, options);
node.serverConfig.ircclient.setMaxListeners(0);
node.serverConfig.ircclient.addListener('error', function(message) {
if (RED.settings.verbose) { node.log("ERR: "+JSON.stringify(message)); }