Explicitly reject detour to empty direct outbounds

This commit is contained in:
世界
2025-03-20 20:48:23 +08:00
parent bbe6ded13c
commit b37f4b68d5
20 changed files with 142 additions and 65 deletions

View File

@@ -23,6 +23,7 @@ type Options struct {
DirectResolver bool
ResolverOnDetour bool
NewDialer bool
LegacyDNSDialer bool
}
// TODO: merge with NewWithOptions
@@ -45,7 +46,7 @@ func NewWithOptions(options Options) (N.Dialer, error) {
if outboundManager == nil {
return nil, E.New("missing outbound manager")
}
dialer = NewDetour(outboundManager, dialOptions.Detour)
dialer = NewDetour(outboundManager, dialOptions.Detour, options.LegacyDNSDialer)
} else {
dialer, err = NewDefault(options.Context, dialOptions)
if err != nil {