From 224bf5413352ed6c5f0abaf39144487644cb36ab Mon Sep 17 00:00:00 2001 From: Yonle Date: Thu, 4 Jan 2024 23:12:14 +0700 Subject: [PATCH] log with user-agent. Signed-off-by: Yonle --- bouncer.js | 2 +- http.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/bouncer.js b/bouncer.js index 72bf126..cbd645e 100644 --- a/bouncer.js +++ b/bouncer.js @@ -48,7 +48,7 @@ module.exports = (ws, req) => { ws.send(JSON.stringify(["AUTH", authKey])); } - console.log(process.pid, `->- ${req.headers["x-forwarded-for"]?.split(",")[0] || req.socket.address()?.address} connected as ${ws.id} ${orphan ? "(orphan reused)" : ""}`); + console.log(process.pid, `->- ${req.headers["x-forwarded-for"]?.split(",")[0] || req.socket.address()?.address} connected as ${ws.id} ${orphan ? "(orphan reused) " : ""}[${req.headers["user-agent"] || ""}]`); ws.on("message", data => { try { data = JSON.parse(data); diff --git a/http.js b/http.js index 4e4a352..c3430c2 100644 --- a/http.js +++ b/http.js @@ -14,7 +14,7 @@ const wss = new WebSocket.WebSocketServer({ noServer: true }); const lastConn = new Map(); server.on('request', (req, res) => { - log(`${req.headers["x-forwarded-for"]?.split(",")[0] || req.socket.address()?.address} - ${req.method} ${req.url}`) + log(`${req.headers["x-forwarded-for"]?.split(",")[0] || req.socket.address()?.address} - ${req.method} ${req.url} [${req.headers["user-agent"] || ""}]`) if (req.headers.accept?.includes("application/nostr+json")) return res.writeHead(200, { @@ -49,6 +49,7 @@ server.on('upgrade', (req, sock, head) => { const ip = req.headers["x-forwarded-for"]?.split(",")[0] || sock.address()?.address; const lv = lastConn.get(ip) // last visit if (config.incomming_ratelimit && (config.incomming_ratelimit > (Date.now() - lv))) { + log(`Rejected connection from ${ip} as the last connection was ${Date.now() - lv} ms ago.`); lastConn.set(ip, Date.now()); return sock.destroy(); // destroy. }