Update index.js
This commit is contained in:
1 parent
2d35f8556d
commit
dbb4557071
2 files changed
+11
-3
No files matched your search
@@ -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.
Reference in new issue
Block a user