package main import ( "license-server/license" "license-server/storage" "os" "time" "github.com/gofiber/fiber/v2" ) func main() { db := storage.InitDB() license.InitCrypto(db) app := fiber.New() // --- 简单健康检查 --- app.Get("/api/health", func(c *fiber.Ctx) error { return c.JSON(fiber.Map{ "status": "ok", "ts": time.Now().Unix(), }) }) // --- 公钥只读接口 --- app.Get("/api/license/public-key", func(c *fiber.Ctx) error { return c.JSON(fiber.Map{ "public_key_pem": license.ExportPublicKeyPEM(), }) }) // (可选)启动时把公钥写文件,便于手工分发 _ = os.WriteFile("/root/database/public_key.pem", []byte(license.ExportPublicKeyPEM()), 0644) app.Post("/api/license/generate", license.GenerateLicenseHandler(db)) app.Post("/api/license/activate", license.ActivateLicenseHandler(db)) app.Post("/api/license/validate", license.ValidateLicenseHandler(db)) app.Listen(":13579") }