Some checks failed
Build Multi-Platform Binaries / build-frontend (push) Successful in 30s
Build Multi-Platform Binaries / build-binaries (amd64, darwin, server, false) (push) Successful in 1m4s
Build Multi-Platform Binaries / build-binaries (amd64, linux, client, true) (push) Successful in 45s
Build Multi-Platform Binaries / build-binaries (amd64, linux, server, true) (push) Successful in 1m29s
Build Multi-Platform Binaries / build-binaries (amd64, windows, client, true) (push) Successful in 45s
Build Multi-Platform Binaries / build-binaries (amd64, windows, server, true) (push) Successful in 1m27s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, client, true) (push) Successful in 50s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, server, true) (push) Successful in 1m42s
Build Multi-Platform Binaries / build-binaries (arm64, darwin, server, false) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm64, linux, client, true) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm64, linux, server, true) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm64, windows, server, false) (push) Has been cancelled
52 lines
1.3 KiB
Go
52 lines
1.3 KiB
Go
package handler
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
// removed router import
|
|
"github.com/gotunnel/internal/server/router/dto"
|
|
)
|
|
|
|
// StatusHandler 状态处理器
|
|
type StatusHandler struct {
|
|
app AppInterface
|
|
}
|
|
|
|
// NewStatusHandler 创建状态处理器
|
|
func NewStatusHandler(app AppInterface) *StatusHandler {
|
|
return &StatusHandler{app: app}
|
|
}
|
|
|
|
// GetStatus 获取服务器状态
|
|
// @Summary 获取服务器状态
|
|
// @Description 返回服务器运行状态和客户端数量
|
|
// @Tags 状态
|
|
// @Produce json
|
|
// @Security Bearer
|
|
// @Success 200 {object} Response{data=dto.StatusResponse}
|
|
// @Router /api/status [get]
|
|
func (h *StatusHandler) GetStatus(c *gin.Context) {
|
|
clients, _ := h.app.GetClientStore().GetAllClients()
|
|
|
|
status := dto.StatusResponse{
|
|
Server: dto.ServerStatus{
|
|
BindAddr: h.app.GetServer().GetBindAddr(),
|
|
BindPort: h.app.GetServer().GetBindPort(),
|
|
},
|
|
ClientCount: len(clients),
|
|
}
|
|
|
|
Success(c, status)
|
|
}
|
|
|
|
// GetVersion 获取版本信息
|
|
// @Summary 获取版本信息
|
|
// @Description 返回服务器版本信息
|
|
// @Tags 状态
|
|
// @Produce json
|
|
// @Security Bearer
|
|
// @Success 200 {object} Response{data=dto.VersionInfo}
|
|
// @Router /api/update/version [get]
|
|
func (h *StatusHandler) GetVersion(c *gin.Context) {
|
|
Success(c, getVersionInfo())
|
|
}
|