對話摘要 2026-08-13
description: 4 note(s) today.
name: ‘2026-08-13’
- telegram name: hindsight-sync-telegram-jsonbody-fix description: 同日多項修復:(1) Hindsight 每日記憶同步 n8n workflow 的 Telegram 通知 bug——jsonBody 需
= prefix 先 evaluate expression,expression 返回 object 含真實 newline 被 n8n 4.2 parser 拒絕(Bad control character),需 JSON.stringify 返回 string;shell escaping 鏈損壞 \n 改寫 script file 解決,workflow 已 saved+active。(2) Oracle 唔使重啟——現行 kernel 6.12.0-204.92.4.4.3.el9uek(8/10 裝)已最新,dnf-automatic 8/14 06:00 自動裝更新。(3) AdGuard DoH 修復:doh.benhoweb.com 喺 Cloudflare Tunnel 錯誤 route 去 AdGuard Home HTTP 80(web UI),DoH 實聽 HTTPS 443;已改 ingress 為 https://adguardhome:443(noTLSVerify),cloudflared pickup version 85,https://doh.benhoweb.com/dns-query 實測通過(www.google.com → 142.251.154.119)。Streisand 設 DoH 填此 URL 即用屋企 AdGuard 過濾;DoT :853 通、DoQ 因 tunnel 唔支援 UDP 用唔到。另:Infisical 內 CF token value 曾被存成 ***,zone ID 一度攞錯 account ID。
- memory/2026-08-13/memory-slimming-archive-20260813.md
- memory/2026-08-13/oracle-host-security-vless-reality-and-adguard-dns.md name: oracle-host-security-vless-reality-and-adguard-dns description: OL9.8 aarch64 host(instance-20260603-0346,user opc)2026-08-13 同日完成:(1) fail2ban + dnf-automatic 安裝 — EPEL repo ol9_developer_EPEL 預設 enabled=0 令 fail2ban 搵唔到,修正
dnf config-manager --set-enabled ol9_developer_EPEL;成功裝 fail2ban 1.1.0-6.el9(sshd jail:10 分鐘 5 次失敗 ban 1 小時,唔 ban 屋企/內網;安裝時偵測 18 次 SSH 失敗嘗試)同 dnf-automatic 4.14.0-34.0.1.el9_8(保守模式 apply_updates=no,每日 06:00 HKT,首 trigger 2026-08-14)。(2) SSH 安全強化:ssh.benhoweb.com(Tunnel → ssh://10.0.1.39:22)補咗 Cloudflare Access app(SSH 型 f9de7848)+ Authentik policy(未登入 redirect 去 shinggo.cloudflareaccess.com);雙層封 OCI 22(NSG rule B79535 + Security List IPv4/IPv6 22 rules 全移除),外部 130.61.87.40:22 timeout 已封;新街外 SSH 方法 ssh opc@ssh.benhoweb.com(client 要 cloudflared + 登入過 Access);內部自動化 172.21.0.1 唔受影響。OCI public IP 動態已變 130.61.87.40(舊 130.61.182.126 失效)。Windows client 進度:cloudflared 已裝、access login 成功(Authentik shinggo / ben.ho@live.hk,用戶名 Ben Ho);但 .ssh 冇 key(user 私鑰喺 Bitwarden pass.benhoweb.com),下一步 Bitwarden 攞 key 存 id_ed25519 + icacls 修權限 + 貼 config 確認再測 ssh。重啟決定:唔使(kernel 6.12.0-204.92.4.4.3.el9uek 已最新)。sshd PasswordAuthentication「未能驗證」係 OL9 600/700 root-only 權限令 script 讀唔到,非漏洞唔處理。(3) 3x-ui(VLESS+Reality proxy)檢查:443 冇登入面(UUID 認證 + Reality 偽裝)唔怕爆破;設定全部正確(Flow xtls-rprx-vision、Fingerprint chrome、SpiderX /、1 client 永不過期);偽裝目標原本 www.microsoft.com:443,SNI 實測 200、400 係 127.0.0.1 SNI fallback 所致證明機制正常,但當日因微軟證書 bug 已改 www.cloudflare.com(見 (5))。(4) iOS client:user 揀免費 Streisand(次選 Shadowrocket US$2.99);vvv.shinggo.xyz 已確認 DNS-only(冇 Cloudflare proxy)指向 130.61.87.40;IPv4 動態、IPv6 ::10 固定(推薦);使用法 Streisand + → Import from clipboard。待決:vvv.shinggo.xyz 有冇 DDNS?agent 提議整 Cloudflare DDNS script(每 5 分鐘同步新 IP)user 未答。(5) VLESS+Reality 連線失敗偵錯修復(13:24 起):iPhone 從未成功完成 VLESS 認證(x-ui 只有 6 月 172.21.0.1 舊流量記錄);逐層排除 flow 必需保留 / Streisand sing-box 被 minClientVer 拒(3x-ui Issue #5922,降 Xray 26.7.28→26.6.27 仍 reset)/ key 配對正確(urlsafe decode)/ spx(官方 /e13509b7dbcffa3)/ testseed / 交叉版本 / 全新 key 全部 handshake fail 後,root cause = Xray Reality 已知 bug(GitHub Issue #6356):偽裝目標 www.microsoft.com 嘅 TLS Certificate record 太大(8273B > 8192 limit)→ Reality 判定 handshake failed 拒絕所有 client。修復:偽裝目標改 www.cloudflare.com,生產 server 130.61.87.40:443 實測 HTTP 200(0.08s)VLESS+Reality+Vision 全通。新 link(UUID afd6f8e6-9735-4b4e-ac74-80957314d9f5@vvv.shinggo.xyz:443,sni=www.cloudflare.com、sid=91d9、spx=/e13509b7dbcffa3)已發 user 喺 iPhone Streisand 更新訂閱後再試連線。(6) AdGuard Home DNS/DoH 修復(13:44 起):doh.benhoweb.com 喺 Cloudflare Tunnel 一直 route 錯去 http://adguardhome:80(web UI)而 DoH 實際聽 HTTPS 443(證書 CN=doh.benhoweb.com),已改 route https://adguardhome:443(noTLSVerify),cloudflared pickup version 85 後實測 www.google.com→142.251.154.119(8 A records)通過;DoT tls://doh.benhoweb.com:853 亦有 rule,DoQ 因 Cloudflare Tunnel 唔支援 UDP 用唔到;Streisand 揀 DoH 填 https://doh.benhoweb.com/dns-query;tunnel 內所有請求在 AdGuard 當同一 client(tunnel IP)。(7) Windows DNS client(14:00):Win11 內建 DoH 零安裝(慣用 DNS 172.21.0.45=AdGuard 內網 IP,DNS 加密揀僅加密,加密伺服器 https://doh.benhoweb.com/dns-query)、Win10 用 YogaDNS(免費,DoH type)、想 VPN 返屋企用 WireGuard 官方 client(wg-easy,DNS=172.21.0.45);待確認 user Windows 版本。(8) Windows v2rayN client(14:01 起):user 想 Windows 用返 VLESS+Reality 代理並食 AdGuard 過濾,推薦 v2rayN(次選 Hiddify);v2rayN-windows-64.zip(WPF 原生界面)vs v2rayN-windows-64-desktop.zip(Avalonia 跨平台界面)功能 100% 一樣、都係便攜含 core,建議揀 desktop 版(作者主力維護 Avalonia);⚠️ 必須 7.24.4 或更新(2026-07-30 緊急安全更新,修復內置下載器 MITM 下載惡意檔案漏洞);16:21 v2rayN login 成功、16:22「ARM64 PoC login成功」(Windows 係 ARM 架構),arm64 設定步驟一樣;v2rayN 內 AdGuard DoH 設定(設定→DNS 分頁→加 DoH https://doh.benhoweb.com/dns-query 設默認 + 開 DNS 攔截 + 重啟)未完成,agent 可經 AdGuard Home 查詢記錄 verify。
- memory/2026-08-13/qwenpaw-audit-hindsight.md name: qwenpaw-audit-hindsight description: 2026-08-13 同日多案。一)QwenPaw 安全審計(v2.0.1 = 最新 stable,官方無公開 CVE):部署層面良好(無 host port/CF tunnel 唯一公網入口係 Telegram bot、非 privileged、Basic Auth 開、secrets 加密、secret redaction 生效、MCP whitelist、audit log 20,863 事件 / 84 deny 全部誤判或用戶拒絕)。兩大發現:(1) Sandbox 實際失效——QwenPaw 用 Landlock 但 host kernel Oracle Linux 6.12 冇啟用 landlock(LSM: lockdown,capability,yama,selinux,bpf,ima,evm),shell 命令裸跑,修復要改 kernel cmdline + reboot,風險大過收益唔建議而家做;(2) cryptography 48.0.1 有 3 個 CVE(Bleichenbacher oracle、self-signed cert 指數 DoS、wildcard DNS 驗證逃逸已有 exploit),要求 >=43.0.0 冇 pin,升 49.0.0 安全。次要:h2 4.4.0→4.4.1、pip/setuptools 舊、image latest 建議 pin 2.0.1、skill scanner warn 模式。建議升級等用戶批准。二)Hindsight Knowledge Pages 示範頁「Hindsight 自身設定」:由 bank 40 條 observations 自動生成(~1150 字,hindsight.benhoweb.com → Knowledge Pages → Infra)。三個坑已寫入 MEMORY:(1) source_query 要單詞/極短,多詞子查詢 recall 0 hits;(2) page 唔可以帶 tags,連空陣列 tags=[] 都過濾走晒;(3) 建錯要刪咗重建,PATCH 唔會觸發 fresh build。排查期間 debug 改動(tools.py _connection_budget 1→4)已還原、restart healthy。三)Hindsight「經驗=0」調查:UI 見世界事實 621 (64%) / 經驗 0 (0%) / 觀察 345 (36%);系統實際 966 nodes/164 documents/345 observations,上次 consolidation 08-12 16:59 無 pending;實測確認 0.9.0 只自動產生 observation + world 兩類(統計 observation 172→346、world 328→623),experience 永遠唔會自動生成——retain 指明 strategy=‘experience’ 經 POST /consolidate(operation 8a58c077)後都入 world;Recall API 默認只搜 world + experience(唔含 observation),world 頂上 recall 正常;POST /consolidate 先係 trigger(/background 唔係);nodes 966→968。方向:PATCH 手動 curate 標記 experience 或等版本更新。四)Cloudflared 升級完成:Docker Hub 今日(08-13 10:13 UTC)出 2026.8.0,容器原行 2026.7.3;新版本含 2 個安全修復(VULN-141859 request path normalization + grpc bump v1.83.0 CVE)+quic-go v0.59.1、Access login token 臨時 keypair(AUTH-9041)、Access 簽名 metadata 驗證(AUTH-9012)、FIPS 變體(唔需要);tunnel 係唯一外部入口(30+ 服務),用戶批准後升級:2026.7.3→2026.8.0(10:10 UTC build),tunnel healthy 4 條連線(fra03/08/15/16)自動重連,外部驗證 ntfy 200 / nextcloud 302;compose 用 latest tag 唔使改 config,已開 repull_images,日後更新 = pull + recreate。
- 2026-08-13:用戶要求「以後每日都做一次安全審查,同埋提出建議」→ 已建 QwenPaw cron
90fda464-a34f-4cc7-9fcd-a464a6b391ef「每日安全審查」(每日 09:30 HKT,timeout 1800,share_session=false,mode final)=檢查 QwenPaw patch 完整性/CVE/audit deny/cryptography + host 暴露端口/fail2ban/dnf-automatic/SSH + 容器 privileged/host port + CF tunnel/Access/DNS + 依賴更新 → Telegram 報告+建議。已即時觸發第一次執行驗證。MEMORY.md 自動化 section 已加記錄。
- 2026-08-13 00:36(cron 每日安全審查執行):檢查完成,報告已發 Telegram。✅ 全部正常:4 個 patch 齊全、SSH 只 publickey、冇 privileged/restarting 容器、CF tunnel healthy、Access 全部 Authentik IdP、DNS 冇可疑 record、cryptography 已係 50.0.0(早前 48.0.1 CVE 建議已解決)、alist/crawl4ai 最新。⚠️ 新發現:① QwenPaw v2.1.0 昨日發布(早前審計話 2.0.1 係最新已過時)——升級會覆蓋 patches 要 re-apply;② host fail2ban inactive;③ dnf-automatic 未裝;④ 3x-ui 竟然 Up 2 日兼佔 host 0.0.0.0:443(MEMORY 記「手動停用」)——已叫用戶確認用途;⑤ landlock sandbox 不可用(08-10 起,已知);⑥ calendar_direct MCP driver 連線失敗 + ai_decision plugin AIVote 參數 error(營運噪音);⑦ shinggo.xyz DNS 枚舉唔到(token scope 限制)。24h audit deny 3 條全誤判。
Hindsight Knowledge Pages 示範(2026-08-13)
- 建咗示範頁「Hindsight 自身設定」(Infra folder → kp-01ade42a149a4c3daf2b1b32b16f0c27 / mm-3400e899a63b47fea07b9b22743baecb),內容由 40 條 observations 自動生成(1157 chars,runbook 格式)。
- 三大坑(已入 MEMORY):① source_query 必須單詞/極短(多詞子查詢 recall 0 hits);② page 唔好傳 tags(tags 會被當 observation filter 包括空 array);③ 建錯要 DELETE node 再重建(PATCH 只 rebuild,agent 見已有 mental model 唔會重新搜)。
- 排查過程:一度以為 _connection_budget=1 係 bug(改 4 無效),最後 print 參數實錘 tags=[] 同多詞 query;tools.py 已還原原廠 + restart。
OLW Wiki Review(06:30 cron)
- 10 drafts:6 篇今日新生成全部 publish(Azure OpenAI、Cloudflare Zero Trust、DeepSeek、Docker、LiteLLM、e5-large);4 篇留低(Alist 內容錯誤、Workers VPC/Defguard/OpenRAG 低信心 0.35)。
- FNS sync:8 pushed / 6 updated / 120 local files。Telegram summary 已發。
- 2026-08-13 09:30(cron 每日安全審查第二次執行):報告已發 Telegram。✅ 正常:4 patch 齊全、audit 無新 deny、cryptography 50.0.0、70 容器全 Up 無 privileged/restarting、firewalld active(Syncthing port 被擋)、CF tunnel healthy、Access 全 Authentik(WARP 例外)、benhoweb.com DNS 無可疑、Crawl4AI 0.9.2 已修 CVE-2026-26216。⚠️ 持續問題:① fail2ban 未安裝(unit not found,唔係停用);② dnf-automatic 未安裝;③ 3x-ui Up 2 日佔 host 443(用戶未確認);④ QwenPaw 2.0.1 vs 最新 2.1.0(升級要 re-apply patches);⑤ fastmcp 3.4.6 vs 3.4.7(patch 可選);⑥ Landlock 不可用(已知);⑦ firewall 51821/udp 無服務;⑧ shinggo.xyz DNS 403 token scope;⑨ sshd config 讀唔到(需 root)。建議:裝 fail2ban + dnf-automatic、確認 3x-ui、排期 QwenPaw 升級。
fail2ban + dnf-automatic 安裝(2026-08-13)
- OL9.8:EPEL repo 預設 enabled=0,要先
dnf config-manager --set-enabled ol9_developer_EPEL
- fail2ban 1.1.0:sshd jail(10min/5次→ban 1h,ignore 內網);裝完即刻見 18 次失敗掃描
- dnf-automatic:已改 apply_updates=yes(自動安裝安全更新)+ emit_via=motd;timer 每日 06:00
- Script 保留:/home/opc/install-fail2ban-dnfautomatic.sh
2026-08-13 SSH 安全強化
- ssh.benhoweb.com 原本完全冇 Access 保護(tunnel ingress 有,但冇 Access app)→ 已建 Access app
ssh(id f9de7848)+ policy「Allow - Authentik」(b4a79d81)→ 而家未登入會 302 去 Access login。
- OCI 22 port 已封:
- NSG(ocid1.networksecuritygroup…hawe5q6vnk7kjknbyd5rbwklcbzkk5k6543bvpvqxq7nerbrxmpa)rule B79535(TCP 22 0.0.0.0/0)已移除
- Default Security List(…akedtjd5hr5yv4qgrevx4iolpa2gnvccsqks4qm6dnosmu5iyafea)IPv4 TCP 22 + IPv6 TCP 22 已移除(保留 10 條:ICMP/WG 51820/51821/443 IPv4+IPv6)
- 驗證:外部
130.61.87.40:22 connect timeout(blocked);ssh.benhoweb.com 302 → Access login 正常
- public IP 已變:OCI 而家係 130.61.87.40(之前記錄 130.61.182.126 係舊)
- 用戶 SSH 方法:
ssh opc@ssh.benhoweb.com(client 要裝 cloudflared + 已登入 Access);內部自動化(172.21.0.1:22)唔受影響。
VLESS+Reality 修復確認(2026-08-13 下午)
- 用戶用修正版 QR(sni=www.cloudflare.com)喺 iPhone Streisand 掃描後 連線成功 ✅
- Root cause 確認:Microsoft TLS 證書 8273B > Xray Reality 8192 limit(Issue #6356)→ 偽裝目標已永久改 www.cloudflare.com
- 教訓:VLESS Reality 偽裝目標唔好揀證書鏈太長/太大嘅站;用戶回報「connected 但上唔到網」時要即時諗 Reality target 問題,唔好先懷疑 flow/key/config。
2026-08-13 05:50 — AdGuard DoH 修復(doh.benhoweb.com)
- 用戶想喺 Streisand 用 adguard.benhoweb.com 做 DNS。發現
doh.benhoweb.com tunnel ingress 一直錯 route 去 http://adguardhome:80(web UI),但 AdGuard DoH 聽喺 HTTPS 443 → /dns-query 400 Bad Request。
- 修正:CF API 更新 tunnel
efd0b6f2 config version 85:doh.benhoweb.com → https://adguardhome:443 + originRequest.noTLSVerify: true(內部 hostname 同證書 CN mismatch)。
- 實測:dnspython
dns.query.https POST 成功,www.google.com 返回 A records ✅。curl 用 printf 整嘅 binary 唔得(可能 printf \x 問題),dnspython 標準 wire 得。
- Streisand 設定:DoH URL
https://doh.benhoweb.com/dns-query。
- 注意:DoQ (853 UDP) 經唔到 tunnel(cloudflared 唔支援 UDP,除非 warp-routing);DoT
tls://doh.benhoweb.com:853 有 tcp://adguardhome:853 rule 通。
- 所有經 tunnel 請求喺 AdGuard client 統計會歸入同一個 client(tunnel IP)。
2026-08-13 NotebookLM 收編完成
- 正式 stack 75(oracle-arm-stacks/notebooklm/):Dockerfile python:3.12-slim + notebooklm-py[all]==0.8.0 + playwright chromium + Xvfb/VNC/noVNC;entrypoint 起 Xvfb+x11vnc+websockify(6080)+
notebooklm-mcp --transport http --port 8001
- 容器 notebooklm(172.21.0.6),volume /home/opc/notebooklm(auth 由 PoC 容器 tar 抄出:storage_state.json + context.json + browser_profile,13MB)
- MCP streamable HTTP + Bearer token(NOTEBOOKLM_MCP_TOKEN=52f9ae…,Infisical + Dockhand env);⚠️ env var 名
NOTEBOOKLM_MCP_ALLOW_EXTERNAL_BIND=1;⚠️ Dockhand PUT env 係 append 唔係 replace(dup 要 sqlite DELETE NULL rows)
- AdGuard client notebooklm + list-site 加 novnc card;CF tunnel/DNS/Access(novnc.benhoweb.com→.6:6080)PoC 階段已齊
- QwenPaw driver drivers/mcp/notebooklm.yaml(24 tools:notebook_/source_/chat_ask/studio_generate/studio_status/studio_download/research_*)——排程 restart 後生效
- Artifact 測試✅:mind-map 生成成功(JSON 4KB)+ audio overview 生成成功(30.4MB mp3,~9 分鐘)→ 上傳 Nextcloud /NotebookLM/(audio link s/HXb2Jn4QgMLLZbb、mindmap link s/7ziimapiEBCQtks)
- PoC 容器 notebooklm-poc 已刪除
2026-08-13 NotebookLM 語言政策(用戶指示)
- 音訊(Audio Overview / podcast):優先廣東話;NotebookLM 唔支援粵語發音就用國語
- 所有文字輸出:一律繁體中文(zh_Hant)
- studio_generate 用 language 參數 + instructions 註明「用廣東話講,唔得就用國語」;文字生成一律 zh_Hant
- 已記入 MEMORY.md 工具設置 NotebookLM section