Compare commits

..

1 Commits

Author SHA1 Message Date
世界
fed9ad9046
Bump version 2025-08-08 17:09:01 +08:00
8 changed files with 23 additions and 38 deletions

View File

@ -454,5 +454,5 @@ func parseADGuardIPCIDRLine(ruleLine string) (netip.Prefix, error) {
for len(ruleParts) < 4 { for len(ruleParts) < 4 {
ruleParts = append(ruleParts, 0) ruleParts = append(ruleParts, 0)
} }
return netip.PrefixFrom(netip.AddrFrom4([4]byte(ruleParts)), bitLen), nil return netip.PrefixFrom(netip.AddrFrom4(*(*[4]byte)(ruleParts)), bitLen), nil
} }

View File

@ -96,11 +96,11 @@ func findProcessName(network string, ip netip.Addr, port int) (string, error) {
switch { switch {
case flag&0x1 > 0 && isIPv4: case flag&0x1 > 0 && isIPv4:
// ipv4 // ipv4
srcIP = netip.AddrFrom4([4]byte(buf[inp+76 : inp+80])) srcIP = netip.AddrFrom4(*(*[4]byte)(buf[inp+76 : inp+80]))
srcIsIPv4 = true srcIsIPv4 = true
case flag&0x2 > 0 && !isIPv4: case flag&0x2 > 0 && !isIPv4:
// ipv6 // ipv6
srcIP = netip.AddrFrom16([16]byte(buf[inp+64 : inp+80])) srcIP = netip.AddrFrom16(*(*[16]byte)(buf[inp+64 : inp+80]))
default: default:
continue continue
} }

View File

@ -20,8 +20,8 @@ import (
) )
func dnsReadConfig(_ context.Context, _ string) *dnsConfig { func dnsReadConfig(_ context.Context, _ string) *dnsConfig {
var state C.struct___res_state var state C.res_state
if C.res_ninit(&state) != 0 { if C.res_ninit(state) != 0 {
return &dnsConfig{ return &dnsConfig{
servers: defaultNS, servers: defaultNS,
search: dnsDefaultSearch(), search: dnsDefaultSearch(),

View File

@ -1,13 +0,0 @@
package local
import (
"context"
"testing"
"github.com/stretchr/testify/require"
)
func TestDNSReadConfig(t *testing.T) {
t.Parallel()
require.NoError(t, dnsReadConfig(context.Background(), "/etc/resolv.conf").err)
}

View File

@ -351,15 +351,14 @@ DNS servers are refactored for better performance and scalability.
```json ```json
{ {
"dns": { "dns": {
"rules": [ "servers": [
{ {
"domain": [ "type": "predefined",
"example.com" "responses": [
], {
// other rules "rcode": "REFUSED"
}
"action": "predefined", ]
"rcode": "REFUSED"
} }
] ]
} }
@ -1188,4 +1187,4 @@ which will disrupt the existing `process_path` use cases in Windows.
} }
} }
} }
``` ```

View File

@ -8,7 +8,7 @@ icon: material/arrange-bring-forward
DNS 服务器已经重构。 DNS 服务器已经重构。
!!! info "用" !!! info "用"
[DNS 服务器](/configuration/dns/server/) / [DNS 服务器](/configuration/dns/server/) /
[旧 DNS 服务器](/configuration/dns/server/legacy/) [旧 DNS 服务器](/configuration/dns/server/legacy/)
@ -351,15 +351,14 @@ DNS 服务器已经重构。
```json ```json
{ {
"dns": { "dns": {
"rules": [ "servers": [
{ {
"domain": [ "type": "predefined",
"example.com" "responses": [
], {
// 其它规则 "rcode": "REFUSED"
}
"action": "predefined", ]
"rcode": "REFUSED"
} }
] ]
} }

View File

@ -26,7 +26,7 @@ func defaultRouteIP() (netip.Addr, error) {
for _, addr := range addrs { for _, addr := range addrs {
ip := addr.(*net.IPNet).IP ip := addr.(*net.IPNet).IP
if ip.To4() != nil { if ip.To4() != nil {
return netip.AddrFrom4([4]byte(ip)), nil return netip.AddrFrom4(*(*[4]byte)(ip)), nil
} }
} }

View File

@ -63,7 +63,7 @@ func (w *Writer) WriteBuffer(buffer *buf.Buffer) error {
if !w.isServer { if !w.isServer {
maskKey := rand.Uint32() maskKey := rand.Uint32()
binary.BigEndian.PutUint32(header[1+payloadBitLength:], maskKey) binary.BigEndian.PutUint32(header[1+payloadBitLength:], maskKey)
ws.Cipher(data, [4]byte(header[1+payloadBitLength:]), 0) ws.Cipher(data, *(*[4]byte)(header[1+payloadBitLength:]), 0)
} }
return wrapWsError(w.writer.WriteBuffer(buffer)) return wrapWsError(w.writer.WriteBuffer(buffer))