sing-box/option/dns.go

36 lines
1.4 KiB
Go
Raw Permalink Normal View History

2022-07-06 15:11:48 +00:00
package option
2023-10-21 04:00:00 +00:00
import "net/netip"
2022-07-06 15:11:48 +00:00
type DNSOptions struct {
2023-03-23 11:08:48 +00:00
Servers []DNSServerOptions `json:"servers,omitempty"`
Rules []DNSRule `json:"rules,omitempty"`
Final string `json:"final,omitempty"`
ReverseMapping bool `json:"reverse_mapping,omitempty"`
2023-03-25 04:03:23 +00:00
FakeIP *DNSFakeIPOptions `json:"fakeip,omitempty"`
DNSClientOptions
}
2022-07-06 15:11:48 +00:00
type DNSServerOptions struct {
2022-07-11 10:44:59 +00:00
Tag string `json:"tag,omitempty"`
Address string `json:"address"`
AddressResolver string `json:"address_resolver,omitempty"`
AddressStrategy DomainStrategy `json:"address_strategy,omitempty"`
AddressFallbackDelay Duration `json:"address_fallback_delay,omitempty"`
Strategy DomainStrategy `json:"strategy,omitempty"`
2022-07-11 10:44:59 +00:00
Detour string `json:"detour,omitempty"`
2022-07-06 15:11:48 +00:00
}
2023-03-25 04:03:23 +00:00
type DNSClientOptions struct {
2023-04-25 20:53:25 +00:00
Strategy DomainStrategy `json:"strategy,omitempty"`
DisableCache bool `json:"disable_cache,omitempty"`
DisableExpire bool `json:"disable_expire,omitempty"`
IndependentCache bool `json:"independent_cache,omitempty"`
2023-03-25 04:03:23 +00:00
}
type DNSFakeIPOptions struct {
Enabled bool `json:"enabled,omitempty"`
2023-10-21 04:00:00 +00:00
Inet4Range *netip.Prefix `json:"inet4_range,omitempty"`
Inet6Range *netip.Prefix `json:"inet6_range,omitempty"`
2023-03-25 04:03:23 +00:00
}