package models type TLS struct { Enabled bool `json:"enabled"` ServerName string `json:"server_name,omitempty"` Insecure bool `json:"insecure,omitempty"` ALPN []string `json:"alpn,omitempty"` MinVersion string `json:"min_version,omitempty"` MaxVersion string `json:"max_version,omitempty"` Reality *Reality `json:"reality,omitempty"` } type Transport struct { Type string `json:"type,omitempty"` Path string `json:"path,omitempty"` } type Reality struct { Enabled bool `json:"enabled,omitempty"` PublicKey string `json:"public_key,omitempty"` PrivateKey string `json:"private_key,omitempty"` ShortID string `json:"short_id,omitempty"` Fingerprint string `json:"fingerprint,omitempty"` } type Server struct { Tag string `json:"tag"` Region string `json:"region"` Type string `json:"type"` // socks, vless, vless-reality, shadowsocks, vmess, hysteria2 Server string `json:"server"` ServerPort int `json:"server_port"` UDPOverTCP bool `json:"udp_over_tcp,omitempty"` UUID string `json:"uuid,omitempty"` Method string `json:"method,omitempty"` Password string `json:"password,omitempty"` ObfsPassword string `json:"obfs_password,omitempty"` UpMbps int `json:"up_mbps,omitempty"` DownMbps int `json:"down_mbps,omitempty"` TLS *TLS `json:"tls,omitempty"` Transport *Transport `json:"transport,omitempty"` Companions []Server `json:"companions,omitempty"` } type ServersResponse struct { Servers []Server `json:"servers"` }