fix webrelay timeouting too fast #7102

Signed-off-by: si458 <simonsmith5521@gmail.com>

si458 committed Jun 15, 2025 at 14:31 UTC 95759d40221415d034babcfd04792c1a556f1a2e
2 files changed +13 -11
apprelays.js
+1 -1
@@ -107,7 +107,7 @@ module.exports.CreateWebRelaySession = function (parent, db, req, args, domain,
107
108 // Check if any tunnels need to be cleaned up
109 obj.checkTimeout = function () {
110 - const limit = Date.now() - (1 * 60 * 1000); // This is is 5 minutes before current time
110 + const limit = Date.now() - (5 * 60 * 1000); // This is 5 minutes before current time
111
112 // Close any old non-websocket tunnels
113 const tunnelToRemove = [];
webserver.js
+12 -10
@@ -5878,7 +5878,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
5878 if (c.download == req.query.meshaction) {
5879 if (req.query.meshaction == 'winrouter') {
5880 var p = null;
5881 - if (obj.meshToolsBinaries['MeshCentralRouter']) { p = obj.meshToolsBinaries['MeshCentralRouter'].path; }
5881 + if (obj.parent.meshToolsBinaries['MeshCentralRouter']) { p = obj.parent.meshToolsBinaries['MeshCentralRouter'].path; }
5882 if ((p == null) || (!obj.fs.existsSync(p))) { p = obj.path.join(__dirname, 'agents', 'MeshCentralRouter.exe'); }
5883 if (obj.fs.existsSync(p)) {
5884 setContentDispositionHeader(res, 'application/octet-stream', 'MeshCentralRouter.exe', null, 'MeshCentralRouter.exe');
@@ -5887,7 +5887,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
5887 return;
5888 } else if (req.query.meshaction == 'winassistant') {
5889 var p = null;
5890 - if (obj.meshToolsBinaries['MeshCentralAssistant']) { p = obj.meshToolsBinaries['MeshCentralAssistant'].path; }
5890 + if (obj.parent.meshToolsBinaries['MeshCentralAssistant']) { p = obj.parent.meshToolsBinaries['MeshCentralAssistant'].path; }
5891 if ((p == null) || (!obj.fs.existsSync(p))) { p = obj.path.join(__dirname, 'agents', 'MeshCentralAssistant.exe'); }
5892 if (obj.fs.existsSync(p)) {
5893 setContentDispositionHeader(res, 'application/octet-stream', 'MeshCentralAssistant.exe', null, 'MeshCentralAssistant.exe');
@@ -5896,7 +5896,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
5896 return;
5897 } else if (req.query.meshaction == 'macrouter') {
5898 var p = null;
5899 - if (obj.meshToolsBinaries['MeshCentralRouterMacOS']) { p = obj.meshToolsBinaries['MeshCentralRouterMacOS'].path; }
5899 + if (obj.parent.meshToolsBinaries['MeshCentralRouterMacOS']) { p = obj.parent.meshToolsBinaries['MeshCentralRouterMacOS'].path; }
5900 if ((p == null) || (!obj.fs.existsSync(p))) { p = obj.path.join(__dirname, 'agents', 'MeshCentralRouter.dmg'); }
5901 if (obj.fs.existsSync(p)) {
5902 setContentDispositionHeader(res, 'application/octet-stream', 'MeshCentralRouter.dmg', null, 'MeshCentralRouter.dmg');
@@ -6611,13 +6611,15 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
6611 }
6612 // Special Client Hint Headers for Browser Detection on every request - https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers#client_hints
6613 // note: only works in a secure context (localhost or https://)
6614 - const secCH = [
6615 - 'Sec-CH-UA-Arch', 'Sec-CH-UA-Bitness', 'Sec-CH-UA-Form-Factors', 'Sec-CH-UA-Full-Version',
6616 - 'Sec-CH-UA-Full-Version-List', 'Sec-CH-UA-Mobile', 'Sec-CH-UA-Model', 'Sec-CH-UA-Platform',
6617 - 'Sec-CH-UA-Platform-Version', 'Sec-CH-UA-WoW64'
6618 - ];
6619 - response.setHeader('Accept-CH', secCH.join(', '));
6620 - response.setHeader('Critical-CH', secCH.join(', '));
6614 + if ((obj.webRelayRouter != null) && (obj.args.relaydns.indexOf(request.hostname) == -1)) {
6615 + const secCH = [
6616 + 'Sec-CH-UA-Arch', 'Sec-CH-UA-Bitness', 'Sec-CH-UA-Form-Factors', 'Sec-CH-UA-Full-Version',
6617 + 'Sec-CH-UA-Full-Version-List', 'Sec-CH-UA-Mobile', 'Sec-CH-UA-Model', 'Sec-CH-UA-Platform',
6618 + 'Sec-CH-UA-Platform-Version', 'Sec-CH-UA-WoW64'
6619 + ];
6620 + response.setHeader('Accept-CH', secCH.join(', '));
6621 + response.setHeader('Critical-CH', secCH.join(', '));
6622 + }
6623 next();
6624 });
6625