網路踩坑 · 2026-04-16

AGH 把微信語音轉文字擋了,
整天訊息都沒法轉文字

一個家庭 AdGuard Home(擋廣告的 DNS 伺服器,簡稱 AGH)誤殺案。
症狀:按「語音轉文字」按鈕無反應。根因:AGH 把微信查詢語音伺服器用的 DNS 端點擋了。
本文記錄從懷疑、查日誌、定位 4 個關鍵域名、加 25 條白名單到驗證的完整過程。

1 · 症狀 2 · 警衛比喻 3 · 診斷流程 4 · 被擋 4 個域名 5 · 查 Query Log 6 · 完整白名單 7 · 驗證命令 8 · 禁忌區 9 · 其他 App 10 · FAQ
1
症狀:語音轉文字按鈕按了沒反應

Thomas 在 Windows WeChat(桌面版微信)朋友發來一大堆語音。平常長按語音可以選「轉文字」,但這天整天按下去——按鈕毫無反應。不轉、不報錯、不轉圈,就是死掉。

他第一反應不是怪微信,而是想到:自己家裡剛裝了 AGH,會不會把誰擋了?

TL;DR · 結論先說
  1. AGH 擋了 dns.weixin.qq.com——微信找語音伺服器必經的訊號塔
  2. 訊號塔被擋 = 微信不知道要去哪個機房轉文字 = 整個功能死掉。
  3. 25 條白名單規則放行微信+騰訊全家族,重啟 AGH,清 DNS 快取 → 復活。
  4. whitelist(白名單)格式:@@||域名^
2
先用警衛比喻理解這是什麼事
想像你家小區大門有個警衛 這個警衛就是 AGH——他的工作是攔截奇怪的外送員(廣告、追蹤器、釣魚網站)。

今天微信派了一個「語音轉文字翻譯員」來你家收語音、送回文字稿。
但警衛看到他的工作證寫著「dns.weixin.qq.com(微信 DNS 端點)」,覺得這名字有點像廣告,把他擋在門外

翻譯員進不來 → 你家的語音永遠卡在「還沒送到翻譯中心」 → 按鈕按了沒反應。

解法:去警衛室,把微信相關的工作證名字全部寫進「whitelist(白名單,放行清單)」,警衛以後看到就放行。

補充兩個名詞:

3
診斷流程:從症狀到修復 6 步
1
症狀:WeChat 桌面版「語音轉文字」按鈕死了,按無反應、無錯誤提示。
2
懷疑:家裡剛裝 AGH 擋廣告,會不會誤殺微信?(家裡其他網路功能正常,所以鎖定 AGH 嫌疑最大)
3
查 Query Log:用 AGH 的 REST API(可以發指令的網址)抓最近查詢紀錄,搜「weixin」「qq.com」「tencent」關鍵字。
4
定位 4 個被擋的關鍵域名:2 個 🔴 致命(dns.weixin.qq.com、aedns.weixin.qq.com)+ 2 個 🟡 非關鍵(beacon、badjs)。
5
加 25 條白名單:不只放行被擋的 4 個,連同微信語音相關伺服器(voice/short/long/sz/hk)、騰訊 CDN(內容分發網路,加速用的伺服器)、圖片伺服器 mmsns 一起加進去,一勞永逸。
6
驗證 + 清快取:用 API 測試每個域名回傳 NotFilteredWhiteList(表示命中白名單放行),然後 Thomas 在 Windows 跑 ipconfig /flushdns 清本機 DNS 快取。微信重新開啟,轉文字復活。
4
被擋的 4 個域名對照表

從 Query Log 搜出以下 4 個被 AGH 標記為「blocked」的域名。影響等級照重要性排序:

等級 域名 作用(人話) 被擋後果
🔴 致命 dns.weixin.qq.com 微信自己的 DNS(網域解析)端點,用來查找語音轉文字伺服器在哪個機房 語音轉文字整個死掉
🔴 致命 aedns.weixin.qq.com 微信備用 DNS 端點,主端點失敗時會走這個 備援也死 = 徹底無救
🟡 雜項 otheve.beacon.qq.com 騰訊 beacon(用戶行為統計,俗稱遙測)伺服器 不影響功能,但日誌會一直吵
🟡 雜項 badjs.weixinbridge.com 微信 JS Bridge(JavaScript 橋接)的錯誤上報端點 不影響功能

只修 🔴 那兩個就能讓功能復活,🟡 兩個順手加入白名單是為了日誌乾淨。

5
查 Query Log 的命令

AGH 提供 REST API,可以用 curl(命令列打 API 的工具)抓取日誌。把下面的 NAS_IPUSERPASS 換成你家 AGH 的實際值:

# 抓最近 200 筆查詢,用 grep 篩出被擋(blocked)且含關鍵字的
curl -s -u USER:PASS \
  "http://NAS_IP:8053/control/querylog?limit=200" \
  | grep -E "blocked.*(weixin|qq\.com|tencent)"

如果不會 grep,直接用瀏覽器打開 http://NAS_IP:8053 進 AGH Web 介面 → Query Log → 搜尋框打「weixin」,按 Blocked 過濾,一樣看得到。

6
白名單規則完整清單(25 條微信+騰訊)

AGH 白名單格式:@@||域名^。開頭 @@ 表示放行,|| 是前綴錨點,^ 是後綴錨點。

進 AGH Web 介面 → Filters → Custom filtering rules,貼入以下規則,按 Apply:

📋 微信 + 騰訊全家族白名單(25 條)
# 微信核心 DNS(🔴 致命,必須放行)
@@||dns.weixin.qq.com^ @@||aedns.weixin.qq.com^ @@||szextshort.weixin.qq.com^
# 微信語音/短訊息/長訊息伺服器
@@||short.weixin.qq.com^ @@||long.weixin.qq.com^ @@||voice.weixin.qq.com^ @@||szshort.weixin.qq.com^ @@||szlong.weixin.qq.com^ @@||hkshort.weixin.qq.com^ @@||hklong.weixin.qq.com^ @@||minorshort.weixin.qq.com^ @@||weixin.qq.com^
# 微信朋友圈圖片 CDN
@@||mmsns.qpic.cn^ @@||wx.qlogo.cn^ @@||wxapp.tc.qq.com^
# 騰訊統計 / JS bridge(🟡 可選,但加了日誌乾淨)
@@||otheve.beacon.qq.com^ @@||beacon.qq.com^ @@||badjs.weixinbridge.com^ @@||report.url.cn^
# 騰訊 CDN 總域名
@@||tencent-cloud.net^ @@||gtimg.cn^ @@||qpic.cn^ @@||qq.com^ @@||tencent.com^ @@||wechat.com^

小提醒:@@||qq.com^ 是最粗的保險——整個 qq.com 根域放行。如果你不想這麼粗,把這行刪掉,靠前面細項支撐;如果你懶得管細節,保留這行最省事。

7
驗證命令:確認白名單真的生效

AGH 提供 check_host API(測試端點),可以模擬「如果現在有人查這個域名,會被放行還是擋下」:

# 測試 dns.weixin.qq.com 是否放行
curl -s -u USER:PASS \
  "http://NAS_IP:8053/control/filtering/check_host?name=dns.weixin.qq.com"

# 期望看到:
{"reason":"NotFilteredWhiteList","rules":[...]}

# 如果還是被擋會回:
{"reason":"FilteredBlackList","rules":[...]}

確認回傳 NotFilteredWhiteList 後,回 Windows 清 DNS 快取:

# Windows CMD 或 PowerShell 執行
ipconfig /flushdns

# 看到這行就成功:
已成功刷新 DNS 解析程式快取。

然後重啟 WeChat,朋友長按語音 → 轉文字 → 復活。

8
禁忌區:絕對不要 release + renew
⛔ 鐵律:不要 ipconfig /release + /renew

網路上很多教學會叫你「清網路」時跑 ipconfig /release/renew

⛔ 禁止!這兩個指令會把電腦的 IP 地址退還給路由器、再重新申請,過程會斷網 10 秒到幾分鐘不等

Thomas 之前試過一次,結果整台電腦斷網 10 分鐘才回來(WiFi 卡在「正在取得 IP」),還牽連到正在跑的遠端任務全部掉線。

✅ 只要跑 ipconfig /flushdns 就夠了——這只清 DNS 快取,不會動網路連線本身。幾毫秒完成,不斷網。

記憶口訣:DNS 問題只用 flushdns;release/renew 是修 IP 衝突用的,平時絕不碰

9
延伸:其他 App 也可能被 AGH 誤殺

AGH 的廣告/追蹤清單常常誤傷通訊 App——它們的伺服器名稱往往含 beaconanalyticstelemetryreport 這類字眼,會被 AGH 當成遙測擋下。以下是常見受害者:

📞 Microsoft Teams

*.teams.microsoft.com *.skype.com statics.teams.cdn.office.net

主要擋點:skype.com 被一些清單當追蹤域。症狀:視訊卡頓或無法進會議。

🎥 Zoom

*.zoom.us zoomgov.com cdn.zoom.us

主要擋點:log.zoom.us 容易被擋。症狀:會議連不上或中途掉線。

🎮 Discord

*.discord.com *.discord.gg cdn.discordapp.com

主要擋點:discord-analytics.com 被封後登入卡住。症狀:顯示 connecting 轉不停。

💬 Signal

*.signal.org textsecure-service.whispersystems.org

Signal 對 DNS 敏感,任何 DNS 查詢失敗都會導致「訊息無法送達」。

✈️ Telegram

*.telegram.org *.t.me *.telegram-cdn.org

主要擋點:tg.dev 被一些中國清單擋。症狀:貼紙/檔案下載失敗。

📱 其他可能受害者

LINE(line-apps.com) Slack(slack-edge.com) WhatsApp(whatsapp.net)

凡是用了 CDN(內容分發網路)或 beacon 統計的 App,都可能出事。

通用解法:AGH 裝好後前 2 週每 2-3 天去 Query Log 看一次 Blocked,搜你常用 App 的關鍵字(weixin / teams / zoom / discord / signal / telegram),看到誤殺的立刻加白名單。2 週後穩定了就不用常查。

10
FAQ
我根本沒裝 AGH,微信轉文字也壞了,會是同樣原因嗎?
如果你沒裝自己的 DNS 過濾,可能是路由器或 ISP 層級在擋。可以用 nslookup dns.weixin.qq.com 測試,如果回傳 NXDOMAIN 或空 IP,就是上游擋了。解法:換 DNS 伺服器(例如 1.1.1.18.8.8.8)試試。
為什麼要一次加 25 條,只加被擋的 4 條不行嗎?
只加 4 條當下會復活,但微信後台有很多伺服器會輪替(short/long/voicesz/hk/minor 各地 CDN)。今天用 A 伺服器、明天用 B 伺服器。一次把整個家族加進白名單,才不會隔兩天又壞。這就是一勞永逸的代價——多寫幾行規則換永不翻車。
加白名單會不會讓廣告/追蹤也跑進來?
會——但只針對騰訊家族的追蹤(例如 beacon.qq.com)。你可以選擇:要乾淨日誌就只加 🔴 致命那幾條,不加 🟡 雜項;要永不煩就全部加。Thomas 選後者,因為騰訊追蹤主要是騰訊系 App 自己用(微信、QQ),對其他網頁沒影響。
白名單改完多久生效?要重啟 AGH 嗎?
不用重啟,按 Apply 立刻生效。但你電腦上 DNS 有快取(預設 5-60 分鐘),所以跑 ipconfig /flushdns 是必須的。手機上沒辦法輕易清快取,重啟 App 或切飛航模式再打開最快。
怎麼知道下一個會被 AGH 誤殺的 App 是誰?
沒辦法預知,但有預防方法:AGH 裝好後前 2 週每 2-3 天看一次 Query Log → Blocked 區,搜你家常用 App 的關鍵字。看到平常的 App 被擋就立刻加白名單。2 週後大部分誤殺都會被發現,之後就穩定。每次裝新 App 時也可以順手看一次日誌。
白名單格式 @@||域名^ 可以換成純域名嗎?
不行。AGH 用的是 Adblock Plus filter syntax(廣告擋擴充的規則語法),必須用這個格式。@@=放行、||=前綴錨點、^=後綴錨點(確保 weixin.qq.com 不會意外匹配 fakeweixin.qq.com)。寫錯格式不會報錯但不會生效,所以務必照抄。
我能不能直接關掉 AGH 了事?
可以,但代價是全家所有設備都沒有廣告擋、追蹤擋、惡意網站擋了。關掉 AGH 之前建議先想清楚:是整體擋廣告的價值大,還是偶爾修白名單的麻煩大。Thomas 選擇留著 AGH,原因是它在全家 iPhone/iPad 上擋掉了大量 App 內廣告(iOS 沒 uBlock 能裝),整體體驗提升很多。