package main import ( "embed" "leech/config" "leech/route" "net/http" "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/filesystem" "github.com/gofiber/fiber/v2/middleware/logger" ) //go:embed assets/** var assetsEmbed embed.FS func main() { config.Init() app := fiber.New() app.Use(logger.New(logger.Config{ Format: "[${ip}]:${port} ${status} - ${method} ${path}\n", })) app.Use("/assets", filesystem.New(filesystem.Config{ Root: http.FS(assetsEmbed), PathPrefix: "assets", Browse: true, })) for dirName, dirToServe := range config.Config.ServeDirs { app.Static("/serve/"+dirName, dirToServe) } app.Use("/thumb", route.HandleThumb) app.Use("/", route.HandleList) app.Listen(config.Config.Host) }