Add linux deb dependencies Add backup recovery strategy select Support custom text scaling Optimize the display of different text scale Optimize windows setup experience Optimize startTun performance Optimize android tv experience Optimize default option Optimize computed text size Optimize hyperOS freeform window Add developer mode Update core Optimize more details
60 lines
1.8 KiB
Go
60 lines
1.8 KiB
Go
package state
|
|
|
|
import "net/netip"
|
|
|
|
var DefaultIpv4Address = "172.19.0.1/30"
|
|
var DefaultDnsAddress = "172.19.0.2"
|
|
var DefaultIpv6Address = "fdfe:dcba:9876::1/126"
|
|
|
|
type AndroidVpnOptions struct {
|
|
Enable bool `json:"enable"`
|
|
Port int `json:"port"`
|
|
AccessControl *AccessControl `json:"accessControl"`
|
|
AllowBypass bool `json:"allowBypass"`
|
|
SystemProxy bool `json:"systemProxy"`
|
|
BypassDomain []string `json:"bypassDomain"`
|
|
RouteAddress []netip.Prefix `json:"routeAddress"`
|
|
Ipv4Address string `json:"ipv4Address"`
|
|
Ipv6Address string `json:"ipv6Address"`
|
|
DnsServerAddress string `json:"dnsServerAddress"`
|
|
}
|
|
|
|
type AccessControl struct {
|
|
Enable bool `json:"enable"`
|
|
Mode string `json:"mode"`
|
|
AcceptList []string `json:"acceptList"`
|
|
RejectList []string `json:"rejectList"`
|
|
}
|
|
|
|
type AndroidVpnRawOptions struct {
|
|
Enable bool `json:"enable"`
|
|
AccessControl *AccessControl `json:"accessControl"`
|
|
AllowBypass bool `json:"allowBypass"`
|
|
SystemProxy bool `json:"systemProxy"`
|
|
Ipv6 bool `json:"ipv6"`
|
|
}
|
|
|
|
type State struct {
|
|
VpnProps AndroidVpnRawOptions `json:"vpn-props"`
|
|
CurrentProfileName string `json:"current-profile-name"`
|
|
OnlyStatisticsProxy bool `json:"only-statistics-proxy"`
|
|
BypassDomain []string `json:"bypass-domain"`
|
|
}
|
|
|
|
var CurrentState = &State{
|
|
OnlyStatisticsProxy: false,
|
|
CurrentProfileName: "",
|
|
}
|
|
|
|
func GetIpv6Address() string {
|
|
if CurrentState.VpnProps.Ipv6 {
|
|
return DefaultIpv6Address
|
|
} else {
|
|
return ""
|
|
}
|
|
}
|
|
|
|
func GetDnsServerAddress() string {
|
|
return DefaultDnsAddress
|
|
}
|