🆕导入配置文件完成
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package vo
|
||||
|
||||
import "wireguard-ui/global/constant"
|
||||
|
||||
// SettingItem
|
||||
// @description: 设置单项
|
||||
type SettingItem struct {
|
||||
@@ -9,44 +11,44 @@ type SettingItem struct {
|
||||
}
|
||||
|
||||
type Export struct {
|
||||
Global Global `json:"global"`
|
||||
Server Server `json:"server"`
|
||||
Clients []Client `json:"clients"`
|
||||
Global *Global `json:"global" label:"全局配置" binding:"required"`
|
||||
Server *Server `json:"server" label:"服务端配置" binding:"required"`
|
||||
Clients []Client `json:"clients" label:"客户端" binding:"omitempty"`
|
||||
}
|
||||
|
||||
type Global struct {
|
||||
MTU int `json:"MTU"`
|
||||
ConfigFilePath string `json:"configFilePath"`
|
||||
DnsServer []string `json:"dnsServer"`
|
||||
EndpointAddress string `json:"endpointAddress"`
|
||||
FirewallMark string `json:"firewallMark"`
|
||||
PersistentKeepalive int `json:"persistentKeepalive"`
|
||||
Table string `json:"table"`
|
||||
MTU int `json:"MTU" label:"MTU" binding:"required"`
|
||||
ConfigFilePath string `json:"configFilePath" label:"配置文件路径" binding:"required"`
|
||||
DnsServer []string `json:"dnsServer" label:"DNS" binding:"omitempty"`
|
||||
EndpointAddress string `json:"endpointAddress" label:"公网地址" binding:"required"`
|
||||
FirewallMark string `json:"firewallMark" label:"firewallMark" binding:"omitempty"`
|
||||
PersistentKeepalive int `json:"persistentKeepalive" label:"persistentKeepalive" binding:"required"`
|
||||
Table string `json:"table" label:"table" binding:"omitempty"`
|
||||
}
|
||||
|
||||
type Server struct {
|
||||
IpScope []string `json:"ipScope"`
|
||||
ListenPort int `json:"listenPort"`
|
||||
PrivateKey string `json:"privateKey"`
|
||||
PublicKey string `json:"publicKey"`
|
||||
PostUpScript string `json:"postUpScript"`
|
||||
PostDownScript string `json:"postDownScript"`
|
||||
IpScope []string `json:"ipScope" label:"ipScope" binding:"min=1,dive,required"`
|
||||
ListenPort int `json:"listenPort" label:"listenPort" binding:"required"`
|
||||
PrivateKey string `json:"privateKey" label:"privateKey" binding:"required"`
|
||||
PublicKey string `json:"publicKey" label:"publicKey" binding:"required"`
|
||||
PostUpScript string `json:"postUpScript" label:"postUpScript" binding:"omitempty"`
|
||||
PostDownScript string `json:"postDownScript" label:"postDownScript" binding:"omitempty"`
|
||||
}
|
||||
|
||||
type Client struct {
|
||||
Name string `json:"name"`
|
||||
Email string `json:"email"`
|
||||
SubnetRange string `json:"subnetRange"`
|
||||
IpAllocation []string `json:"ipAllocation"`
|
||||
AllowedIps []string `json:"allowedIps"`
|
||||
ExtraAllowedIps []string `json:"extraAllowedIps"`
|
||||
Endpoint string `json:"endpoint"`
|
||||
UseServerDns int `json:"useServerDns"`
|
||||
Name string `json:"name" label:"name" binding:"required"`
|
||||
Email string `json:"email" label:"email" binding:"omitempty"`
|
||||
SubnetRange string `json:"subnetRange" label:"subnetRange" binding:"omitempty"`
|
||||
IpAllocation []string `json:"ipAllocation" label:"ipAllocation" binding:"min=1,dive,required"`
|
||||
AllowedIps []string `json:"allowedIps" label:"allowedIps" binding:"min=1,dive,required"`
|
||||
ExtraAllowedIps []string `json:"extraAllowedIps" label:"extraAllowedIps" binding:"omitempty"`
|
||||
Endpoint string `json:"endpoint" label:"endpoint" binding:"endpoint"`
|
||||
UseServerDns *constant.Status `json:"useServerDns" label:"useServerDns" binding:"omitempty"`
|
||||
Keys struct {
|
||||
PresharedKey string `json:"presharedKey"`
|
||||
PrivateKey string `json:"privateKey"`
|
||||
PublicKey string `json:"publicKey"`
|
||||
} `json:"keys"`
|
||||
Enabled int `json:"enabled"`
|
||||
OfflineMonitoring int `json:"offlineMonitoring"`
|
||||
PresharedKey string `json:"presharedKey" label:"presharedKey" binding:"required"`
|
||||
PrivateKey string `json:"privateKey" label:"privateKey" binding:"required"`
|
||||
PublicKey string `json:"publicKey" label:"publicKey" binding:"required"`
|
||||
} `json:"keys" label:"keys" binding:"required"`
|
||||
Enabled *constant.Status `json:"enabled" label:"enabled" binding:"required"`
|
||||
OfflineMonitoring *constant.Status `json:"offlineMonitoring" label:"offlineMonitoring" binding:"required"`
|
||||
}
|
||||
|
Reference in New Issue
Block a user