summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/core/web/index.html
blob: 9490eca86f2ef6ae46f9236dd1d1fd654e465266 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<!DOCTYPE html>
<html>
   <head>
      <title>Bitmask WebSockets Endpoint</title>
      <script type="text/javascript">
         var sock = null;
         var ellog = null;

         window.onload = function() {

            ellog = document.getElementById('log');

            var wsuri;
            if (window.location.protocol === "file:") {
               wsuri = "ws://127.0.0.1:8080/ws";
            } else {
               wsuri = "ws://" + window.location.hostname + ":8080/bitmask";
            }

            if ("WebSocket" in window) {
               sock = new WebSocket(wsuri);
            } else if ("MozWebSocket" in window) {
               sock = new MozWebSocket(wsuri);
            } else {
               log("Browser does not support WebSocket!");
               window.location = "http://autobahn.ws/unsupportedbrowser";
            }

            if (sock) {
               sock.onopen = function() {
                  log("Connected to " + wsuri);
               }

               sock.onclose = function(e) {
                  log("Connection closed (wasClean = " + e.wasClean + ", code = " + e.code + ", reason = '" + e.reason + "')");
                  sock = null;
               }

               sock.onmessage = function(e) {
                  log("[res] " + e.data + '\n');
               }
            }
         };

         function send() {
            var msg = document.getElementById('message').value;
            if (sock) {
               sock.send(msg);
               log("[cmd] " + msg);
            } else {
               log("Not connected.");
            }
         };

         function log(m) {
            ellog.innerHTML += m + '\n';
            ellog.scrollTop = ellog.scrollHeight;
         };
      </script>
   </head>
   <body>
      <h1>Bitmask Control Panel</h1>
      <noscript>You must enable JavaScript</noscript>
      <form>
         <p>Command: <input id="message" type="text" size="50" maxlength="50" value="status"></p>
      </form>
      <button onclick='send();'>Send Command</button>
      <pre id="log" style="height: 20em; overflow-y: scroll; background-color: #faa;"></pre>
   </body>
</html>