From b77afebe0a5b8d4662c8e3a934d575729d832f12 Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Tue, 1 Oct 2024 14:54:13 +0200 Subject: [PATCH 1/2] add sample --- relay/index.mjs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/relay/index.mjs b/relay/index.mjs index 1148c9e..9f9bb6c 100644 --- a/relay/index.mjs +++ b/relay/index.mjs @@ -43,6 +43,10 @@ const server = app const owner = req.params.owner; const repo = req.params.repo const lang = req.params.lang + + const ip = anonymize(req.headers['x-forwarded-for'] || req.socket.remoteAddress) + console.log(`[${new Date()}] ${ip} requested translation for ${owner}/${repo} in ${lang}`) + const filename = req.params[0]; req.url = filename; express.static(path.join(getGameDir(owner,repo),".i18n",lang))(req, res, next); @@ -207,7 +211,9 @@ wss.addListener("connection", function(ws, req) { socketCounter += 1; const ip = anonymize(req.headers['x-forwarded-for'] || req.socket.remoteAddress) - console.log(`[${new Date()}] Socket opened - ${ip}`) + + // TODO (Matvey): extract further information from `req`, for example browser language. + console.log(`[${new Date()}] Socket opened - ${ip} - ${owner}/${repo}`) const socket = { onMessage: (cb) => { ws.on("message", cb) }, From 2022fa9a442ad8e2a7821b6d863ddfd44f174546 Mon Sep 17 00:00:00 2001 From: matlorr Date: Fri, 11 Oct 2024 09:10:39 +0000 Subject: [PATCH 2/2] Added logging game-access data --- .gitignore | 1 + relay/index.mjs | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/.gitignore b/.gitignore index f6fa519..e20f104 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ client/dist games/ server/.lake **/.DS_Store +logs/ diff --git a/relay/index.mjs b/relay/index.mjs index 9f9bb6c..8c4c5b3 100644 --- a/relay/index.mjs +++ b/relay/index.mjs @@ -45,6 +45,18 @@ const server = app const lang = req.params.lang const ip = anonymize(req.headers['x-forwarded-for'] || req.socket.remoteAddress) + const log = `${process.env.HOME}/lean4game/logs/game-access.log` + const header = "date;anon-ip;game;lang\n" + const data = `${new Date()};${ip};${owner}/${repo};${lang}\n` + + fs.writeFile(log, header.concat(data), { flag: 'ax' }, (file_exists) => { + if (file_exists) { + fs.appendFile(log, data, (err) => { + if (err) console.log("Failed to append to log!") + }); + } + }); + console.log(`[${new Date()}] ${ip} requested translation for ${owner}/${repo} in ${lang}`) const filename = req.params[0];