Files
frps-panel/pkg/server/controller/variables.go

118 lines
2.5 KiB
Go

package controller
import (
"regexp"
)
const (
Success = 0
ParamError = 1
UserExist = 2
SaveError = 3
UserFormatError = 4
TokenFormatError = 5
FrpServerError = 6
SessionName = "GOSESSION"
AuthName = "_PANEL_AUTH"
LoginUrl = "/login"
LoginSuccessUrl = "/"
LogoutUrl = "/logout"
LogoutSuccessUrl = "/login"
)
var (
UserFormatReg = regexp.MustCompile("^\\w+$")
TokenFormatReg = regexp.MustCompile("^[\\w!@#$%^&*()]+$")
TrimAllSpaceReg = regexp.MustCompile("[\\n\\t\\r\\s]")
)
type Response struct {
Msg string `json:"msg"`
}
type HTTPError struct {
Code int
Err error
}
type Config struct {
Common CommonInfo
Tokens
}
type CommonInfo struct {
PluginAddr string `toml:"plugin_addr"`
PluginPort int `toml:"plugin_port"`
AdminUser string `toml:"admin_user"`
AdminPwd string `toml:"admin_pwd"`
AdminKeepTime int `toml:"admin_keep_time"`
TlsMode bool `toml:"tls_mode"`
TlsCertFile string `toml:"tls_cert_file"`
TlsKeyFile string `toml:"tls_key_file"`
DashboardAddr string `toml:"dashboard_addr"`
DashboardPort int `toml:"dashboard_port"`
DashboardUser string `toml:"dashboard_user"`
DashboardPwd string `toml:"dashboard_pwd"`
DashboardTls bool
}
type Tokens struct {
Tokens map[string]TokenInfo `toml:"tokens"`
}
type TokenInfo struct {
User string `toml:"user" json:"user" form:"user"`
Token string `toml:"token" json:"token" form:"token"`
Comment string `toml:"comment" json:"comment" form:"comment"`
Ports []string `toml:"ports" json:"ports" from:"ports"`
Domains []string `toml:"domains" json:"domains" from:"domains"`
Subdomains []string `toml:"subdomains" json:"subdomains" from:"subdomains"`
Status bool `toml:"status" json:"status" form:"status"`
}
type TokenResponse struct {
Code int `json:"code"`
Msg string `json:"msg"`
Count int `json:"count"`
Data []TokenInfo `json:"data"`
}
type OperationResponse struct {
Success bool `json:"success"`
Code int `json:"code"`
Message string `json:"message"`
}
type ProxyResponse struct {
OperationResponse
Data string `json:"data"`
}
type TokenSearch struct {
TokenInfo
Page int `form:"page"`
Limit int `form:"limit"`
}
type TokenUpdate struct {
Before TokenInfo `json:"before"`
After TokenInfo `json:"after"`
}
type TokenRemove struct {
Users []TokenInfo `json:"users"`
}
type TokenDisable struct {
TokenRemove
}
type TokenEnable struct {
TokenDisable
}
func (e *HTTPError) Error() string {
return e.Err.Error()
}