最后更新于:2026年06月

手机已经成为大多数人访问互联网的主力设备。然而,移动端的隐私保护和网络安全管理往往被忽视——你是否知道,你安装在手机上的代理 App 可能正在请求大量敏感权限?是否考虑过手机丢失或被盗后,代理配置和隐私数据会如何处理?
本文将系统性地讲解 iOS 和 Android 平台上的代理 App 安全配置,涵盖权限管理、Kill Switch、应用级分流、隐私追踪防护以及设备丢失后的应急处理。
🧭 移动端代理的安全风险
手机 vs 桌面:风险有什么不同?
移动设备的攻击面远比桌面设备更大:
┌─────────────────────────────────────────────────────┐
│ 移动端特有的安全风险 │
│ │
│ 📱 设备可随身携带 → 丢失/被盗风险 │
│ 📡 蜂窝网络 → 移动运营商可见所有流量 │
│ 📍 位置服务 → GPS/基站定位可追踪用户位置 │
│ 🔔 后台运行 → App 可在后台收集数据 │
│ 📲 第三方 SDK → App 内嵌的追踪器难以审查 │
│ 🔐 生物识别 → 指纹/人脸可能用于解锁敏感配置 │
│ 🔌 USB 调试 → 可能被用于提取数据 │
│ 📶 公共 WiFi → 中间人攻击风险 │
└─────────────────────────────────────────────────────┘代理 App 的权限请求分析
以主流代理 App 为例,分析它们请求了哪些敏感权限:
| App | 位置 | 存储 | 电话 | 通讯录 | 摄像头 | 麦克风 |
|---|---|---|---|---|---|---|
| Shadowrocket | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Stash (Clash) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| sing-box | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| V2RayNG | ❌ | ⚠️ 读取 | ❌ | ❌ | ❌ | ❌ |
| Clash Meta for Android | ❌ | ⚠️ 读取 | ❌ | ❌ | ❌ | ❌ |
| NekoBox | ❌ | ⚠️ 读取 | ❌ | ❌ | ❌ | ❌ |
注:表格中的 ❌ 表示不需要该权限,⚠️ 表示某些版本/配置可能需要
大多数合规的代理 App 只需要网络权限,不需要任何敏感系统权限。如果一个代理 App 请求了摄像头、麦克风或通讯录权限,应当立即警觉。
🔐 iOS 端安全配置
iOS 权限体系概览
iOS 的权限模型比 Android 更严格。所有 VPN 相关的功能都通过 Network Extension 框架实现,受到系统的强监管。
iOS 权限层级:
┌─────────────────────────────────────────┐
│ 系统级别 │
│ │
│ VPN 配置(Network Extension) │
│ - 创建和管理 VPN 隧道 │
│ - 访问所有网络流量(仅限授权 App) │
│ │
│ 沙盒机制 │
│ - 每个 App 独立存储空间 │
│ - 无法访问其他 App 的数据 │
│ │
│ 权限提示 │
│ - 用户明确授权才能获取权限 │
│ - 可在设置中随时撤销 │
└─────────────────────────────────────────┘推荐的 iOS 代理 App
| App | 内核 | 功能 | 推荐程度 |
|---|---|---|---|
| Shadowrocket | 自有 | 完整规则、Surge 兼容 | ⭐⭐⭐⭐⭐ |
| Stash | Clash Meta | 强大规则引擎 | ⭐⭐⭐⭐⭐ |
| sing-box | sing-box | 多协议、轻量 | ⭐⭐⭐⭐ |
| Choc | sing-box | 简洁界面 | ⭐⭐⭐ |
| Leaf | Xray | VLESS/Trojan | ⭐⭐⭐ |
| Quantumult X | 自有 | 功能丰富但界面复杂 | ⭐⭐⭐ |
Shadowrocket 安全配置
1. 基础配置
设置 → 路由 → 选择合适的模式
- 规则模式(推荐):只代理需要代理的流量
- 全局模式:所有流量走代理(慎用)
- 直连模式:所有流量直连
设置 → UDP → 启用(除非遇到问题)
设置 → IPv6 → 关闭(除非需要)2. Kill Switch 配置
Shadowrocket 支持通过内置规则实现 Kill Switch:
# 在配置文件或「附加规则」中添加
[Rule]
# 所有流量走默认策略组
# 如果代理不可用,流量将被丢弃而非直连
IP-CIDR,0.0.0.0/0,🚀 默认代理,no-resolve
# 或使用更严格的配置
GEOIP,CN,DIRECT,no-resolve
MATCH,🚀 默认代理3. 应用级分流(iOS 15+)
设置 → 应用代理 → 选择要代理的 App
优点:
- 只有特定 App 的流量走代理
- 其他 App(微信、支付宝)正常直连
- 省电、节省流量
缺点:
- 只能在 iOS 15+ 使用
- 部分系统流量无法单独控制iOS 系统级隐私设置
设置 → 隐私与安全性
│
├── 定位服务 → 关闭或仅使用时
│
├── 跟踪 → 关闭「允许 App 请求跟踪」
│
├── Apple 广告 → 关闭「个性化广告」
│
├── 分析与改进 → 关闭「共享 iPhone 分析」
│
└── 网络钓鱼 → 启用「假网站警告」
设置 → Safari
│
├── 搜索引擎 → DuckDuckGo(推荐)
│ 或 Brave Search
│
├── 防止跨站跟踪 → 启用
│
├── 隐藏 IP 地址 → 启用(iCloud 私有中继)
│
└── 清除历史记录与网站数据 → 定期清理iOS VPN App 配置安全检查清单
✅ 检查清单:
□ 从官方 App Store 下载(不要用第三方分发)
□ 查看 App 的隐私政策
□ 检查 App 请求的权限(设置 → 隐私 → VPN)
□ 启用 Kill Switch(防止代理断开后流量直连)
□ 关闭 IPv6(除非明确需要)
□ 定期更新 App(获取最新安全修复)
□ 不在不受信任的 WiFi 下保持 App 连接
□ 设置强密码或生物识别保护 App 设置
□ 启用「从 App Store 自动更新」
□ 考虑使用系统的「隐私 VPN」配置而非第三方🤖 Android 端安全配置
Android 权限体系变化(Android 6.0+)
Android 6.0 之后,权限是运行时请求的,用户必须明确授权。
Android 权限模型:
┌─────────────────────────────────────────┐
│ 普通权限(自动授予) │
│ - 网络访问(INTERNET) │
│ - WiFi 状态(WIFI_STATE) │
│ → 安装时自动获得,无需用户确认 │
│ │
│ 危险权限(需用户确认) │
│ - 精确位置(ACCESS_FINE_LOCATION) │
│ - 存储读写(READ/WRITE_EXTERNAL) │
│ - 通讯录(READ_CONTACTS) │
│ → 首次使用时弹窗请求 │
│ → 可在设置中随时撤销 │
│ │
│ 特殊权限 │
│ - VPN 服务(BIND_VPN_SERVICE) │
│ → 需要用户手动授权安装 VPN 配置 │
└─────────────────────────────────────────┘Android 代理 App 推荐
| App | 内核 | 特点 | 推荐程度 |
|---|---|---|---|
| Clash Meta for Android | Clash Meta | 功能强大,规则丰富 | ⭐⭐⭐⭐⭐ |
| NekoBox (NK | sing-box/v2ray/Xray | 多内核合一 | ⭐⭐⭐⭐ |
| sing-box for Android | sing-box | 轻量、多协议 | ⭐⭐⭐⭐ |
| V2RayNG | v2ray-core | 稳定、简单 | ⭐⭐⭐⭐ |
| Hiddify Next | Clash Meta | 界面友好 | ⭐⭐⭐⭐ |
| GoAgentX | 多种 | 功能全面 | ⭐⭐⭐ |
VPN Kill Switch:防止流量泄漏
Clash Meta for Android Kill Switch 配置:
# 在 Clash 配置中确保 Kill Switch 生效
# 1. 启用 TUN 模式(系统级代理)
tun:
enable: true
stack: system
dns-hijack:
- any:53
auto-route: true
strict-route: true # ← 关键:启用后,未匹配规则的流量也会走代理
# 2. 配置出站规则
# 如果 Kill Switch 生效,以下规则确保所有流量被拦截而非泄漏
rules:
- GEOIP,CN,DIRECT,no-resolve
- MATCH,🚀 代理组 # ← 没有匹配 DIRECT 的流量走这里验证 Kill Switch 是否生效:
测试方法:
1. 开启代理,确保连接正常
2. 在浏览器中访问 ip.sb,确认显示代理 IP
3. 断开代理服务器(不是关闭 App)
4. 再次访问 ip.sb
- 如果显示「连接失败」→ Kill Switch 生效 ✅
- 如果显示真实 IP → Kill Switch 未生效 ❌应用级分流配置
sing-box Android 应用级分流:
// sing-box 的 app_proxied_subnets 配置
{
"inbounds": [
{
"type": "mixed",
"listen": "127.0.0.1",
"listen_port": 1080
}
],
"app_proxied_subnets": [
"10.0.0.0/8",
"172.16.0.0/12"
]
}NekoBox 分应用代理:
NekoBox → 设置 → 应用代理
→ 选择「仅代理指定应用」
→ 从列表中选择需要的 App
→ 确认
优点:
- 只有选中的应用走代理
- 其他应用(银行App、微信)直连,更安全
- 省电
缺点:
- 系统级流量(如 OTA 更新)仍可能走代理
- 需要分别配置每个应用Android 系统级安全设置
设置 → 网络和 Internet
│
├── SIM 卡安全
│ └── 锁定 SIM 卡(PIN 码保护)
│
├── WiFi 安全
│ ├── 关闭「自动连接到开放网络」
│ └── 使用「安全 WiFi」功能(如果可用)
│
└── VPN
└── 查看已安装的 VPN,移除不信任的配置
设置 → 安全
│
├── 设备加密 → 启用(如果支持)
│
├── SIM 卡锁定 → 启用
│
├── 安全启动 → 启用(防止恶意系统启动)
│
└── 查找我的设备 → 启用(设备丢失后可远程擦除)Android 追踪防护
使用 Android 的隐私仪表盘:
设置 → 隐私 → 隐私仪表盘
→ 查看哪些 App 最近访问了摄像头、麦克风、位置
→ 对可疑的 App 撤销权限限制 App 后台活动:
设置 → 应用 → 选择 App → 电池
→ 设置「限制后台活动」
→ 设置「暂停发送通知」
优点:
- 减少 App 在后台收集数据
- 省电
缺点:
- 可能影响某些 App 的实时功能(如消息推送)🔒 跨平台安全实践
Kill Switch:为什么必须启用
Kill Switch 原理:
┌──────────────────────────────────────────────────┐
│ 未启用 Kill Switch │
│ │
│ 代理 App ──► 代理服务器 ──► 目标网站 │
│ │ │
│ └── 代理断开时 ──► 流量直连 ❌ 隐私泄漏 │
└──────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────┐
│ 启用 Kill Switch │
│ │
│ 代理 App ──► 代理服务器 ──► 目标网站 │
│ │ │
│ └── 代理断开时 ──► 流量被阻止 ✅ 安全 │
│ │ │
│ ▼ │
│ 「无法连接」或「等待重连」 │
└──────────────────────────────────────────────────┘DNS 泄漏防护
DNS 泄漏是移动端常见的安全隐患。当 VPN 代理启用时,DNS 请求可能绕过代理,直接发送给运营商 DNS。
DNS 泄漏测试:
1. 连接代理
2. 访问 https://browserleaks.com/dns
3. 检查显示的 DNS 服务器
- 如果是 223.5.5.5 / 119.29.29.29 等国内 DNS → 泄漏 ❌
- 如果是 1.1.1.1 / 8.8.8.8 等代理 DNS → 安全 ✅
修复方法:
- 启用 Clash/sing-box 的 fake-ip 模式
- 在 App 设置中强制使用 DoH/DoT
- 确保 TUN 模式启用 DNS 劫持公共 WiFi 安全
公共 WiFi 环境下,中间人攻击风险极高:
┌──────────────────────────────────────────────────┐
│ 中间人攻击(MITM)示意图 │
│ │
│ 用户设备 ←── 伪造的 WiFi 热点 ──► 攻击者 │
│ │ │
│ │ 如果没有代理保护 │
│ │ │
│ └──► 所有流量明文 → 攻击者可见 │
│ - 密码 │
│ - 聊天记录 │
│ - 银行信息 │
└──────────────────────────────────────────────────┘防护措施:
✅ Always-On VPN:始终保持代理连接
✅ HTTPS Everywhere:强制使用加密连接
✅ 公共 WiFi 下避免访问敏感账户
✅ 使用移动数据处理敏感事务(如果 VPN 不可用)
✅ 关闭 WiFi 自动连接功能
✅ 验证 WiFi 热点名称(防止同名钓鱼热点)双因素认证(2FA)
代理账户本身应当启用 2FA:
支持的 2FA 方式(按安全性排序):
1. 硬件安全密钥(YubiKey)← 最安全
- 不受钓鱼攻击影响
- 需要物理接触
2. TOTP 应用(Authenticator)
- Google Authenticator
- Authy(支持多设备备份)
- 微软 Authenticator
3. 短信验证码 ← 最不安全
- 可被 SIM 交换攻击绕过
- 运营商内鬼可截获代理账户安全最佳实践
✅ 必须:
□ 使用强密码(12+ 字符,包含大小写、数字、符号)
□ 启用 2FA(TOTP 优于短信)
□ 不在公共设备登录代理账户
□ 定期检查登录记录和订阅状态
□ 使用密码管理器存储密码
❌ 禁止:
□ 使用相同密码在多个平台
□ 通过未加密的渠道分享配置
□ 在社交媒体发布订阅链接
□ 使用来历不明的「免费节点」
□ 相信声称能「永久免费」的代理服务📱 移动端代理 App 安全对比
iOS App 安全特性对比
| App | Kill Switch | 应用分流 | DoH/DoT | 规则导入 | 本地配置加密 |
|---|---|---|---|---|---|
| Shadowrocket | ✅ 规则实现 | ✅ iOS 15+ | ✅ | ✅ | ⚠️ 需越狱 |
| Stash | ✅ 规则实现 | ✅ iOS 15+ | ✅ | ✅ | ⚠️ 需越狱 |
| sing-box | ✅ 规则实现 | ✅ iOS 15+ | ✅ | ✅ | ⚠️ 需越狱 |
| Quantumult X | ✅ 内置 | ✅ | ✅ | ✅ | ❌ |
| Leaf | ✅ 规则实现 | ⚠️ 有限 | ✅ | ✅ | ⚠️ 需越狱 |
Android App 安全特性对比
| App | Kill Switch | 应用分流 | DoH/DoT | 规则导入 | 本地配置加密 |
|---|---|---|---|---|---|
| Clash Meta for Android | ✅ TUN strict-route | ✅ | ✅ | ✅ | ❌ |
| NekoBox | ✅ | ✅ | ✅ | ✅ | ❌ |
| sing-box Android | ✅ | ✅ | ✅ | ✅ | ❌ |
| V2RayNG | ❌ | ❌ | ⚠️ 需手动 | ✅ | ❌ |
| Hiddify Next | ✅ | ✅ | ✅ | ✅ | ❌ |
💻 设备丢失应急处理
预防措施
丢失前应做的准备:
□ 启用设备锁(PIN/密码/生物识别)
□ 启用「查找我的设备」(iOS Find My / Android Find My Device)
□ 定期备份代理配置文件到安全位置(加密的云存储或本地)
□ 不在设备上存储明文密码或敏感配置
□ 设置代理 App 的访问密码/生物识别锁定
□ 使用 eSIM 替代物理 SIM(更容易远程管理)iOS 设备丢失处理
立即行动:
1. 登录 iCloud.com → Find My iPhone
→ 启用「丢失模式」或「远程擦除」
2. 在「查找」中移除设备
→ 如果设备已绑定到你的 Apple ID
3. 更改 Apple ID 密码
→ 防止他人访问你的 iCloud 数据
4. 撤销代理订阅的登录会话
→ 在代理服务商网站上使所有设备下线
5. 联系运营商
→ 挂失 SIM 卡,防止被用于短信验证Android 设备丢失处理
立即行动:
1. 访问 android.com/find
→ 登录 Google 账户
→ 启用「锁定」或「远程擦除」
2. 在 Google 账户中移除设备
→ account.google.com → 安全性 → 管理设备
3. 更改与该设备相关的所有密码
→ 特别是代理账户、银行账户
4. 联系运营商
→ 挂失 SIM 卡
5. 检查是否有未授权的订阅使用
→ 大多数代理服务支持查看活跃连接备份与恢复
代理配置备份建议:
□ 导出配置文件(.yaml / .json)到加密的云存储
□ 不在备份中包含密码,使用密码管理器单独存储
□ 定期测试备份的可恢复性
□ 保留最近 3 个版本的备份
推荐的备份存储位置:
- 加密的密码管理器(1Password / Bitwarden / KeePass)
- 加密的本地存储(BitLocker / FileVault)
- 加密的云盘(Cryptomator 加密后上传)
⚠️ 绝对不要:
- 把明文配置通过微信/QQ 发送
- 上传到未加密的云盘
- 截图发送到任何在线服务🔧 高级安全配置
配置文件的加密存储
使用 1Password / Bitwarden 存储敏感信息:
在密码管理器中创建安全笔记,存储:
- 订阅链接(URL)
- 代理节点详情(地址、端口、UUID)
- TLS 证书内容
- 特殊配置参数
优点:
✅ 端到端加密
✅ 跨设备同步
✅ 支持 TOTP
✅ 可设置自动销毁(如果账户被盗)使用 GPG 加密配置文件:
# 在桌面端加密配置文件
gpg --symmetric --cipher-algo AES256 config.yaml
# 输入强密码,生成 config.yaml.gpg
# 在移动端,需要解密后使用
# 可以通过安全的渠道传输解密后的配置应用白名单模式
只允许特定 App 使用代理:
Clash Meta for Android 配置:
# 使用 rule-providers 限制只代理需要的 App
rule-providers:
app_whitelist:
type: http
behavior: ipcidr
url: "https://你的规则服务器/app_whitelist.txt"
path: ./ruleset/app_whitelist.yaml
interval: 86400
rules:
- RULE-SET,app_whitelist,🚀 代理组
- MATCH,DIRECT安全审计清单
每月检查一次:
□ 检查代理 App 是否有更新
□ 检查登录记录是否有异常
□ 审查 App 权限授予情况
□ 测试 Kill Switch 是否正常工作
□ 执行 DNS 泄漏测试
□ 更改代理账户密码(每 3 个月)
□ 备份代理配置文件
□ 检查订阅有效期
□ 审查设备列表,移除不认识的设备📊 隐私 vs 功能权衡
┌──────────────────────────────────────────────────────────┐
│ 隐私强化 vs 功能便利性 │
│ │
│ 隐私最大化 ←──────────────────────────→ 功能最大化 │
│ │
│ [极度安全] │
│ - Always-On VPN │
│ - Kill Switch 严格模式 │
│ - 只代理必要流量(应用级分流) │
│ - 所有 App 流量加密 │
│ - 关闭位置服务 │
│ - 使用隐私浏览器(Firefox Focus / Brave) │
│ │
│ [平衡模式] ← 大多数用户推荐 │
│ - 启用 Kill Switch │
│ - 规则模式分流 │
│ - 只代理国外 App │
│ - DoH/DoT DNS │
│ - 系统隐私设置优化 │
│ │
│ [功能优先] │
│ - 全局代理 │
│ - 忽略部分隐私警告 │
│ - 允许后台活动 │
│ - 自动填充密码等便利功能 │
└──────────────────────────────────────────────────────────┘结语
移动端安全是整个代理体系中不可或缺的一环。桌面端你可以完全掌控系统,但手机作为随身设备,面临更多不可控因素——公共 WiFi、设备丢失、应用后台行为。
总结要点:
- ✅ Kill Switch 必须启用:防止代理断开后流量直连泄漏隐私
- ✅ 最小权限原则:代理 App 只需要网络权限,拒绝敏感权限请求
- ✅ 应用级分流:只代理必要的 App,其他 App 直连更安全
- ✅ DNS 泄漏防护:使用 fake-ip 模式或强制 DoH/DoT
- ✅ Always-On VPN:在公共网络环境下保持代理连接
- ✅ 设备丢失预案:提前设置查找功能,远程擦除能力
- ✅ 强密码 + 2FA:代理账户本身的安全不能忽视
- ✅ 定期安全审计:每月检查权限、更新、登录记录
移动端安全的投入是值得的——你的隐私数据比桌面端更脆弱,但保护手段同样有效。掌握这些知识,你就能在手机上安心地访问互联网,不再担心隐私泄漏或流量被劫持。
愿你的移动设备始终安全、隐私始终受保护!🔐
