Merge remote-tracking branch 'Pro-Plus/with-tun' into Alpha

# Conflicts:
#	README.md
#	adapter/outbound/trojan.go
#	adapter/outbound/vless.go
#	transport/trojan/trojan.go
This commit is contained in:
MetaCubeX
2022-03-30 13:15:45 +08:00
33 changed files with 569 additions and 327 deletions

View File

@ -131,12 +131,13 @@ func updateDNS(c *config.DNS, t *config.Tun) {
Domain: c.FallbackFilter.Domain,
GeoSite: c.FallbackFilter.GeoSite,
},
Default: c.DefaultNameserver,
Policy: c.NameServerPolicy,
Default: c.DefaultNameserver,
Policy: c.NameServerPolicy,
ProxyServer: c.ProxyServerNameserver,
}
r := dns.NewResolver(cfg)
mr := dns.NewMainResolver(r)
pr := dns.NewProxyServerHostResolver(r)
m := dns.NewEnhancer(cfg)
// reuse cache of old host mapper
@ -145,9 +146,12 @@ func updateDNS(c *config.DNS, t *config.Tun) {
}
resolver.DefaultResolver = r
resolver.MainResolver = mr
resolver.DefaultHostMapper = m
if pr.HasProxyServer() {
resolver.ProxyServerHostResolver = pr
}
if t.Enable {
resolver.DefaultLocalServer = dns.NewLocalServer(r, m)
}
@ -157,9 +161,9 @@ func updateDNS(c *config.DNS, t *config.Tun) {
} else {
if !t.Enable {
resolver.DefaultResolver = nil
resolver.MainResolver = nil
resolver.DefaultHostMapper = nil
resolver.DefaultLocalServer = nil
resolver.ProxyServerHostResolver = nil
}
dns.ReCreateServer("", nil, nil)
}
@ -365,7 +369,9 @@ func updateIPTables(cfg *config.Config) {
log.Infoln("[IPTABLES] Setting iptables completed")
}
func Cleanup() {
func Shutdown() {
P.Cleanup()
tproxy.CleanupTProxyIPTables()
log.Warnln("Clash shutting down")
}

View File

@ -48,7 +48,3 @@ func Parse(options ...Option) error {
executor.ApplyConfig(cfg, true)
return nil
}
func Cleanup() {
executor.Cleanup()
}