Releases: fcchbjm/AdGuardHome
Release list
v0.0.8
v0.0.8 — 上游安全同步、dnsproxy v0.82.0 与 PPv2 兼容发行界面
标签 v0.0.8 指向 7982e9ae。
摘要
v0.0.8 是一次 安全与依赖同步 的 integration 发行(distribution layer),在 v0.0.7 之上:
- 同步 AdGuard Home upstream/master(合并至
ef585d45,包含 v0.107.78 安全更新) - 捆绑 DNS 运行时升级至
github.com/fcchbjm/dnsproxyv0.82.0 - 继续发行 React 管理界面(
client/),保留 fork 专有 PPv2 Web 控制项 - 现有用户升级后界面与 v0.0.7 一致(不会切换到上游 SolidJS 新 UI)
架构边界: 本仓库负责 打包、发版、Web UI 嵌入与更新语义;DoH/DoQ/DoT/TCP、PPv2 监听语义、并发与缓存等 传输层行为 以 dnsproxy v0.82.0 发行说明 为权威。
发行界面(Release UI)
本 fork 的 v* GitHub Release / GHCR 嵌入 client/(React),因其包含 PPv2 等 fork 专有设置页(设置 → DNS)。
上游 client_v2/(SolidJS)已合入源码树,但 尚未用于本 fork 发行物;release-fcchbjm.yml 显式 CLIENT_DIR=client,在 PPv2 迁入新前端之前保持此策略。升级不会改变你当前使用的 Web 界面。
亮点
- 上游安全与功能:JIGGLE 抗性;DoH/DNSCrypt 上游响应校验加强;QUIC 有界读取;规则列表 HTTP 体积上限(
filtering.max_http_size);TLS HTTP API 重构;安装向导语言 API;静态租约 hostname 可经 API 清除;无 EDNS(0) OPT 的拦截请求修正 (#8183)。 - 运行时:
fcchbjm/dnsproxy@v0.82.0(自 v0.81.10);Go 1.26.5。 - 发行语义(延续):模块
github.com/fcchbjm/AdGuardHome;Release 二进制检查本仓库version.json;容器ghcr.io/fcchbjm/adguardhome,升级以docker pull为准。
安全与协议变更
| 主题 | 说明 |
|---|---|
| 安全(含 v0.107.78) | JIGGLE;DoH/DNSCrypt 校验;QUIC 读取上限;规则列表体积限制 |
| H2C | 经 HTTP/1.1 Upgrade 建立 HTTP/2 cleartext(H2C)的方式已移除(RFC 9113)。经 TLS 的 HTTP/2(如 DoH)不受影响。 若曾依赖 H2C Upgrade,请改用其它接入方式 |
| 过滤配置 | 列表更新间隔 0–8760 小时;YAML 新增 max_http_size |
用户可见行为变更
| 主题 | 说明 |
|---|---|
| DNSCrypt | 捆绑的 dnsproxy v0.82.0 已同步 上游 DNSCrypt 库迁移;使用 DNSCrypt 上游建议升级后做一次连通性验证 |
| DoH | 出站请求 ID 置 0(RFC 8484);对不合规 DoH 上游更严格 |
| TLS 管理 | TLS 相关 HTTP API 结构调整(上游重构) |
| DoQ 空闲 | 仍为 30s(自 v0.0.7 延续) |
Fork 发行语义
- Go 模块:
github.com/fcchbjm/AdGuardHome - DNS 运行时:
github.com/fcchbjm/dnsproxy@v0.82.0 - PPv2:DNS-over-TCP / DoT 入站及
trusted_proxies语义与 v0.0.7 相同 - 更新源:请使用 本仓库 Release / GHCR,勿与 AdguardTeam 官方发行物混用更新流
运维说明
| 主题 | 操作者需知 |
|---|---|
| DNSCrypt / DoH | 升级后建议抽测相关上游 |
| 规则列表 | 超大列表请关注 filtering.max_http_size |
| DoQ | 空闲 30s;中间设备超时建议对齐 |
| PPv2 | 仅 trusted_proxies 内来源可改写客户端地址 |
升级说明
- 自 v0.0.7:多数部署可 直接替换 二进制或
docker pull;PPv2 与 YAML 无需变更;界面不变。 - 自 v0.0.6 及更早:若跳过 v0.0.7,请先阅 v0.0.7 说明(querylog
reason、配置d单位 等)。 - 回退旧版:若已使用
d或max_http_size,回退前确认目标版本是否支持。 - 二次开发:须同时 pin
fcchbjm/AdGuardHome与fcchbjm/dnsproxy@v0.82.0。
开发者说明
集成层说明与 QA(点击展开)
- 监听侧 PPv2(TCP/TLS)为本 fork 在 AdGuard Home 集成层的增量。
- dnsproxy fork 专有传输行为详见 dnsproxy v0.82.0 发行说明。
- 本版合并后已跑 gofumpt、Go race 测试与
client/单测;fork CI / Release 均CLIENT_DIR=client。
完整变更: v0.0.7...v0.0.8
DNS 运行时: fcchbjm/dnsproxy@v0.81.10...v0.82.0
获取
https://github.com/fcchbjm/AdGuardHome/releases/tag/v0.0.8
docker pull ghcr.io/fcchbjm/adguardhome:v0.0.8
v0.0.8 — Upstream security sync, dnsproxy v0.82.0, and PPv2-compatible release UI
Tag v0.0.8 → commit 7982e9ae.
Summary
v0.0.8 is a security and dependency synchronization integration release on top of v0.0.7:
- Synced AdGuard Home upstream/master (merge through
ef585d45, includes v0.107.78 security fixes) - Bundled DNS runtime
github.com/fcchbjm/dnsproxyv0.82.0 - Still ships the React admin UI (
client/) with fork-specific PPv2 controls - Existing users keep the same UI after upgrade (not switched to upstream SolidJS
client_v2)
Boundary: This repo owns packaging, release, embedded Web UI, and update semantics. Transport/runtime behavior is authoritative in dnsproxy v0.82.0 release notes.
Release UI
Fork v* Releases / GHCR embed client/ (React) for PPv2 and other fork-only settings (Settings → DNS).
Upstream client_v2/ (SolidJS) is in the source tree but not used in fork release artifacts yet; release-fcchbjm.yml sets CLIENT_DIR=client until PPv2 is ported. Your Web UI does not change when you upgrade.
Highlights (EN)
- Upstream security & features: JIGGLE; stricter DoH/DNSCrypt validation; bounded QUIC reads; rulelist size cap; TLS HTTP API refactor; install language API; static-lease hostname removal; EDNS fix (#8183).
- Runtime:
fcchbjm/dnsproxy@v0.82.0; Go 1.26.5. - Distribution (unchanged):
fcchbjm/AdGuardHomemodule;version.jsonupdate index;ghcr.io/fcchbjm/adguardhome.
Security and protocol changes (EN)
| Topic | Summary |
|---|---|
| Security (incl. v0.107.78) | JIGGLE; DoH/DNSCrypt checks; QUIC read limits; rulelist HTTP cap |
| H2C | HTTP/1.1 Upgrade to HTTP/2 cleartext (H2C) removed (RFC 9113). HTTP/2 over TLS (e.g. DoH) is unaffected. Use another path if you relied on H2C Upgrade |
| Filtering | Update interval 0–8760 h; new max_http_size |
User-visible behavior (EN)
| Topic | Summary |
|---|---|
| DNSCrypt | Bundled dnsproxy v0.82.0 includes upstream DNSCrypt library migration — re-test DNSCrypt upstreams |
| DoH | Outbound ID 0 (RFC 8484); stricter non-compliant upstream handling |
| TLS | TLS HTTP API layout change (upstream refactor) |
| DoQ idle | Still 30s (since v0.0.7) |
Fork distribution (EN)
- Module:
github.com/fcchbjm/AdGuardHome - Runtime:
github.com/fcchbjm/dnsproxy@v0.82.0 - PPv2: unchanged vs v0.0.7
- Use this fork’s releases/updates, not AdguardTeam’s
Operational notes (EN)
- Re-test DNSCrypt / DoH upstreams after upgrade
- Large rulelists: check
filtering.max_http_size - DoQ idle 30s — align middlebox timeouts
- PPv2:
trusted_proxiesonly
Upgrade (EN)
- From v0.0.7: drop-in; no PPv2/YAML migration; same UI
- From ≤ v0.0.6: read v0.0.7 notes if you skipped it
- Downgrade: check
d/max_http_sizecompatibility - Custom builds: pin both fcchbjm modules
Developer notes (EN)
Integration notes and QA (expand)
- Listener PPv2 (TCP/TLS) is a fork addition at the AdGuard Home integration layer.
- Additional dnsproxy fork-specific transport behavior is documented in dnsproxy v0.82.0 release notes.
- Post-merge QA: gofumpt, Go race tests,
client/unit tests; CI/Release useCLIENT_DIR=client.
Full changelog: v0.0.7...v0.0.8
Runtime: fcchbjm/dnsproxy@v0.81.10...v0.82.0
https://github.com/fcchbjm/AdGuardHome/releases/tag/v0.0.8
docker pull ghcr.io/fcchbjm/adguardhome:v0.0.8
Full Changelog: v0.0.7...v0.0.8
v0.0.7
v0.0.7 — 上游同步、dnsproxy v0.81.10 集成与发行语义延续
本版本是 distribution / integration 发行:在 v0.0.6 基础上同步 AdGuard Home 上游(约 v0.107.76 能力区间),并将内置 DNS 运行时对齐至 github.com/fcchbjm/dnsproxy v0.81.10。标签 v0.0.7 指向 bed991cb。
架构边界: 本仓库负责 打包、发版与更新语义;传输与 DNS 运行时行为由 dnsproxy fork 定义。DoH/DoQ/TCP/TLS、PPv2、并发与缓存等细节以 dnsproxy v0.81.10 发行说明 为准。
亮点
- 上游集成:GLiNET 鉴权路径遍历修复、关闭 DNSSEC 时的 DNS 缓存行为修正、查询日志
reason筛选及相关 API 文档;YAML 时长支持d(天)。 - 运行时对齐:依赖
github.com/fcchbjm/dnsproxy@v0.81.10(自 v0.81.9 升级);Go 1.26.3。 - 发行语义(自 v0.0.6 延续):模块路径
github.com/fcchbjm/AdGuardHome;v*标签触发本仓库 Release / GHCR;Release 二进制默认检查本仓库version.json;Docker 不嵌入 fork 更新索引。 - 质量:Codecov v5;macOS CI
TestConfigFilePath路径规范化修复(bed991cb)。
行为变更(经本发行集成)
以下变更通过 dnsproxy v0.81.10 或上游 AGH 进入本发行版;运维影响详见 dnsproxy 发行说明与本节「运维说明」。
| 主题 | 说明 |
|---|---|
| DNS 缓存 / DO 位 | 带/不带 DNSSEC DO 的请求不再共用同一缓存项(上游 #8384) |
| DoQ 空闲超时 | QUIC 空闲超时 5m → 30s(上游默认,经 dnsproxy 集成) |
| 查询日志 API | GET /control/querylog 新增 reason;response_status 已弃用 |
| 配置时长 | YAML 支持 d 单位;回退至更旧上游版本前须改回小时 |
| 安全 | GLiNET 模式鉴权路径遍历修复(AG-54304) |
Fork 发行语义(distribution layer)
本 fork 的定位是 集成与发版,以下为 v0.0.7 的定义行为。
模块与依赖
- Go 模块:
github.com/fcchbjm/AdGuardHome - DNS 运行时:
github.com/fcchbjm/dnsproxy@v0.81.10(须与上者配套使用)
自 v0.0.6 延续、本版未改
- PPv2:DNS-over-TCP / DoT 入站 PPv2 及
trusted_proxies严格语义(见 README_zh.md) - 更新索引:Release 二进制 → 本仓库
releases/latest/download/version.json - 容器:
ghcr.io/fcchbjm/adguardhome;升级以docker pull为准 - 传输 / 并发 / 缓存:与 dnsproxy v0.81.10 一致(DoH3 串行化、DoQ
streamOpenMu、PPv2 等见 dnsproxy 文档)
相对 v0.0.6 的本版增量
- 上游同步至约 v0.107.76
- dnsproxy v0.81.9 → v0.81.10
- Go 1.26.2 → 1.26.3;Codecov v5
运维说明
| 主题 | 操作者需知 |
|---|---|
| DoQ 长连接 | 空闲超时 30s;防火墙 / LB 超时建议对齐 |
| DNS 缓存 | 排查命中时注意 DO 位是否一致 |
| DoH3 吞吐 | 单 DoH3 upstream 实例 HTTP/3 路径串行;高并发用多实例或其它协议(见 dnsproxy v0.81.10) |
| PPv2 | 与 v0.0.6 相同;仅 trusted_proxies 内来源可改写客户端地址 |
| 更新源 | 使用本仓库 Release / GHCR,勿与 AdguardTeam 发行物混用更新流 |
升级说明
- 自 v0.0.6:多数部署可直接替换二进制或
docker pull;PPv2 与 YAML 配置无需变更。 - 配置回退:若已使用
d单位,回退到不支持该单位的旧版前须改回小时。 - 二次开发:
go.mod须同时声明fcchbjm/AdGuardHome与fcchbjm/dnsproxy@v0.81.10;发布分支勿提交临时replace。 - 运行时细节:DoH3 Mutex、DoQ
streamOpenMu、缓存 DO 分离等以 dnsproxy v0.81.10(9b12982) 为权威语义。
维护(CI 与测试)
- Codecov:v5,
slug: fcchbjm/AdGuardHome,files: ./cover.out - macOS:
TestConfigFilePath对workDir/otherDir做EvalSymlinks规范化(evalErr避免 shadow 告警)
自 v0.0.6 以来(参考)
| 范围 | 说明 |
|---|---|
| 上游集成 | 路径遍历、缓存 DO、querylog reason、配置 d 单位、Go 1.26.3 |
| 运行时 | dnsproxy v0.81.10 |
| 发行 | 模块路径统一、Codecov v5、macOS CI 测试修复 |
| 未变 | PPv2、version.json / GHCR 发版语义 |
完整变更: v0.0.6...v0.0.7
DNS 运行时: fcchbjm/dnsproxy@v0.81.9...v0.81.10
获取
https://github.com/fcchbjm/AdGuardHome/releases/tag/v0.0.7
docker pull ghcr.io/fcchbjm/adguardhome:v0.0.7
v0.0.7 — Upstream sync, dnsproxy v0.81.10 integration, release semantics continued
Tag v0.0.7 → commit bed991cb. Distribution/integration release: upstream AdGuard Home (~v0.107.76) plus github.com/fcchbjm/dnsproxy v0.81.10.
Boundary: This repo owns packaging, release, and update semantics. Transport and DNS runtime behavior is defined by the dnsproxy fork — see dnsproxy v0.81.10 release notes.
Highlights (EN)
- Upstream: GLiNET path-traversal fix, DNS cache when DNSSEC disabled, query-log
reason, YAMLddurations, Go 1.26.3. - Runtime:
fcchbjm/dnsproxy@v0.81.10(from v0.81.9). - Distribution (unchanged intent since v0.0.6):
fcchbjm/AdGuardHomemodule,v*→ this repo’s Releases/GHCR,version.jsonupdate index, Docker without embedded index. - Quality: Codecov v5; macOS
TestConfigFilePathfix (bed991cb).
Behavior changes (EN)
| Topic | Summary |
|---|---|
| DNS cache / DO | Separate cache entries with/without DO (#8384) |
| DoQ idle | 5m → 30s (via dnsproxy) |
| Query log API | reason added; response_status deprecated |
| Config | d duration unit; convert to hours before downgrade |
| Security | GLiNET auth path traversal (AG-54304) |
Fork distribution semantics (EN)
- Module:
github.com/fcchbjm/AdGuardHome - Runtime pin:
github.com/fcchbjm/dnsproxy@v0.81.10 - Unchanged since v0.0.6: PPv2, update index, GHCR
ghcr.io/fcchbjm/adguardhome - Transport/concurrency/cache: per dnsproxy v0.81.10 (
9b12982authoritative for DoH3 semantics)
Operational notes (EN)
- DoQ idle 30s — align middlebox timeouts.
- Cache debugging: account for DO bit.
- DoH3: same-instance serialization; scale with multiple upstreams or other protocols (dnsproxy notes).
- PPv2: same as v0.0.6;
trusted_proxiesonly. - Use this fork’s release/update artifacts, not AdguardTeam’s.
Upgrade notes (EN)
- From v0.0.6: drop-in for most deployments; no PPv2/config migration.
- Downgrade: convert
dback to hours if needed. - Custom builds: pin both fcchbjm modules; no committed
replaceon release branches. - Runtime authority: dnsproxy v0.81.10 /
9b12982.
Maintenance (EN)
- Codecov v5,
slug: fcchbjm/AdGuardHome,./cover.out - macOS test:
EvalSymlinkscanonicalization withevalErr(no shadow)
Full changelog: v0.0.6...v0.0.7
Runtime: fcchbjm/dnsproxy@v0.81.9...v0.81.10
https://github.com/fcchbjm/AdGuardHome/releases/tag/v0.0.7
docker pull ghcr.io/fcchbjm/adguardhome:v0.0.7
Full Changelog: v0.0.6...v0.0.7
v0.0.6
v0.0.5
Full Changelog: https://github.com/fcchbjm/AdGuardHome/commits/v0.0.5
v0.0.4
Full Changelog: https://github.com/fcchbjm/AdGuardHome/commits/v0.0.4