diff --git a/component/dialer/dialer.go b/component/dialer/dialer.go index 663568ad..4f5d820e 100644 --- a/component/dialer/dialer.go +++ b/component/dialer/dialer.go @@ -3,6 +3,7 @@ package dialer import ( "context" "errors" + "fmt" "github.com/Dreamacro/clash/log" "net" "net/netip" @@ -107,6 +108,10 @@ func dialContext(ctx context.Context, network string, destination netip.Addr, po bindMarkToDialer(opt.routingMark, dialer, network, destination) } + if DisableIPv6 && destination.Is6() { + return nil, fmt.Errorf("IPv6 is diabled, dialer cancel") + } + return dialer.DialContext(ctx, network, net.JoinHostPort(destination.String(), port)) }