|
@@ -96,7 +96,6 @@ type DefaultDispatcher struct {
|
|
|
router routing.Router
|
|
|
policy policy.Manager
|
|
|
stats stats.Manager
|
|
|
- dns dns.Client
|
|
|
fdns dns.FakeDNSEngine
|
|
|
}
|
|
|
|
|
@@ -107,7 +106,7 @@ func init() {
|
|
|
core.OptionalFeatures(ctx, func(fdns dns.FakeDNSEngine) {
|
|
|
d.fdns = fdns
|
|
|
})
|
|
|
- return d.Init(config.(*Config), om, router, pm, sm, dc)
|
|
|
+ return d.Init(config.(*Config), om, router, pm, sm)
|
|
|
}); err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
@@ -116,12 +115,11 @@ func init() {
|
|
|
}
|
|
|
|
|
|
// Init initializes DefaultDispatcher.
|
|
|
-func (d *DefaultDispatcher) Init(config *Config, om outbound.Manager, router routing.Router, pm policy.Manager, sm stats.Manager, dns dns.Client) error {
|
|
|
+func (d *DefaultDispatcher) Init(config *Config, om outbound.Manager, router routing.Router, pm policy.Manager, sm stats.Manager) error {
|
|
|
d.ohm = om
|
|
|
d.router = router
|
|
|
d.policy = pm
|
|
|
d.stats = sm
|
|
|
- d.dns = dns
|
|
|
return nil
|
|
|
}
|
|
|
|
|
@@ -407,18 +405,6 @@ func sniffer(ctx context.Context, cReader *cachedReader, metadataOnly bool, netw
|
|
|
func (d *DefaultDispatcher) routedDispatch(ctx context.Context, link *transport.Link, destination net.Destination) {
|
|
|
outbounds := session.OutboundsFromContext(ctx)
|
|
|
ob := outbounds[len(outbounds)-1]
|
|
|
- if hosts, ok := d.dns.(dns.HostsLookup); ok && destination.Address.Family().IsDomain() {
|
|
|
- proxied := hosts.LookupHosts(ob.Target.String())
|
|
|
- if proxied != nil {
|
|
|
- ro := ob.RouteTarget == destination
|
|
|
- destination.Address = *proxied
|
|
|
- if ro {
|
|
|
- ob.RouteTarget = destination
|
|
|
- } else {
|
|
|
- ob.Target = destination
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
var handler outbound.Handler
|
|
|
|