feat(ednsdiag): add DoQ/DoH3/DNSCrypt transports, proxy support, probe & compare

This commit is contained in:
windyboy
2026-08-14 18:17:26 +08:00
parent 8303d78caf
commit 70aea6cd72
21 changed files with 1665 additions and 236 deletions
+22 -6
View File
@@ -13,9 +13,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v7
with:
go-version-file: go.mod
cache: true
@@ -29,6 +29,12 @@ jobs:
fi
- name: Check module files
run: go mod tidy && git diff --exit-code
- name: Validate Agent Skill package
run: python3 scripts/validate_skill.py .
- name: Static analysis
run: go run honnef.co/go/tools/cmd/staticcheck@v0.7.0 ./...
- name: Vulnerability scan
run: go run golang.org/x/vuln/cmd/govulncheck@v1.6.0 ./...
test:
strategy:
@@ -38,15 +44,25 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v7
with:
go-version-file: go.mod
cache: true
- name: Resolve modules
run: go mod download
- name: Test
run: go test ./...
- name: Test with race detector
run: go test -race ./...
- name: DNSCrypt interoperability
if: matrix.os == 'ubuntu-latest'
env:
EDNSDIAG_DNSCRYPT_INTEROP: "1"
run: go test ./internal/edns -run '^TestDNSCryptAdGuardInteroperability$' -count=1
- name: Public DoH and DoT interoperability
if: matrix.os == 'ubuntu-latest'
env:
EDNSDIAG_PUBLIC_INTEROP: "1"
run: go test ./internal/edns -run '^TestPublicCloudflareDo[HT]Interoperability$' -count=1 -v
- name: Vet
run: go vet ./...