summaryrefslogtreecommitdiffstats
path: root/webchat/hello_web.js
diff options
context:
space:
mode:
authorlassulus <lassulus@googlemail.com>2013-11-07 16:17:12 +0100
committerlassulus <lassulus@googlemail.com>2013-11-07 16:17:12 +0100
commit4915624169ef18312b83a480be74b4a039ccb9c3 (patch)
tree511894f557da5bc4cf71c73cb0717e6047794b56 /webchat/hello_web.js
parente290f61b54d78677a56492e878c56326658d84f1 (diff)
webchat: renamed hello_web to index.js
Diffstat (limited to 'webchat/hello_web.js')
-rw-r--r--webchat/hello_web.js120
1 files changed, 0 insertions, 120 deletions
diff --git a/webchat/hello_web.js b/webchat/hello_web.js
deleted file mode 100644
index 8ef737fc..00000000
--- a/webchat/hello_web.js
+++ /dev/null
@@ -1,120 +0,0 @@
-var fs = require('fs');
-var http = require('https');
-var sockjs = require('sockjs');
-var connect = require('connect');
-var irc = require('irc');
-var Clients = [];
-
-Clients.broadcast = function(object) { //broadcast to all clients
- Clients.forEach(function(client) {
- client.write(JSON.stringify(object));
- });
-}
-
-var irc_reconnect = function() { //reconnt to irc
- console.log("reconnecting due to pingtimeout");
- irc_client.disconnect();
- irc_client.connect();
-}
-
-var pingTimeoutDelay = 3*60*1000
-var lastping = setTimeout(irc_reconnect, pingTimeoutDelay)
-
-var irc_client = new irc.Client('irc.freenode.net', 'kweb', { //create irc_client to talk to irc
- channels: ['#krebs'], //todo: read from local_config
- sasl: true,
- secure: true,
- userName: 'kweb', //todo: read from local_config
- realName: 'kweb', //todo: read from local_config
- password: fs.readFileSync(__dirname+'/local_config/irc.key').toString(),
- debug: false,
- showErrors: true,
- floodProtection: true,
- port: 6697,
- autoRejoin: true,
- autoConnect: true,
- stripColors: true
-});
-
-
-irc_client.on('ping', function(server) { //restart timer on server ping
- console.log("got ping from server, renewing timeout for automatic reconnect");
- clearTimeout(lastping);
- lastping = setTimeout(irc_reconnect, pingTimeoutDelay); //reconnect after irc timeout
-})
-
-irc_client.on('message#krebs', function(from, message) {
- console.log({ from: from, message: message });
- Clients.broadcast({ from: from, message: message }); //broadcast irc messages to all connected clients
- clearTimeout(lastping);
-});
-
-var web_serv_options = { //certificates for https
- key: fs.readFileSync(__dirname+'/local_config/server_npw.key'),
- cert: fs.readFileSync(__dirname+'/local_config/server.crt'),
-};
-
-var echo = sockjs.createServer();
-echo.on('connection', function(conn) {
- var origin = conn.remoteAddress;
- Clients.push(conn);
- Clients.broadcast({from: 'system', message: origin + ' has joined'})
-// irc_client.say("#krebs", origin + ' has joined');
- conn.write(JSON.stringify({from: 'system', message: 'hello'})) //welcome message
- conn.on('data', function(data) {
- console.log('data:',data);
- try {
- var object = JSON.parse(data);
- if (object.message.length > 0) { //if message is not empty
- if (/^\/nick\s+(.+)$/.test(object.message)) { //if nick is send use nick instead of ip
- object.from = origin;
- } else if (typeof object.nick === 'string') {
- object.from = object.nick;
- } else {
- object.from = origin;
- };
- console.log(object.message);
- irc_client.say("#krebs", object.from + ' → ' + object.message);
- Clients.broadcast(object);
- }
-
- } catch (error) {
- console.log(error);
- }
- });
- conn.on('close', function() { //propagate if client quits the page
- Clients.splice(Clients.indexOf(conn));
- Clients.broadcast({from: 'system', message: origin + ' has quit'})
-// irc_client.say("#krebs", origin + ' has quit');
-});
-});
-
-
-var app = connect()
- .use(connect.logger('dev'))
- .use(connect.static(__dirname+'/public'))
- .use( function (req, res) {
- res.writeHead(200, {'Content-Type': 'text/html'});
- page_template='<!doctype html>\n';
- page_template+='<link rel="stylesheet" type="text/css" href="reset.css">\n';
- page_template+='<script src="sockjs-0.3.min.js"></script>\n';
- page_template+='<script src="jquery-2.0.3.min.js"></script>\n';
- page_template+='<script src="client.js"></script>\n';
- page_template+='<div id="bg">';
- page_template+='<div id="chatter">';
- page_template+='<div id="space"></div>';
- page_template+='hello, this is the official krebs support:<br>\n';
- page_template+='<table id="chatbox"><tr id="foot"><td id="time"></td><td id="nick" class="chat_from"></td><td><input type="text" id="input"></td></tr></table>\n';
- page_template+='</div>';
- page_template+='<div id="sideboard"><div id="links">';
- page_template+='<a href="http://gold.krebsco.de/">krebsgold browser plugin</a><br>';
- page_template+='<a href="http://ire:1027/dashboard/">ire: Retiolum Dashboard</a><br>';
- page_template+='<a href="http://pigstarter/">pigstarter: network graphs</a><br>';
- page_template+='</div></div></div>';
- res.end(page_template);
-
- })
-var server = http.createServer(web_serv_options, app);
-echo.installHandlers(server, {prefix:'/echo'});
-server.listen(1337, '0.0.0.0');
-console.log('Server running at https://127.0.0.1:1337/');