diff --git a/app.js b/app.js index 466682d..1e60871 100644 --- a/app.js +++ b/app.js @@ -50,7 +50,7 @@ setInterval(() => demoModeRequestTracker.cleanupExpiredEntries(), 3600000); // C // Configure rate limiting for demo mode const demoModeRequestTracker = { requests: new Map(), - maxRequestsPerHour: 5, // Adjust as needed + maxRequestsPerHour: 20, // Adjust as needed resetInterval: 60 * 60 * 1000, // 1 hour in milliseconds isLimited: function (ip) { @@ -1223,6 +1223,11 @@ function storeLogInDatabase(logData) { */ app.get('/health', (req, res) => { + const clientIP = + req.headers['cf-connecting-ip'] || + req.headers['x-forwarded-for']?.split(',')[0] || + req.ip || + req.connection.remoteAddress; // Check if demo mode is forced via URL parameter const forceDemoMode = req.session && req.session.forceDemoMode === true; @@ -1234,7 +1239,7 @@ app.get('/health', (req, res) => { requestsRemaining: isDemoMode ? demoModeRequestTracker.maxRequestsPerHour - - (demoModeRequestTracker.requests.get(req.ip)?.count || 0) + (demoModeRequestTracker.requests.get(clientIP)?.count || 0) : null, }); });