limit proxy request size

This commit is contained in:
zefie
2025-07-19 07:09:22 -04:00
parent 8123158a8c
commit 1a8401d015
2 changed files with 12 additions and 3 deletions

View File

@@ -1292,9 +1292,15 @@ async function doHTTPProxy(socket, request_headers) {
}
const req = proxy_agent.request(options, function (res) {
var data = [];
var total_data = 0;
res.on('data', d => {
data.push(d);
total_data += d.length;
if (total_data > 1024 * parseFloat(minisrv_config.services[request_type].max_response_size || 16)) {
console.warn(` * Response data exceeded ${minisrv_config.services[request_type].max_response_size || 16}MB limit, destroying...`);
res.destroy();
}
})
res.on('error', function (err) {

View File

@@ -349,7 +349,8 @@
"external_proxy_is_socks": false, // use a socks proxy
"external_proxy_host": "127.0.0.1", // IP address or hostname of proxy
"external_proxy_port": 1080, // Port of proxy
"flags": "0x00000001"
"flags": "0x00000001",
"max_response_size": 16 // Megabytes
},
"https": {
"port": 1650,
@@ -358,7 +359,8 @@
"external_proxy_is_socks": false, // use a socks proxy
"external_proxy_host": "127.0.0.1", // IP address or hostname of proxy
"external_proxy_port": 1080, // Port of proxy
"flags": "0x00000001"
"flags": "0x00000001",
"max_response_size": 16 // Megabytes
},
"proto": {
"port": 1650,
@@ -369,7 +371,8 @@
"external_proxy_host": "wayback.protoweb.org",
"external_proxy_port": 7851,
"external_proxy_is_http1": true,
"flags": "0x00000001"
"flags": "0x00000001",
"max_response_size": 16 // Megabytes
},
"wtv-passport": {
// wtv-passport (for messenger)