diff --git a/views/default-mobile.handlebars b/views/default-mobile.handlebars
index c653ec6a..a43da118 100644
--- a/views/default-mobile.handlebars
+++ b/views/default-mobile.handlebars
@@ -854,7 +854,7 @@
-
+
@@ -1228,6 +1228,8 @@
var authCookie = '{{{authCookie}}}';
var authRelayCookie = '{{{authRelayCookie}}}';
var authCookieRenewTimer = null;
+ var webRelayPort = parseInt('{{{webRelayPort}}}');
+ var webRelayDns = '{{{webRelayDns}}}';
var meshserver = null;
var xdr = null;
var usergroups = null;
@@ -1911,6 +1913,8 @@
node.rdpport = message.event.node.rdpport;
node.rfbport = message.event.node.rfbport;
node.sshport = message.event.node.sshport;
+ node.httpport = message.event.node.httpport;
+ node.httpsport = message.event.node.httpsport;
node.consent = message.event.node.consent;
node.pmt = message.event.node.pmt;
if (message.event.node.agent != null) {
@@ -3572,6 +3576,10 @@
x = '
'
@@ -3808,7 +3816,7 @@
// Draw device power bars. The bars are 766px wide.
function drawDeviceTimeline() {
- if (currentNode.mtype == 3) return;
+ if (currentNode.mtype == 3) { QH('p10html2', '
'); return; }
var timeline = null, now = Date.now();
if (currentNode._id == powerTimelineNode) { timeline = powerTimeline; }
@@ -3918,6 +3926,23 @@
meshserver.send({ action: 'removedevices', nodeids: [nodeid] });
}
+ function p10WebRouter(nodeid, protocol, port, addr) {
+ var relayid = null;
+ var node = getNodeFromId(nodeid);
+ if (node.mtype == 3) { // Setup device relay if needed
+ var mesh = meshes[node.meshid];
+ if (mesh && mesh.relayid) { relayid = mesh.relayid; addr = node.host; }
+ }
+ var servername = serverinfo.name;
+ if ((servername.indexOf('.') == -1) || ((features & 2) != 0)) { servername = window.location.hostname; } // If the server name is not set or it's in LAN-only mode, use the URL hostname as server name.
+ if (webRelayDns != '') { servername = webRelayDns; }
+ var url = 'https://' + servername + ':' + webRelayPort + '/control-redirect.ashx?n=' + nodeid + '&p=' + port + '&appid=' + protocol + '&c=' + authRelayCookie; // Protocol: 1 = HTTP, 2 = HTTPS
+ if (addr != null) { url += '&addr=' + addr; }
+ if (relayid != null) { url += '&relayid=' + relayid; }
+ safeNewWindow(url, 'WebRelay');
+ return false;
+ }
+
function p10showiconselector() {
if (xxdialogMode) return;
var rights = GetNodeRights(currentNode);