leech/main.go
2024-04-27 23:00:30 +02:00

39 lines
788 B
Go

package main
import (
"embed"
"leech/config"
"leech/route"
"net/http"
"net/url"
"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.Get("/:req", route.HandleList)
app.Get("/", route.HandleList)
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/"+url.QueryEscape(dirName), dirToServe)
}
app.Listen(config.Config.Host)
}