disable compression by default and dont compress webrelays #4369
Signed-off-by: si458 <simonsmith5521@gmail.com>
si458 committed
Jun 20, 2025 at 20:18 UTC
92c2b613185cf21ca5745f182b56a50c365957c4
5 files changed
+5
-6
meshcentral-config-schema.json
+2
-2
@@ -536,8 +536,8 @@
536
},
537
"compression": {
538
"type": "boolean",
539
- "default": true,
540
- "description": "Enables GZIP compression for web requests."
539
+ "default": false,
540
+ "description": "Enables GZIP compression for web requests. Disabled by default."
541
},
542
"wsCompression": {
543
"type": "boolean",
monitoring.js
-1
@@ -14,7 +14,6 @@ module.exports.CreateMonitoring = function (parent, args) {
14
obj.express = require('express');
15
obj.app = obj.express();
16
obj.prometheus = null;
17
- if (args.compression !== false) { obj.app.use(require('compression')()); }
17
obj.app.disable('x-powered-by');
18
obj.counterMetrics = { // Counter Metrics always start at 0 and increase but never decrease
19
RelayErrors: { description: "Relay Errors" }, // parent.webserver.relaySessionErrorCount
sample-config-advanced.json
+1
-1
@@ -65,7 +65,7 @@
65
"_agentIdleTimeout": 150,
66
"_webPageLengthRandomization": false,
67
"_compression": true,
68
- "_wsCompression": false,
68
+ "_wsCompression": true,
69
"_agentWsCompression": true,
70
"_noAgentUpdate": 1,
71
"_agentUpdateSystem": 1,
webrelayserver.js
-1
@@ -23,7 +23,6 @@ module.exports.CreateWebRelayServer = function (parent, db, args, certificates,
23
obj.tlsServer = null;
24
obj.net = require('net');
25
obj.app = obj.express();
26
- if (args.compression !== false) { obj.app.use(require('compression')()); }
26
obj.app.disable('x-powered-by');
27
obj.webRelayServer = null;
28
obj.port = 0;
webserver.js
+2
-1
@@ -65,9 +65,10 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
65
obj.db = db;
66
obj.app = obj.express();
67
if (obj.args.agentport) { obj.agentapp = obj.express(); }
68
- if (args.compression !== false) {
68
+ if (args.compression === true) {
69
obj.app.use(require('compression')({ filter: function (req, res) {
70
if (req.path == '/devicefile.ashx') return false; // Don't compress device file transfers to show file sizes
71
+ if ((args.relaydns != null) && (obj.args.relaydns.indexOf(req.hostname) >= 0)) return false; // Don't compress DNS relay requests
72
return require('compression').filter(req, res);
73
}}));
74
}