| 1234567891011121314151617181920212223242526272829303132 |
- package conf
- import (
- "v2ray.com/core/app/dns"
- v2net "v2ray.com/core/common/net"
- )
- type DnsConfig struct {
- Servers []*Address `json:"servers"`
- Hosts map[string]*Address `json:"hosts"`
- }
- func (v *DnsConfig) Build() *dns.Config {
- config := new(dns.Config)
- config.NameServers = make([]*v2net.Endpoint, len(v.Servers))
- for idx, server := range v.Servers {
- config.NameServers[idx] = &v2net.Endpoint{
- Network: v2net.Network_UDP,
- Address: server.Build(),
- Port: 53,
- }
- }
- if v.Hosts != nil {
- config.Hosts = make(map[string]*v2net.IPOrDomain)
- for domain, ip := range v.Hosts {
- config.Hosts[domain] = ip.Build()
- }
- }
- return config
- }
|