Files
NanoKVM-MIRROR/server/router/extensions.go
2026-08-20 14:29:56 +08:00

30 lines
1.0 KiB
Go

package router
import (
"NanoKVM-Server/authn"
"NanoKVM-Server/middleware"
"NanoKVM-Server/service/extensions/tailscale"
"github.com/gin-gonic/gin"
)
func extensionsRouter(r *gin.Engine) {
api := r.Group("/api/extensions").Use(
middleware.CheckToken(),
middleware.RequireRole(authn.RoleAdmin),
)
ts := tailscale.NewService()
api.POST("/tailscale/install", ts.Install) // install tailscale
api.POST("/tailscale/uninstall", ts.Uninstall) // uninstall tailscale
api.GET("/tailscale/status", ts.GetStatus) // get tailscale status
api.POST("/tailscale/up", ts.Up) // run tailscale up
api.POST("/tailscale/down", ts.Down) // run tailscale down
api.POST("/tailscale/login", ts.Login) // tailscale login
api.POST("/tailscale/logout", ts.Logout) // tailscale logout
api.POST("/tailscale/start", ts.Start) // tailscale start
api.POST("/tailscale/stop", ts.Stop) // tailscale stop
api.POST("/tailscale/restart", ts.Restart) // tailscale restart
}