From 0105ad59d8f794a0c4000060ce3f07bc20dc5bde Mon Sep 17 00:00:00 2001 From: Jeff Becker Date: Fri, 21 Oct 2016 07:33:53 -0400 Subject: [PATCH 1/3] add connector dialog for websocket ui --- websocket-ui/index.html | 4 ++ websocket-ui/ui.js | 89 ++++++++++++++++++++++++++--------------- 2 files changed, 60 insertions(+), 33 deletions(-) diff --git a/websocket-ui/index.html b/websocket-ui/index.html index 2625308..3c64380 100644 --- a/websocket-ui/index.html +++ b/websocket-ui/index.html @@ -31,6 +31,10 @@ +
+ + +

     
     
diff --git a/websocket-ui/ui.js b/websocket-ui/ui.js
index 2202467..a1cd228 100644
--- a/websocket-ui/ui.js
+++ b/websocket-ui/ui.js
@@ -1,5 +1,3 @@
-var url = "ws://127.0.0.1:7665";
-
 var l = document.getElementById("log");
 var c = document.getElementById("main");
 var nodes = {
@@ -130,7 +128,7 @@ function tunnelCreated(tid) {
 
 function logit(msg) {
   console.log(msg);
-  var t = document.createTextNode(leftpad(msg, 25));
+  var t = document.createTextNode(msg);
   var e = document.createElement("div");
   e.appendChild(t);
   l.appendChild(e);
@@ -138,38 +136,63 @@ function logit(msg) {
     l.removeChild(l.children[0]);
 }
 
-var ws = new WebSocket(url);
-ws.onclose = function (ev) {
-  nodes = { length: 0 };
-  tpeers = { length: 0 };
+function socketClosed() {
+  var b = document.getElementById("connect-button");
+  b.onclick = startui
+  b.value = "connect";
 }
-ws.onmessage = function(ev) {
-  var j = JSON.parse(ev.data);
-  if (j) {
-    console.log(j);
-    if(j.type == "transport.connected") {
-      nodeConnected(j.ident);
-    } else if (j.type == "transport.disconnected") {
-      nodeDisconnected(j.ident);
-    } else if (j.type == "transport.sendmsg") {
-      nodeSend(j.ident, j.number);
-    } else if (j.type == "transport.recvmsg") {
-      nodeRecv(j.ident, j.number);
-    } else if (j.type == "tunnel.build") {
-      tunnelBuild(j.value, j.tid, j.inbound);
-    } else if (j.type == "tunnel.latency") {
-      tunnelLatency(j.tid, j.value);
-    } else if (j.type == "tunnel.state") {
-      tunnelState(j.tid, j.value);
-    } else if (j.type == "tunnels.created") {
-      tunnelCreated(j.tid);
-    } else if (j.type == "tunnels.expired") {
-      tunnelExpiring(j.tid);
-    } else {
-      logit("message: "+j.type);
-    }
+
+function startui() {
+  var el = document.getElementById("ws-url");
+  var url;
+  if(el)
+    url = el.value;
+  else
+    url = "ws://127.0.0.1:7666";
+  
+  var ws = new WebSocket(url);
+  ws.onclose = function (ev) {
+    logit("failed to connect to "+url);
+    nodes = { length: 0 };
+    tpeers = { length: 0 };
+    socketClosed();
   }
-};
+  ws.onopen = function(ev) {
+    logit("connected to "+url);
+  }
+  ws.onmessage = function(ev) {
+    var j = JSON.parse(ev.data);
+    if (j) {
+      console.log(j);
+      if(j.type == "transport.connected") {
+        nodeConnected(j.ident);
+      } else if (j.type == "transport.disconnected") {
+        nodeDisconnected(j.ident);
+      } else if (j.type == "transport.sendmsg") {
+        nodeSend(j.ident, j.number);
+      } else if (j.type == "transport.recvmsg") {
+        nodeRecv(j.ident, j.number);
+      } else if (j.type == "tunnel.build") {
+        tunnelBuild(j.value, j.tid, j.inbound);
+      } else if (j.type == "tunnel.latency") {
+        tunnelLatency(j.tid, j.value);
+      } else if (j.type == "tunnel.state") {
+        tunnelState(j.tid, j.value);
+      } else if (j.type == "tunnels.created") {
+        tunnelCreated(j.tid);
+      } else if (j.type == "tunnels.expired") {
+        tunnelExpiring(j.tid);
+      } else {
+        logit("message: "+j.type);
+      }
+    }
+  };
+  var b = document.getElementById("connect-button");
+  b.onclick = function() {
+    ws.close();
+  }
+  b.value = "disconnect";
+}
 
 function getPeer(h, us) {
   if (tpeers[h]) {

From 4eb0c42a7e302a9c8879107b562a9f4089240a87 Mon Sep 17 00:00:00 2001
From: Jeff Becker 
Date: Fri, 21 Oct 2016 07:35:14 -0400
Subject: [PATCH 2/3] fix typos

---
 websocket-ui/ui.js | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/websocket-ui/ui.js b/websocket-ui/ui.js
index a1cd228..64254b1 100644
--- a/websocket-ui/ui.js
+++ b/websocket-ui/ui.js
@@ -117,13 +117,11 @@ function tunnelState(tid, state) {
     tunnelFailed(tid);
   } else if (state == "6" ) {
     tunnelExpiring(tid);
-  } else {
-    logit("tunnel "+tid+" state "+state);
   }
 }
 
 function tunnelCreated(tid) {
-  logit("tunnel "+tid+" was created");
+  logit("Tunnel "+tid+" was created");
 }
 
 function logit(msg) {

From 04a20aff7bb94c0646095ed1e8c5edacc4cd3b29 Mon Sep 17 00:00:00 2001
From: Jeff Becker 
Date: Fri, 21 Oct 2016 07:41:42 -0400
Subject: [PATCH 3/3] fix

---
 websocket-ui/ui.js | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/websocket-ui/ui.js b/websocket-ui/ui.js
index 64254b1..ee09c75 100644
--- a/websocket-ui/ui.js
+++ b/websocket-ui/ui.js
@@ -137,7 +137,7 @@ function logit(msg) {
 function socketClosed() {
   var b = document.getElementById("connect-button");
   b.onclick = startui
-  b.value = "connect";
+  b.innerHTML = "connect";
 }
 
 function startui() {
@@ -150,13 +150,21 @@ function startui() {
   
   var ws = new WebSocket(url);
   ws.onclose = function (ev) {
-    logit("failed to connect to "+url);
+    if (ev.code == 1000)
+      logit("connection closed");
+    else
+      logit("failed to connect to "+url);
     nodes = { length: 0 };
     tpeers = { length: 0 };
     socketClosed();
   }
   ws.onopen = function(ev) {
     logit("connected to "+url);
+    var b = document.getElementById("connect-button");
+    b.onclick = function() {
+      ws.close();
+    }
+    b.innerHTML = "disconnect";
   }
   ws.onmessage = function(ev) {
     var j = JSON.parse(ev.data);
@@ -185,11 +193,6 @@ function startui() {
       }
     }
   };
-  var b = document.getElementById("connect-button");
-  b.onclick = function() {
-    ws.close();
-  }
-  b.value = "disconnect";
 }
 
 function getPeer(h, us) {