Update index.js

This commit is contained in:
Sefinek committed 2026-02-05 18:01:19 +01:00
1 parent 2d35f8556d
commit dbb4557071
2 files changed
+11 -3

No files matched your search

+10 -2
View File
@@ -15,8 +15,10 @@ const isSpecialPurposeIP = require('./scripts/isSpecialPurposeIP.js');
const logger = require('./scripts/logger.js'); const logger = require('./scripts/logger.js');
const config = require('./config.js'); const config = require('./config.js');
const { UFW_LOG_FILE, SERVER_ID, EXTENDED_LOGS, AUTO_UPDATE_ENABLED, AUTO_UPDATE_SCHEDULE, DISCORD_WEBHOOK_ENABLED, DISCORD_WEBHOOK_URL } = config.MAIN; const { UFW_LOG_FILE, SERVER_ID, EXTENDED_LOGS, AUTO_UPDATE_ENABLED, AUTO_UPDATE_SCHEDULE, DISCORD_WEBHOOK_ENABLED, DISCORD_WEBHOOK_URL } = config.MAIN;
const RATE_LIMIT_LOG_INTERVAL = 10 * 60 * 1000; const RATE_LIMIT_LOG_INTERVAL = 10 * 60 * 1000;
const BUFFER_STATS_INTERVAL = 5 * 60 * 1000; const BUFFER_STATS_INTERVAL = 5 * 60 * 1000;
const MAX_BUFFER_SIZE = 100000;
const nextRateLimitReset = () => { const nextRateLimitReset = () => {
const now = new Date(); const now = new Date();
@@ -52,10 +54,16 @@ const reportIp = async ({ srcIp, dpt = 'N/A', proto = 'N/A', timestamp }, catego
if (ABUSE_STATE.isBuffering) { if (ABUSE_STATE.isBuffering) {
if (BULK_REPORT_BUFFER.has(srcIp)) return; if (BULK_REPORT_BUFFER.has(srcIp)) return;
// Check buffer size limit to prevent memory overflow
if (BULK_REPORT_BUFFER.size >= MAX_BUFFER_SIZE) {
logger.warn(`Buffer full (${MAX_BUFFER_SIZE} IPs). Skipping ${srcIp} to prevent memory overflow.`);
return;
}
BULK_REPORT_BUFFER.set(srcIp, { categories, timestamp, comment }); BULK_REPORT_BUFFER.set(srcIp, { categories, timestamp, comment });
await saveBufferToFile(); await saveBufferToFile();
logger.success(`Queued ${srcIp} for bulk report (collected ${BULK_REPORT_BUFFER.size} IPs)`); return logger.success(`Queued ${srcIp} for bulk report (collected ${BULK_REPORT_BUFFER.size} IPs)`);
return;
} }
try { try {
+1 -1
Submodule scripts updated: 43e0edfc8c...808ed282aa.