From 2014913a0b0bcb8ace8dc99a3e35a32d79e028fb Mon Sep 17 00:00:00 2001 From: nyne Date: Sun, 13 Jul 2025 16:53:38 +0800 Subject: [PATCH] Fix user file listing to handle URL decoding for usernames --- server/api/file.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/api/file.go b/server/api/file.go index 9073ad0..25f904d 100644 --- a/server/api/file.go +++ b/server/api/file.go @@ -30,7 +30,7 @@ func AddFileRoutes(router fiber.Router) { fileGroup.Delete("/:id", deleteFile) fileGroup.Get("/download/local", downloadLocalFile) fileGroup.Get("/download/:id", downloadFile, middleware.NewDynamicRequestLimiter(config.MaxDownloadsPerDayForSingleIP, 24*time.Hour)) - fileGroup.Get("/user/:username", listUserFiles, middleware.NewRequestLimiter(100, 24*time.Hour)) + fileGroup.Get("/user/:username", listUserFiles) } } @@ -277,6 +277,11 @@ func createServerDownloadTask(c fiber.Ctx) error { func listUserFiles(c fiber.Ctx) error { username := c.Params("username") + var err error + username, err = url.PathUnescape(username) + if err != nil { + return model.NewRequestError("Invalid username") + } page, err := strconv.Atoi(c.Query("page", "1")) if err != nil || page < 1 { return model.NewRequestError("Invalid page number")