起因
看到 App Store 有卖 1 美元的「看 IP」小工具,起念是否自己做一个——
背景是最近 VPN 一直有问题。
判断:单纯「看 IP」和实际痛点错位
本机实测的配置是 TUN + 系统代理双开:
MacPacket 127.0.0.1:1082 系统 HTTP/HTTPS 代理指向它
utun12 inet 198.18.0.1 fake-IP 网段,TUN 模式
默认路由 走 utun12
对照实际会遇到的问题:
| 症状 |
看 IP 能否回答 |
| 完全断网 |
不需要工具就知道 |
| 连着但某站打不开 |
否——分流规则或 DNS |
| 出口国家不对 |
是 |
| 怀疑某个 App 没走代理 |
半个——fake-IP 按域名分流,出口 IP 推不出单个 App 的走向 |
| DNS 泄漏 |
否,需单独测 |
| 慢、丢包 |
否 |
六个场景命中一个半,而那一个半 curl ip.sb 一行即可。
「VPN 一直有问题」是稳定性问题,不是可见性问题。
与项目定位的冲突
看 IP 必须请求外部服务。LocalTranslate 目前「翻译、字幕、用量全部本机」的
承诺是字面成立的(侧栏「数据保留在本机」、README 权限边界表都撑得住)。
为一个半场景的功能给这句话加脚注,不划算。
若要做,值得做的形态
不是「看 IP」,而是一次性代理体检——回答「坏在哪一层」:
系统代理 HTTP/HTTPS → 127.0.0.1:1082 进程 MacPacket ✓
TUN utun12 198.18.0.1 默认路由 ✓
出口 IP x.x.x.x (US)
DNS 出口 x.x.x.x ← 与出口 IP 不同国家 = 泄漏
连通性 github.com ✓ google.com ✗
一个按钮,跑完即止,不常驻。
决定
先不进 App。 先写成 shell 脚本用两周:
- 一周开好几次 → 再考虑给它 GUI,并同时决定如何处理「本机」承诺
(例如划出明确标注为会联网的分区);
- 两周只用一次 → 说明它不该存在。
需求未经验证前不占用 App 的定位预算。
起因
看到 App Store 有卖 1 美元的「看 IP」小工具,起念是否自己做一个——
背景是最近 VPN 一直有问题。
判断:单纯「看 IP」和实际痛点错位
本机实测的配置是 TUN + 系统代理双开:
对照实际会遇到的问题:
六个场景命中一个半,而那一个半
curl ip.sb一行即可。「VPN 一直有问题」是稳定性问题,不是可见性问题。
与项目定位的冲突
看 IP 必须请求外部服务。LocalTranslate 目前「翻译、字幕、用量全部本机」的
承诺是字面成立的(侧栏「数据保留在本机」、README 权限边界表都撑得住)。
为一个半场景的功能给这句话加脚注,不划算。
若要做,值得做的形态
不是「看 IP」,而是一次性代理体检——回答「坏在哪一层」:
一个按钮,跑完即止,不常驻。
决定
先不进 App。 先写成 shell 脚本用两周:
(例如划出明确标注为会联网的分区);
需求未经验证前不占用 App 的定位预算。