diff --git a/backend/cmd/main.go b/backend/cmd/main.go index 9806ecd..4f4ae4b 100644 --- a/backend/cmd/main.go +++ b/backend/cmd/main.go @@ -4,8 +4,10 @@ import ( "compress/gzip" "embed" "fmt" + "io" "io/fs" "log" + "mime" "net/url" "os" "strings" @@ -225,9 +227,19 @@ func startServer() { r := gin.Default() r.MaxMultipartMemory = 32 << 20 + mime.AddExtensionType(".js", "application/javascript; charset=utf-8") + mime.AddExtensionType(".mjs", "application/javascript; charset=utf-8") + mime.AddExtensionType(".css", "text/css; charset=utf-8") + mime.AddExtensionType(".html", "text/html; charset=utf-8") + mime.AddExtensionType(".json", "application/json; charset=utf-8") + mime.AddExtensionType(".svg", "image/svg+xml") + mime.AddExtensionType(".woff", "font/woff") + mime.AddExtensionType(".woff2", "font/woff2") + r.Use(middleware.Logger()) r.Use(middleware.Recovery()) r.Use(middleware.Cors()) + r.Use(gzipMiddleware()) r.Static("/uploads", "uploads") router.SetupRoutes(r) @@ -273,20 +285,13 @@ func setupEmbeddedFrontend(r *gin.Engine) { return } - contentType := getContentType(decodedPath) - c.Header("Cache-Control", "public, max-age=31536000, immutable") - - if strings.Contains(c.GetHeader("Accept-Encoding"), "gzip") && isCompressible(decodedPath) { - c.Header("Content-Encoding", "gzip") - c.Header("Vary", "Accept-Encoding") - c.Writer.WriteHeader(200) - c.Writer.Header().Set("Content-Type", contentType) - gw := gzip.NewWriter(c.Writer) - gw.Write(data) - gw.Close() - } else { - c.Data(200, contentType, data) + contentType := mime.TypeByExtension(decodedPath) + if contentType == "" { + contentType = "application/octet-stream" } + + c.Header("Cache-Control", "public, max-age=31536000, immutable") + c.Data(200, contentType, data) }) r.NoRoute(func(c *gin.Context) { @@ -301,7 +306,10 @@ func setupEmbeddedFrontend(r *gin.Engine) { decodedPath = path } if data, err := fs.ReadFile(distFS, decodedPath); err == nil { - contentType := getContentType(decodedPath) + contentType := mime.TypeByExtension(decodedPath) + if contentType == "" { + contentType = "application/octet-stream" + } c.Data(200, contentType, data) return } @@ -345,52 +353,71 @@ func getSettingString(settings map[string]interface{}, key, defaultValue string) return defaultValue } -func isCompressible(filename string) bool { - ext := strings.ToLower(filename[strings.LastIndex(filename, "."):]) - switch ext { - case ".js", ".mjs", ".css", ".html", ".json", ".svg", ".xml", ".txt": - return true - default: - return false +func isCompressibleContentType(contentType string) bool { + return strings.HasPrefix(contentType, "text/") || + strings.Contains(contentType, "javascript") || + strings.Contains(contentType, "json") || + strings.Contains(contentType, "xml") || + strings.Contains(contentType, "svg") +} + +func gzipMiddleware() gin.HandlerFunc { + return func(c *gin.Context) { + if !strings.Contains(c.GetHeader("Accept-Encoding"), "gzip") { + c.Next() + return + } + + c.Header("Vary", "Accept-Encoding") + + c.Writer = &gzipWriter{Writer: gzip.NewWriter(c.Writer), ResponseWriter: c.Writer} + + c.Next() + + if gw, ok := c.Writer.(*gzipWriter); ok { + contentType := c.Writer.Header().Get("Content-Type") + if !isCompressibleContentType(contentType) { + gw.ResponseWriter = &noopWriter{} + gw.Writer.Close() + c.Writer = gw.ResponseWriter + return + } + gw.Writer.Close() + } } } -func getContentType(filename string) string { - ext := strings.ToLower(filename[strings.LastIndex(filename, "."):]) - switch ext { - case ".js", ".mjs": - return "application/javascript; charset=utf-8" - case ".css": - return "text/css; charset=utf-8" - case ".html": - return "text/html; charset=utf-8" - case ".json": - return "application/json; charset=utf-8" - case ".png": - return "image/png" - case ".jpg", ".jpeg": - return "image/jpeg" - case ".gif": - return "image/gif" - case ".svg": - return "image/svg+xml" - case ".ico": - return "image/x-icon" - case ".webp": - return "image/webp" - case ".woff": - return "font/woff" - case ".woff2": - return "font/woff2" - case ".ttf": - return "font/ttf" - case ".eot": - return "application/vnd.ms-fontobject" - case ".xml": - return "application/xml" - case ".txt": - return "text/plain; charset=utf-8" - default: - return "application/octet-stream" - } +type gzipWriter struct { + gin.ResponseWriter + Writer *gzip.Writer +} + +func (w *gzipWriter) Write(data []byte) (int, error) { + contentType := w.Header().Get("Content-Type") + if !isCompressibleContentType(contentType) { + return w.ResponseWriter.Write(data) + } + if w.Header().Get("Content-Encoding") == "" { + w.Header().Set("Content-Encoding", "gzip") + } + return w.Writer.Write(data) +} + +func (w *gzipWriter) WriteString(s string) (int, error) { + contentType := w.Header().Get("Content-Type") + if !isCompressibleContentType(contentType) { + return w.ResponseWriter.WriteString(s) + } + if w.Header().Get("Content-Encoding") == "" { + w.Header().Set("Content-Encoding", "gzip") + } + return io.WriteString(w.Writer, s) +} + +type noopWriter struct { + gin.ResponseWriter +} + +func (w *noopWriter) Write(data []byte) (int, error) { + return len(data), nil } diff --git a/error.txt b/error.txt index 6339d12..0549f3c 100644 --- a/error.txt +++ b/error.txt @@ -1,95 +1,298 @@ root@super:/opt/ace/compose/verify# docker compose logs -verify-app | 2026/05/05 03:40:45 database.go:69: Using SQLite database: /app/data/verification_platform.db +verify-app | 2026/05/05 04:59:07 database.go:69: Using SQLite database: /app/data/verification_platform.db verify-app | -verify-app | 2026/05/05 03:40:45 /app/internal/database/database.go:163 -verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc0002c8140 -verify-app | 2026/05/05 03:40:45 database.go:164: Applications table columns: -verify-app | 2026/05/05 03:40:45 database.go:166: - id (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - user_id (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - name (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - description (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - icon_url (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - app_key (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - billing_type (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - login_policy (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - encrypt_type (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - encrypt_key (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - bind_type (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - max_devices (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - change_limit (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - change_interval (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - change_exceed_action (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - change_deduct_amount (REAL) -verify-app | 2026/05/05 03:40:45 database.go:166: - multi_open_mode (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - max_instances (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - enable_trial (numeric) -verify-app | 2026/05/05 03:40:45 database.go:166: - trial_balance (REAL) -verify-app | 2026/05/05 03:40:45 database.go:166: - trial_days (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - enable_free_period (numeric) -verify-app | 2026/05/05 03:40:45 database.go:166: - free_period_type (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - free_period_start (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - free_period_end (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - free_period_weekdays (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - free_period_start_time (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - free_period_end_time (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - heartbeat_interval (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - heartbeat_timeout (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - max_attempts (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - lock_duration (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - status (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - deduction_mode (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - deduction_type (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - deduction_interval (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - deduction_unit (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - deduction_amount (REAL) -verify-app | 2026/05/05 03:40:45 database.go:166: - allow_register (numeric) -verify-app | 2026/05/05 03:40:45 database.go:166: - enable_login_verify (numeric) -verify-app | 2026/05/05 03:40:45 database.go:166: - enable_register_verify (numeric) -verify-app | 2026/05/05 03:40:45 database.go:166: - verify_method (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - email_config_id (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - sms_config_id (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - enable_password_reset (numeric) -verify-app | 2026/05/05 03:40:45 database.go:166: - password_reset_method (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:166: - password_reset_email_id (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - password_reset_sms_id (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:166: - created_at (datetime) -verify-app | 2026/05/05 03:40:45 database.go:166: - updated_at (datetime) -verify-app | 2026/05/05 03:40:45 database.go:166: - deleted_at (datetime) +verify-app | 2026/05/05 04:59:07 /app/internal/database/database.go:163 +verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc000625080 +verify-app | 2026/05/05 04:59:07 database.go:164: Applications table columns: +verify-app | 2026/05/05 04:59:07 database.go:166: - id (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - user_id (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - name (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - description (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - icon_url (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - app_key (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - billing_type (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - login_policy (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - encrypt_type (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - encrypt_key (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - bind_type (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - max_devices (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - change_limit (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - change_interval (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - change_exceed_action (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - change_deduct_amount (REAL) +verify-app | 2026/05/05 04:59:07 database.go:166: - multi_open_mode (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - max_instances (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - enable_trial (numeric) +verify-app | 2026/05/05 04:59:07 database.go:166: - trial_balance (REAL) +verify-app | 2026/05/05 04:59:07 database.go:166: - trial_days (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - enable_free_period (numeric) +verify-app | 2026/05/05 04:59:07 database.go:166: - free_period_type (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - free_period_start (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - free_period_end (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - free_period_weekdays (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - free_period_start_time (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - free_period_end_time (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - heartbeat_interval (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - heartbeat_timeout (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - max_attempts (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - lock_duration (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - status (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - deduction_mode (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - deduction_type (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - deduction_interval (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - deduction_unit (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - deduction_amount (REAL) +verify-app | 2026/05/05 04:59:07 database.go:166: - allow_register (numeric) +verify-app | 2026/05/05 04:59:07 database.go:166: - enable_login_verify (numeric) +verify-app | 2026/05/05 04:59:07 database.go:166: - enable_register_verify (numeric) +verify-app | 2026/05/05 04:59:07 database.go:166: - verify_method (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - email_config_id (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - sms_config_id (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - enable_password_reset (numeric) +verify-app | 2026/05/05 04:59:07 database.go:166: - password_reset_method (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:166: - password_reset_email_id (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - password_reset_sms_id (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:166: - created_at (datetime) +verify-app | 2026/05/05 04:59:07 database.go:166: - updated_at (datetime) +verify-app | 2026/05/05 04:59:07 database.go:166: - deleted_at (datetime) verify-app | -verify-app | 2026/05/05 03:40:45 /app/internal/database/database.go:178 -verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc0002c9cc0 -verify-app | 2026/05/05 03:40:45 database.go:179: AppUsers table columns: -verify-app | 2026/05/05 03:40:45 database.go:181: - id (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:181: - username (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:181: - email (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:181: - password (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:181: - device_id (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:181: - avatar (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:181: - status (TEXT) -verify-app | 2026/05/05 03:40:45 database.go:181: - application_id (INTEGER) -verify-app | 2026/05/05 03:40:45 database.go:181: - balance (REAL) -verify-app | 2026/05/05 03:40:45 database.go:181: - expiry_at (datetime) -verify-app | 2026/05/05 03:40:45 database.go:181: - last_login_at (datetime) -verify-app | 2026/05/05 03:40:45 database.go:181: - last_heartbeat_at (datetime) -verify-app | 2026/05/05 03:40:45 database.go:181: - is_trial_user (numeric) -verify-app | 2026/05/05 03:40:45 database.go:181: - trial_start_at (datetime) -verify-app | 2026/05/05 03:40:45 database.go:181: - trial_end_at (datetime) -verify-app | 2026/05/05 03:40:45 database.go:181: - created_at (datetime) -verify-app | 2026/05/05 03:40:45 database.go:181: - updated_at (datetime) -verify-app | 2026/05/05 03:40:45 database.go:181: - deleted_at (datetime) +verify-app | 2026/05/05 04:59:07 /app/internal/database/database.go:178 +verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc00008f970 +verify-app | 2026/05/05 04:59:07 database.go:179: AppUsers table columns: +verify-app | 2026/05/05 04:59:07 database.go:181: - id (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:181: - username (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:181: - email (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:181: - password (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:181: - device_id (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:181: - avatar (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:181: - status (TEXT) +verify-app | 2026/05/05 04:59:07 database.go:181: - application_id (INTEGER) +verify-app | 2026/05/05 04:59:07 database.go:181: - balance (REAL) +verify-app | 2026/05/05 04:59:07 database.go:181: - expiry_at (datetime) +verify-app | 2026/05/05 04:59:07 database.go:181: - last_login_at (datetime) +verify-app | 2026/05/05 04:59:07 database.go:181: - last_heartbeat_at (datetime) +verify-app | 2026/05/05 04:59:07 database.go:181: - is_trial_user (numeric) +verify-app | 2026/05/05 04:59:07 database.go:181: - trial_start_at (datetime) +verify-app | 2026/05/05 04:59:07 database.go:181: - trial_end_at (datetime) +verify-app | 2026/05/05 04:59:07 database.go:181: - created_at (datetime) +verify-app | 2026/05/05 04:59:07 database.go:181: - updated_at (datetime) +verify-app | 2026/05/05 04:59:07 database.go:181: - deleted_at (datetime) verify-app | -verify-app | 2026/05/05 03:40:45 /app/internal/database/database.go:273 -verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc000235f40 -verify-app | 2026/05/05 03:40:45 database.go:418: Document data already exists, skipping initialization -verify-app | 2026/05/05 03:40:45 database.go:730: Initializing ticket data... -verify-app | 2026/05/05 03:40:45 database.go:734: No dev user found, skipping ticket initialization -verify-app | 2026/05/05 03:40:45 database.go:418: Document data already exists, skipping initialization -verify-app | 2026/05/05 03:40:45 database.go:718: Failed to connect to Redis: dial tcp [::1]:6379: connect: connection refused -verify-app | 2026/05/05 03:40:45 main.go:240: Server starting on port 8080 -verify-app | 103.244.89.77 - [Tue, 05 May 2026 03:41:04 UTC] "GET / HTTP/1.1 200 848.29µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " -verify-app | 103.244.89.77 - [Tue, 05 May 2026 03:41:04 UTC] "GET / HTTP/1.1 200 907.021µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " -verify-app | [GIN] 2026/05/05 - 03:41:04 | 200 | 922.691µs | 103.244.89.77 | GET "/" -verify-app | 103.244.89.77 - [Tue, 05 May 2026 03:41:05 UTC] "GET /logo-black.svg HTTP/1.1 200 34.14µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " -verify-app | 103.244.89.77 - [Tue, 05 May 2026 03:41:05 UTC] "GET /logo-black.svg HTTP/1.1 200 308.597µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " -verify-app | [GIN] 2026/05/05 - 03:41:05 | 200 | 764.498µs | 103.244.89.77 | GET "/logo-black.svg" +verify-app | 2026/05/05 04:59:07 /app/internal/database/database.go:273 +verify-app | [error] failed to parse field: DefaultVal, error: unsupported data type: 0xc0006817f0 +verify-app | 2026/05/05 04:59:07 database.go:418: Document data already exists, skipping initialization +verify-app | 2026/05/05 04:59:07 database.go:730: Initializing ticket data... +verify-app | 2026/05/05 04:59:07 database.go:734: No dev user found, skipping ticket initialization +verify-app | 2026/05/05 04:59:07 database.go:418: Document data already exists, skipping initialization +verify-app | 2026/05/05 04:59:07 database.go:718: Failed to connect to Redis: dial tcp [::1]:6379: connect: connection refused +verify-app | 2026/05/05 04:59:07 main.go:241: Server starting on port 8080 +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:32 UTC] "GET / HTTP/1.1 200 951.402µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:32 UTC] "GET / HTTP/1.1 200 1.062536ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:32 | 200 | 1.071216ms | 103.244.89.77 | GET "/" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:33 UTC] "GET /assets/index-DoxWyWmZ.js HTTP/1.1 200 359.883482ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:33 UTC] "GET /assets/index-DoxWyWmZ.js HTTP/1.1 200 360.212609ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:33 | 200 | 360.246009ms | 103.244.89.77 | GET "/assets/index-DoxWyWmZ.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:33 UTC] "GET /assets/index-BfXsKSU-.css HTTP/1.1 200 1.071762817s "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:33 UTC] "GET /assets/index-BfXsKSU-.css HTTP/1.1 200 1.071998323s "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:33 | 200 | 1.072024884s | 103.244.89.77 | GET "/assets/index-BfXsKSU-.css" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:34 UTC] "GET /logo-black.svg HTTP/1.1 200 33.351µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:34 UTC] "GET /logo-black.svg HTTP/1.1 200 209.845µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:34 | 200 | 218.144µs | 103.244.89.77 | GET "/logo-black.svg" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:34 UTC] "GET /api/install/status HTTP/1.1 200 479.822µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:34 UTC] "GET /api/install/status HTTP/1.1 200 665.496µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:34 | 200 | 713.857µs | 103.244.89.77 | GET "/api/install/status" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/index-BJnq4yQ9.js HTTP/1.1 200 630.615µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/index-BJnq4yQ9.js HTTP/1.1 200 731.978µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 785.6µs | 103.244.89.77 | GET "/assets/index-BJnq4yQ9.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/admin-C1hzinZI.js HTTP/1.1 200 2.191591ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/admin-C1hzinZI.js HTTP/1.1 200 2.435859ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 2.46971ms | 103.244.89.77 | GET "/assets/admin-C1hzinZI.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/Button.vue_vue_type_script_setup_true_lang-BW0CQfxM.js HTTP/1.1 200 464.011µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/Button.vue_vue_type_script_setup_true_lang-BW0CQfxM.js HTTP/1.1 200 547.402µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 555.053µs | 103.244.89.77 | GET "/assets/Button.vue_vue_type_script_setup_true_lang-BW0CQfxM.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/toggle-theme.vue_vue_type_script_setup_true_lang-GCJifAgv.js HTTP/1.1 200 2.930561ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/toggle-theme.vue_vue_type_script_setup_true_lang-GCJifAgv.js HTTP/1.1 200 3.121174ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 3.147606ms | 103.244.89.77 | GET "/assets/toggle-theme.vue_vue_type_script_setup_true_lang-GCJifAgv.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/chevron-right-BOMtceEI.js HTTP/1.1 200 542.413µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/chevron-right-BOMtceEI.js HTTP/1.1 200 660.066µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 666.926µs | 103.244.89.77 | GET "/assets/chevron-right-BOMtceEI.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/Presence-B2ehKLzp.js HTTP/1.1 200 1.076375ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/Presence-B2ehKLzp.js HTTP/1.1 200 1.148237ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 1.156536ms | 103.244.89.77 | GET "/assets/Presence-B2ehKLzp.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/DialogTitle-PnLD98fS.js HTTP/1.1 200 797.488µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/DialogTitle-PnLD98fS.js HTTP/1.1 200 886.741µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 895.283µs | 103.244.89.77 | GET "/assets/DialogTitle-PnLD98fS.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/useForwardExpose-Dyf9JicK.js HTTP/1.1 200 349.559µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/useForwardExpose-Dyf9JicK.js HTTP/1.1 200 1.64715ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 1.722791ms | 103.244.89.77 | GET "/assets/useForwardExpose-Dyf9JicK.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/Teleport-DztKJKBh.js HTTP/1.1 200 2.268814ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/Teleport-DztKJKBh.js HTTP/1.1 200 3.259817ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 3.306268ms | 103.244.89.77 | GET "/assets/Teleport-DztKJKBh.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/DialogPortal-MXQjtRrV.js HTTP/1.1 200 502.903µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/DialogPortal-MXQjtRrV.js HTTP/1.1 200 638.825µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 647.664µs | 103.244.89.77 | GET "/assets/DialogPortal-MXQjtRrV.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/handleAndDispatchCustomEvent-ChOKVcqp.js HTTP/1.1 200 425.119µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/handleAndDispatchCustomEvent-ChOKVcqp.js HTTP/1.1 200 570.983µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 578.454µs | 103.244.89.77 | GET "/assets/handleAndDispatchCustomEvent-ChOKVcqp.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/nullish-CHIgUVhi.js HTTP/1.1 200 370.958µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:35 UTC] "GET /assets/nullish-CHIgUVhi.js HTTP/1.1 200 559.234µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:35 | 200 | 588.384µs | 103.244.89.77 | GET "/assets/nullish-CHIgUVhi.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-VvbNUUF1.js HTTP/1.1 200 3.449522ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-VvbNUUF1.js HTTP/1.1 200 3.580125ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 3.590716ms | 103.244.89.77 | GET "/assets/DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-VvbNUUF1.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/RovingFocusGroup-DeSHoQAD.js HTTP/1.1 200 412.83µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/RovingFocusGroup-DeSHoQAD.js HTTP/1.1 200 498.162µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 505.482µs | 103.244.89.77 | GET "/assets/RovingFocusGroup-DeSHoQAD.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/useTypeahead-FkQmBycg.js HTTP/1.1 200 274.447µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/useTypeahead-FkQmBycg.js HTTP/1.1 200 334.098µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 341.608µs | 103.244.89.77 | GET "/assets/useTypeahead-FkQmBycg.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/PopperContent-DbsvOHwg.js HTTP/1.1 200 1.518316ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/PopperContent-DbsvOHwg.js HTTP/1.1 200 1.719901ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 1.748232ms | 103.244.89.77 | GET "/assets/PopperContent-DbsvOHwg.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/Collection-BAcqxeuT.js HTTP/1.1 200 1.231559ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/Collection-BAcqxeuT.js HTTP/1.1 200 1.323172ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 1.332092ms | 103.244.89.77 | GET "/assets/Collection-BAcqxeuT.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/utils-BSyFCJg4.js HTTP/1.1 200 286.657µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/utils-BSyFCJg4.js HTTP/1.1 200 455.651µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 482.822µs | 103.244.89.77 | GET "/assets/utils-BSyFCJg4.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/TooltipTrigger.vue_vue_type_script_setup_true_lang-DlgXMLv7.js HTTP/1.1 200 918.692µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/TooltipTrigger.vue_vue_type_script_setup_true_lang-DlgXMLv7.js HTTP/1.1 200 992.774µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 1.000044ms | 103.244.89.77 | GET "/assets/TooltipTrigger.vue_vue_type_script_setup_true_lang-DlgXMLv7.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/config-CtltiSGh.js HTTP/1.1 200 265.406µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/config-CtltiSGh.js HTTP/1.1 200 380.879µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 388.53µs | 103.244.89.77 | GET "/assets/config-CtltiSGh.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/VisuallyHidden-D62_wXQj.js HTTP/1.1 200 901.191µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/VisuallyHidden-D62_wXQj.js HTTP/1.1 200 1.208199ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 1.2418ms | 103.244.89.77 | GET "/assets/VisuallyHidden-D62_wXQj.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/circle-LMAkEZDv.js HTTP/1.1 200 340.489µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:36 UTC] "GET /assets/circle-LMAkEZDv.js HTTP/1.1 200 410.51µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:36 | 200 | 422.5µs | 103.244.89.77 | GET "/assets/circle-LMAkEZDv.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-R6dyfzer.js HTTP/1.1 200 562.003µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-R6dyfzer.js HTTP/1.1 200 648.085µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 655.655µs | 103.244.89.77 | GET "/assets/PopoverTrigger.vue_vue_type_script_setup_true_lang-R6dyfzer.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/Label.vue_vue_type_script_setup_true_lang-C5u6Jh0Q.js HTTP/1.1 200 263.076µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/Label.vue_vue_type_script_setup_true_lang-C5u6Jh0Q.js HTTP/1.1 200 361.609µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 368.379µs | 103.244.89.77 | GET "/assets/Label.vue_vue_type_script_setup_true_lang-C5u6Jh0Q.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/AvatarImage.vue_vue_type_script_setup_true_lang-ScEmLal1.js HTTP/1.1 200 947.193µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/AvatarImage.vue_vue_type_script_setup_true_lang-ScEmLal1.js HTTP/1.1 200 1.706191ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 1.905176ms | 103.244.89.77 | GET "/assets/AvatarImage.vue_vue_type_script_setup_true_lang-ScEmLal1.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/settings-D5-8pkJR.js HTTP/1.1 200 224.675µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/settings-D5-8pkJR.js HTTP/1.1 200 301.937µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 309.137µs | 103.244.89.77 | GET "/assets/settings-D5-8pkJR.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/CardContent.vue_vue_type_script_setup_true_lang-DPZryuTV.js HTTP/1.1 200 210.565µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/CardContent.vue_vue_type_script_setup_true_lang-DPZryuTV.js HTTP/1.1 200 287.416µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 293.297µs | 103.244.89.77 | GET "/assets/CardContent.vue_vue_type_script_setup_true_lang-DPZryuTV.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/Separator.vue_vue_type_script_setup_true_lang-71Wq2rGM.js HTTP/1.1 200 471.451µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/Separator.vue_vue_type_script_setup_true_lang-71Wq2rGM.js HTTP/1.1 200 552.923µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 559.943µs | 103.244.89.77 | GET "/assets/Separator.vue_vue_type_script_setup_true_lang-71Wq2rGM.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/Badge.vue_vue_type_script_setup_true_lang-DHc6SYF7.js HTTP/1.1 200 1.076226ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/Badge.vue_vue_type_script_setup_true_lang-DHc6SYF7.js HTTP/1.1 200 1.159658ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 1.167398ms | 103.244.89.77 | GET "/assets/Badge.vue_vue_type_script_setup_true_lang-DHc6SYF7.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/crown-D4BePwBT.js HTTP/1.1 200 258.036µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:37 UTC] "GET /assets/crown-D4BePwBT.js HTTP/1.1 200 414.97µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:37 | 200 | 437.84µs | 103.244.89.77 | GET "/assets/crown-D4BePwBT.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/zap-D0k7SyOc.js HTTP/1.1 200 232.735µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/zap-D0k7SyOc.js HTTP/1.1 200 564.133µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 661.946µs | 103.244.89.77 | GET "/assets/zap-D0k7SyOc.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/chevrons-up-down-B2NPstpy.js HTTP/1.1 200 338.937µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/chevrons-up-down-B2NPstpy.js HTTP/1.1 200 438.859µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 447.211µs | 103.244.89.77 | GET "/assets/chevrons-up-down-B2NPstpy.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/database-CSOj9u_P.js HTTP/1.1 200 517.933µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/database-CSOj9u_P.js HTTP/1.1 200 634.385µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 702.817µs | 103.244.89.77 | GET "/assets/database-CSOj9u_P.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/ticket-CKyJ7VO7.js HTTP/1.1 200 201.774µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/ticket-CKyJ7VO7.js HTTP/1.1 200 285.656µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 297.788µs | 103.244.89.77 | GET "/assets/ticket-CKyJ7VO7.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/boxes-De9cvdP7.js HTTP/1.1 200 252.987µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/boxes-De9cvdP7.js HTTP/1.1 200 403.63µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 428.881µs | 103.244.89.77 | GET "/assets/boxes-De9cvdP7.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/hash-Dh_yhb_P.js HTTP/1.1 200 300.667µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/hash-Dh_yhb_P.js HTTP/1.1 200 621.695µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 663.856µs | 103.244.89.77 | GET "/assets/hash-Dh_yhb_P.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/git-branch-DOgY_6Y6.js HTTP/1.1 200 261.566µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/git-branch-DOgY_6Y6.js HTTP/1.1 200 291.826µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 296.939µs | 103.244.89.77 | GET "/assets/git-branch-DOgY_6Y6.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/megaphone-CEUfVOUa.js HTTP/1.1 200 1.711251ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/megaphone-CEUfVOUa.js HTTP/1.1 200 1.784914ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 1.791763ms | 103.244.89.77 | GET "/assets/megaphone-CEUfVOUa.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/key-DPABnB2z.js HTTP/1.1 200 252.577µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/key-DPABnB2z.js HTTP/1.1 200 439.281µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 464.581µs | 103.244.89.77 | GET "/assets/key-DPABnB2z.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/users-DmCxDnbH.js HTTP/1.1 200 297.416µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:38 UTC] "GET /assets/users-DmCxDnbH.js HTTP/1.1 200 367.048µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:38 | 200 | 373.268µs | 103.244.89.77 | GET "/assets/users-DmCxDnbH.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/smartphone-DYYdkdw2.js HTTP/1.1 200 306.986µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/smartphone-DYYdkdw2.js HTTP/1.1 200 456.382µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:39 | 200 | 484.012µs | 103.244.89.77 | GET "/assets/smartphone-DYYdkdw2.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/dollar-sign-oKcJ_qpo.js HTTP/1.1 200 859.431µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/dollar-sign-oKcJ_qpo.js HTTP/1.1 200 942.103µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:39 | 200 | 950.813µs | 103.244.89.77 | GET "/assets/dollar-sign-oKcJ_qpo.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/variable-mFgZHT-9.js HTTP/1.1 200 235.425µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/variable-mFgZHT-9.js HTTP/1.1 200 429.77µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:39 | 200 | 456.711µs | 103.244.89.77 | GET "/assets/variable-mFgZHT-9.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/code-rucqtecV.js HTTP/1.1 200 294.567µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/code-rucqtecV.js HTTP/1.1 200 379.628µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:39 | 200 | 419.351µs | 103.244.89.77 | GET "/assets/code-rucqtecV.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/shield-BHy4a6t5.js HTTP/1.1 200 271.587µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/shield-BHy4a6t5.js HTTP/1.1 200 575.643µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:39 | 200 | 611.254µs | 103.244.89.77 | GET "/assets/shield-BHy4a6t5.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/plug-BUw8lDqy.js HTTP/1.1 200 1.960456ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:39 UTC] "GET /assets/plug-BUw8lDqy.js HTTP/1.1 200 2.07387ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:39 | 200 | 2.082668ms | 103.244.89.77 | GET "/assets/plug-BUw8lDqy.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/credit-card-f_3GRknG.js HTTP/1.1 200 214.465µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/credit-card-f_3GRknG.js HTTP/1.1 200 299.279µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 310.958µs | 103.244.89.77 | GET "/assets/credit-card-f_3GRknG.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/monitor-Bt5tXtXS.js HTTP/1.1 200 306.878µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/monitor-Bt5tXtXS.js HTTP/1.1 200 431.32µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 439.12µs | 103.244.89.77 | GET "/assets/monitor-Bt5tXtXS.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/message-square-BsejJkia.js HTTP/1.1 200 229.597µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/message-square-BsejJkia.js HTTP/1.1 200 300.117µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 307.418µs | 103.244.89.77 | GET "/assets/message-square-BsejJkia.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/log-out-DjyB9hj4.js HTTP/1.1 200 290.057µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/log-out-DjyB9hj4.js HTTP/1.1 200 475.671µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 487.48µs | 103.244.89.77 | GET "/assets/log-out-DjyB9hj4.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/hard-drive-DWc9iBj_.js HTTP/1.1 200 1.819934ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/hard-drive-DWc9iBj_.js HTTP/1.1 200 2.119611ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 2.170683ms | 103.244.89.77 | GET "/assets/hard-drive-DWc9iBj_.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/mail-DixYhp_V.js HTTP/1.1 200 278.817µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/mail-DixYhp_V.js HTTP/1.1 200 557.173µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 596.234µs | 103.244.89.77 | GET "/assets/mail-DixYhp_V.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/api-Dphx-5K-.js HTTP/1.1 200 491.662µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/api-Dphx-5K-.js HTTP/1.1 200 592.843µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 599.915µs | 103.244.89.77 | GET "/assets/api-Dphx-5K-.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/CardDescription.vue_vue_type_script_setup_true_lang-Cws7j5Zi.js HTTP/1.1 200 352.699µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/CardDescription.vue_vue_type_script_setup_true_lang-Cws7j5Zi.js HTTP/1.1 200 426.53µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 432.45µs | 103.244.89.77 | GET "/assets/CardDescription.vue_vue_type_script_setup_true_lang-Cws7j5Zi.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/CardTitle.vue_vue_type_script_setup_true_lang-vOfK23l8.js HTTP/1.1 200 227.885µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/CardTitle.vue_vue_type_script_setup_true_lang-vOfK23l8.js HTTP/1.1 200 383.039µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 404.941µs | 103.244.89.77 | GET "/assets/CardTitle.vue_vue_type_script_setup_true_lang-vOfK23l8.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/basic-page.vue_vue_type_script_setup_true_lang-CUNv6V1G.js HTTP/1.1 200 513.653µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/basic-page.vue_vue_type_script_setup_true_lang-CUNv6V1G.js HTTP/1.1 200 672.228µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 683.397µs | 103.244.89.77 | GET "/assets/basic-page.vue_vue_type_script_setup_true_lang-CUNv6V1G.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/layout-grid-DPdwq3G3.js HTTP/1.1 200 403.11µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:40 UTC] "GET /assets/layout-grid-DPdwq3G3.js HTTP/1.1 200 616.076µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:40 | 200 | 716.808µs | 103.244.89.77 | GET "/assets/layout-grid-DPdwq3G3.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:41 UTC] "GET /assets/arrow-right-D420FtAf.js HTTP/1.1 200 351.039µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:41 UTC] "GET /assets/arrow-right-D420FtAf.js HTTP/1.1 200 433.26µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:41 | 200 | 439.18µs | 103.244.89.77 | GET "/assets/arrow-right-D420FtAf.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:41 UTC] "GET /assets/index-DwjdSFGn.js HTTP/1.1 200 534.311305ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:41 UTC] "GET /assets/index-DwjdSFGn.js HTTP/1.1 200 534.50403ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:41 | 200 | 534.534179ms | 103.244.89.77 | GET "/assets/index-DwjdSFGn.js" +verify-app | JWT中间件被调用: GET /api/v1/dev/dashboard +verify-app | JWT中间件: 验证成功, user_id=1, role=admin +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /api/v1/dev/dashboard HTTP/1.1 200 9.073197ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /api/v1/dev/dashboard HTTP/1.1 200 9.18858ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:42 | 200 | 9.1995ms | 103.244.89.77 | GET "/api/v1/dev/dashboard" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /avatars/admin.jpg HTTP/1.1 200 656.126µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /avatars/admin.jpg HTTP/1.1 200 948.593µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:42 | 200 | 1.060876ms | 103.244.89.77 | GET "/avatars/admin.jpg" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /logo-black.svg HTTP/1.1 200 34.741µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /logo-black.svg HTTP/1.1 200 135.903µs "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:42 | 200 | 147.333µs | 103.244.89.77 | GET "/logo-black.svg" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /assets/auto-CquwA8NN.js HTTP/1.1 200 24.780483ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:42 UTC] "GET /assets/auto-CquwA8NN.js HTTP/1.1 200 25.023429ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:42 | 200 | 25.231414ms | 103.244.89.77 | GET "/assets/auto-CquwA8NN.js" +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:43 UTC] "GET /world.json HTTP/1.1 200 625.188099ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | 103.244.89.77 - [Tue, 05 May 2026 04:59:43 UTC] "GET /world.json HTTP/1.1 200 625.284262ms "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36 Edg/147.0.0.0" " +verify-app | [GIN] 2026/05/05 - 04:59:43 | 200 | 625.289642ms | 103.244.89.77 | GET "/world.json" root@super:/opt/ace/compose/verify# \ No newline at end of file diff --git a/frontend/src/pages/admin/index.vue b/frontend/src/pages/admin/index.vue index 972914a..237e648 100644 --- a/frontend/src/pages/admin/index.vue +++ b/frontend/src/pages/admin/index.vue @@ -1,6 +1,5 @@