我在 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 · Panshi

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 · Panshi

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 · Panshi