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