From b77afebe0a5b8d4662c8e3a934d575729d832f12 Mon Sep 17 00:00:00 2001 From: Jon Eugster Date: Tue, 1 Oct 2024 14:54:13 +0200 Subject: [PATCH 1/3] add sample --- relay/index.mjs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/relay/index.mjs b/relay/index.mjs index 1148c9ea..9f9bb6c0 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/3] Added logging game-access data --- .gitignore | 1 + relay/index.mjs | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/.gitignore b/.gitignore index f6fa519e..e20f104c 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 9f9bb6c0..8c4c5b37 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]; From dc6f7b2822bb322b80bc4d5906893e98cda695fc Mon Sep 17 00:00:00 2001 From: matlorr Date: Mon, 21 Oct 2024 08:02:08 +0000 Subject: [PATCH 3/3] Specify that logs should be created relative to the current working directory. --- relay/index.mjs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/relay/index.mjs b/relay/index.mjs index 8c4c5b37..ffc9d743 100644 --- a/relay/index.mjs +++ b/relay/index.mjs @@ -9,7 +9,7 @@ import os from 'os'; import fs from 'fs'; import anonymize from 'ip-anonymize'; import { importTrigger, importStatus } from './import.mjs' -import process from'process'; +import process from 'process'; import { spawn } from 'child_process' // import fs from 'fs' @@ -45,7 +45,7 @@ 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 log = `${process.cwd()}/logs/game-access.log` const header = "date;anon-ip;game;lang\n" const data = `${new Date()};${ip};${owner}/${repo};${lang}\n` @@ -54,7 +54,7 @@ const server = app 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}`)