Skip to content

Releases: fcchbjm/AdGuardHome

v0.0.8

Choose a tag to compare

@github-actions github-actions released this 18 Jul 18:31

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/dnsproxy v0.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 单位 等)。
  • 回退旧版:若已使用 dmax_http_size,回退前确认目标版本是否支持。
  • 二次开发:须同时 pin fcchbjm/AdGuardHomefcchbjm/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/dnsproxy v0.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/AdGuardHome module; version.json update 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_proxies only

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_size compatibility
  • 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 use CLIENT_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

Choose a tag to compare

@fcchbjm fcchbjm released this 26 May 14:17

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/AdGuardHomev* 标签触发本仓库 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 新增 reasonresponse_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/AdGuardHomefcchbjm/dnsproxy@v0.81.10;发布分支勿提交临时 replace
  • 运行时细节:DoH3 Mutex、DoQ streamOpenMu、缓存 DO 分离等以 dnsproxy v0.81.10(9b12982 为权威语义。

维护(CI 与测试)

  • Codecov:v5slug: fcchbjm/AdGuardHomefiles: ./cover.out
  • macOS:TestConfigFilePathworkDir / otherDirEvalSymlinks 规范化(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, YAML d durations, Go 1.26.3.
  • Runtime: fcchbjm/dnsproxy@v0.81.10 (from v0.81.9).
  • Distribution (unchanged intent since v0.0.6): fcchbjm/AdGuardHome module, v* → this repo’s Releases/GHCR, version.json update index, Docker without embedded index.
  • Quality: Codecov v5; macOS TestConfigFilePath fix (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 (9b12982 authoritative 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_proxies only.
  • 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 d back to hours if needed.
  • Custom builds: pin both fcchbjm modules; no committed replace on release branches.
  • Runtime authority: dnsproxy v0.81.10 / 9b12982.

Maintenance (EN)

  • Codecov v5, slug: fcchbjm/AdGuardHome, ./cover.out
  • macOS test: EvalSymlinks canonicalization with evalErr (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

Choose a tag to compare

@github-actions github-actions released this 06 May 04:10

Full Changelog: v0.0.5...v0.0.6

v0.0.5

Choose a tag to compare

@github-actions github-actions released this 02 May 12:07

v0.0.4

Choose a tag to compare

@github-actions github-actions released this 23 Apr 11:13

v0.0.3

Choose a tag to compare

@github-actions github-actions released this 13 Apr 03:22

Full Changelog: v0.0.2...v0.0.3

优化DoT服务器

Choose a tag to compare

@fcchbjm fcchbjm released this 12 Apr 14:19

新增TCP Fast Open(TFO)支持
由于OpenBSD平台GO语言不支持TFO,请勿在该平台编译源码
新增TLS 会话恢复
优化TCP关闭逻辑

优化DoT服务器

Choose a tag to compare

@fcchbjm fcchbjm released this 07 Apr 12:39

新增 TLS 专用超时配置
为 TCP 连接启用 Keep-Alive 机制
更改模块名以方便构建并与官方名称相区别