From 538f7fd5d7dd193a54d2a764d65068f7c686e541 Mon Sep 17 00:00:00 2001
From: fgsfds <4870330+fgsfds@users.noreply.github.com>
Date: Sun, 9 Nov 2025 04:42:02 +0500
Subject: [PATCH] Fix: Incorrect time in xray logs (#3587)
* fixed timezone in xray logs
* remove leading / at the address
---
web/html/index.html | 4 +++-
web/service/server.go | 8 ++++----
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/web/html/index.html b/web/html/index.html
index 84445fbf..1c6bb0be 100644
--- a/web/html/index.html
+++ b/web/html/index.html
@@ -844,9 +844,11 @@
text = `
${log.Email} | `;
}
+ const { locale, timeZone } = Intl.DateTimeFormat().resolvedOptions();
+
formattedLogs += `
- | ${new Date(log.DateTime).toLocaleString()} |
+ ${new Date(log.DateTime).toLocaleString(locale, { timeZone })} |
${log.FromAddress} |
${log.ToAddress} |
${log.Inbound} |
diff --git a/web/service/server.go b/web/service/server.go
index b7cfc3a7..d48a96c3 100644
--- a/web/service/server.go
+++ b/web/service/server.go
@@ -794,17 +794,17 @@ func (s *ServerService) GetXrayLogs(
for i, part := range parts {
if i == 0 {
- dateTime, err := time.Parse("2006/01/02 15:04:05.999999", parts[0]+" "+parts[1])
+ dateTime, err := time.ParseInLocation("2006/01/02 15:04:05.999999", parts[0]+" "+parts[1], time.Local)
if err != nil {
continue
}
- entry.DateTime = dateTime
+ entry.DateTime = dateTime.UTC()
}
if part == "from" {
- entry.FromAddress = parts[i+1]
+ entry.FromAddress = strings.TrimLeft(parts[i+1], "/")
} else if part == "accepted" {
- entry.ToAddress = parts[i+1]
+ entry.ToAddress = strings.TrimLeft(parts[i+1], "/")
} else if strings.HasPrefix(part, "[") {
entry.Inbound = part[1:]
} else if strings.HasSuffix(part, "]") {