fix(middleware): skip New connection message and access.log writes for localhost

This commit is contained in:
KevinSun
2025-02-21 22:17:12 +08:00
parent db500188d8
commit bfc609c2a8
2 changed files with 4 additions and 3 deletions

View File

@@ -344,7 +344,7 @@ app.use(CORS);
if (listen && basicAuthMode) app.use(basicAuthMiddleware); if (listen && basicAuthMode) app.use(basicAuthMiddleware);
app.use(whitelistMiddleware(enableWhitelist)); app.use(whitelistMiddleware(enableWhitelist));
app.use(accessLoggerMiddleware()); app.use(accessLoggerMiddleware(listen));
if (enableCorsProxy) { if (enableCorsProxy) {
app.use(bodyParser.json({ app.use(bodyParser.json({

View File

@@ -28,14 +28,15 @@ export function migrateAccessLog() {
/** /**
* Creates middleware for logging access and new connections * Creates middleware for logging access and new connections
* @param {boolean} listen If listen mode is enabled via config or command line
* @returns {import('express').RequestHandler} * @returns {import('express').RequestHandler}
*/ */
export default function accessLoggerMiddleware() { export default function accessLoggerMiddleware(listen) {
return function (req, res, next) { return function (req, res, next) {
const clientIp = getRealIpFromHeader(req); const clientIp = getRealIpFromHeader(req);
const userAgent = req.headers['user-agent']; const userAgent = req.headers['user-agent'];
if (!knownIPs.has(clientIp)) { if (listen && !knownIPs.has(clientIp)) {
// Log new connection // Log new connection
console.info(color.yellow(`New connection from ${clientIp}; User Agent: ${userAgent}\n`)); console.info(color.yellow(`New connection from ${clientIp}; User Agent: ${userAgent}\n`));
knownIPs.add(clientIp); knownIPs.add(clientIp);