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);
app.use(whitelistMiddleware(enableWhitelist));
app.use(accessLoggerMiddleware());
app.use(accessLoggerMiddleware(listen));
if (enableCorsProxy) {
app.use(bodyParser.json({

View File

@@ -28,14 +28,15 @@ export function migrateAccessLog() {
/**
* 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}
*/
export default function accessLoggerMiddleware() {
export default function accessLoggerMiddleware(listen) {
return function (req, res, next) {
const clientIp = getRealIpFromHeader(req);
const userAgent = req.headers['user-agent'];
if (!knownIPs.has(clientIp)) {
if (listen && !knownIPs.has(clientIp)) {
// Log new connection
console.info(color.yellow(`New connection from ${clientIp}; User Agent: ${userAgent}\n`));
knownIPs.add(clientIp);