diff --git a/option/dns_record.go b/option/dns_record.go index 90c25730..190f5483 100644 --- a/option/dns_record.go +++ b/option/dns_record.go @@ -8,6 +8,7 @@ import ( E "github.com/sagernet/sing/common/exceptions" "github.com/sagernet/sing/common/json" "github.com/sagernet/sing/common/json/badoption" + M "github.com/sagernet/sing/common/metadata" "github.com/miekg/dns" ) @@ -135,6 +136,9 @@ func (o *DNSRecordOptions) UnmarshalJSON(data []byte) error { if err != nil { return err } + if a, isA := record.(*dns.A); isA { + a.A = M.AddrFromIP(a.A).Unmap().AsSlice() + } o.RR = record return nil }