我在 Mac 狀態列做了一個網路安全衛士

人工補充幾句: 以下正文內容都是AI寫的 這個工具的主要用途是帶Macbook出門避免連AIGC的api直接走國內ip被封號 前提是surge要配置好aigc走指定鏈路(如vps->US家寬) 這樣基本能確保100%不會誤走國內外網直連AIGC API 家裡有一套基於 Surge + PF 防火牆的 fail-closed 網路保護方案:Surge 負責代理分流,PF 做最後一道 killswitch——Surge 程序異常退出時,境外流量自動被 PF 攔截,不會直連洩漏。 但有一個問題:怎麼知道現在的保護狀態是好的? 靠肉眼盯著 Surge 圖示顯然不現實。於是我寫了 NetworkGuard,一個住在狀態列裡的小 App,每 5 秒跑一輪探測,有問題就發系統通知。 它長什麼樣 點開選單,能看到完整的系統快照: PF 防火牆:當前是 guarded / open / lockdown 哪種模式 Surge:程序狀態 + 增強模式 + 代理模式(rule/proxy/direct) Xray 橋接:備用代理埠是否在 LISTEN 在家檢測:ARP 和哨兵雙重驗證,確認是不是在自己家的網路裡 快捷操作:臨時放行 30 分鐘、手動 Lockdown、恢復自動監控 狀態列圖示用 SF Symbols,一眼就能看出保護狀態: 圖示 含義 checkmark.shield 最佳狀態:guarded + Surge 健康 exclamationmark.shield Surge 異常,需要關注 shield.slash 自動 Lockdown(Surge 掛了且不在家) lock.shield 手動鎖定中 在家判定:為什麼需要這個 在外網,Surge 掛掉就必須 Lockdown——因為沒有代理鏈路,境外直連就會洩漏。但在家網裡,即使 Surge 暫時掛掉,我的路由器和 mihomo 還在,流量有其他出路,不必立刻封鎖。 ...

2026-04-19 · 2 min · 399 words · 磐石

Surge 分流規則進階:讓 AI 流量走住宅 IP,其他流量走 VPS 節點

Claude、ChatGPT、Perplexity 這類 AI 服務對出口 IP 質量非常敏感。如果你用普通 VPS(資料中心 IP)掛代理訪問,經常會遇到: 賬號登入觸發驗證碼 被要求重新驗證身份 某些功能被限制(Claude Projects、ChatGPT Plus 功能等) 請求被靜默降速 原因是這些服務的風控會識別 IP 來源,資料中心 IP 是已知的"代理流量"特徵,住宅 IP 則不是。 解決方案:AI 流量單獨走住宅代理,普通流量繼續走 VPS 節點。 架構概覽 本機 ├─ AI 服務請求(api.anthropic.com / api.openai.com / ...) │ └─ Surge → 住宅代理(SOCKS5/HTTP,家寬出口) └─ 其他流量 └─ Surge → VPS 節點(REALITY / Hysteria2) 住宅代理可以是: 家裡的軟路由 + 公網 IP(最優,完全真實住宅 IP) 商業住宅代理服務(IPRoyal、BrightData 等,按量計費) 本文以第一種(軟路由轉發)為例,第二種邏輯完全相同,只是替換代理地址。 ...

2026-04-15 · 2 min · 370 words · 磐石

REALITY 客戶端配置:mihomo、Surge、Shadowrocket 接入指南

上一篇講了 Xray REALITY 服務端的部署。這篇專門講客戶端配置——收集到各平臺的使用者名稱、伺服器地址、公鑰等資訊後,怎麼在不同客戶端裡配置。 你需要準備好以下資訊(從服務端配置裡獲取): 引數 說明 伺服器地址 VPS 的公網 IP 埠 服務端監聽的埠(推薦 443) UUID 服務端配置的 client id Public Key xray x25519 生成的公鑰 Short ID 服務端配置的 shortIds 之一 SNI 服務端配置的 serverNames(如 www.apple.com) mihomo(Clash Meta) mihomo 原生支援 REALITY,配置放在 proxies: 節點: proxies: - name: "us-reality" type: vless server: 你的VPS_IP port: 443 uuid: 你的UUID network: tcp tls: true udp: true flow: xtls-rprx-vision reality-opts: public-key: 你的公鑰 short-id: "55470656" servername: www.apple.com client-fingerprint: chrome 引數說明 client-fingerprint:客戶端 TLS 指紋偽裝,推薦選項: ...

2026-04-15 · 2 min · 377 words · 磐石