兼容软件 · WPS 技术说明
WLOC 依赖哪些 VPN 软件?为什么?
WLOC 本身不是 VPN。坐标管理可独立使用;要运行网络定位响应测试,需要另行安装一款兼容的 iOS 网络客户端,由它提供本机网络隧道、限定主机的 HTTPS 检查和脚本执行能力。
先说结论:只需要一款兼容客户端
Shadowrocket、Surge 5、Quantumult X、Loon、Stash 或 Egern 任选其一即可,不需要全部安装。WLOC 负责目标坐标、配置文件、状态桥接、诊断和恢复;第三方客户端负责把相应规则放进 iOS 网络路径。客户端由各自开发者独立提供,WLOC 不销售、不捆绑,也不代表 Apple 或这些客户端厂商背书。
Core Location 是多来源融合,不是单一 GPS 开关
Apple 当前支持文档说明,定位服务可以使用蜂窝网络、Wi-Fi、GPS 与蓝牙;设备也会扩充众包的 Wi-Fi 热点和基站位置数据库。因此网络定位只是最终结果的一层。
- 室外强 GPS、蓝牙信标、App 权限和精确位置设置都可能改变最终结果。
- 目标 App 还可能叠加缓存、IP 区域、账号状态和服务端风控。
- 所以“补丁成功”不等于“所有 App 都必须显示目标点”。
BSSID 作为地标,服务端返回坐标,设备端再计算
2024 年 IEEE S&P 论文描述了 Apple WPS 的实验模型:设备提交附近 Wi-Fi 接入点的 BSSID,服务返回这些地标及附近地标的坐标,设备在本机计算并缓存。Apple 2010 年致美国国会议员的历史信函也曾披露,设备会取得附近基站和 Wi-Fi 接入点的已知位置,并与可用 GPS 信息结合。
- BSSID 是 Wi-Fi 接入点无线接口的标识,不是 Wi-Fi 名称 SSID。
- 2010 年信函是历史披露,不能当作 2026 年私有协议的完整或不变规范。
- 论文重点同时提醒了 Wi-Fi 位置数据库的隐私与批量滥用风险。
在目标存在时改兼容记录的坐标;没有目标时原样直通
WLOC 的响应脚本识别 Apple WPS 二进制响应中的兼容 Wi-Fi、蜂窝和 location 记录,把其中的经纬度与精度字段替换为当前目标或路线节点。清除目标后脚本不再替换响应。
- 独立实验仓库把 /clls/wloc、protobuf 结构与 Wi-Fi/蜂窝查询作为逆向研究结果展示。
- 该端点不是 Apple 面向第三方承诺稳定的公开 API,字段和行为可能随时变化。
- WLOC 不能修改卫星信号、系统 locationd 缓存或其他 App 的服务端判断。
为什么要安装并信任 CA 证书,以及风险是什么
Apple WPS 请求使用 HTTPS。兼容客户端要在设备上检查并修改响应,就必须为限定主机解密 HTTPS;因此会生成本机 CA、安装描述文件并在 iOS 中手动完全信任。这是一项高权限操作,不应该被包装成无风险的一键开关。
- 只在你拥有或明确获准测试的专用设备、账号、App 和网络中使用。
- 主机范围只保留 gs-loc.apple.com 与 gs-loc-cn.apple.com;不要为了省事启用全域解密。
- 不要安装来源不明的证书,不要共享 CA 私钥,也不要在承载敏感生产账号的主力机上长期保留。
- 测试结束后清除 WLOC 目标,停用配置与 HTTPS 检查,撤销系统证书信任;不再使用时移除证书和相关 VPN 配置。
- WLOC 不会替第三方客户端安装或移除 CA,也无法审计该客户端对其他流量的处理。
开始前检查清单
- 确认设备、网络、App 和账号都属于你或已得到明确授权。
- 只选择一款兼容客户端,并从其官方 App Store 页面获取。
- 先在 WLOC 中用公开、低风险地点完成一次静态目标测试。
- 把证书主机范围限制在两个 Apple WPS 主机,并记录安装与撤销步骤。
- 验证一次 active、一次 passthrough,以及目标 App 重新打开后的真实位置。
证据来源与可信度分层
这些资料回答的问题不同。当前 Apple 文档定义公开边界;历史信函与论文解释演进;GitHub 仓库只作为独立实验佐证。
这里的“VPN”与改 IP 不是一回事
这些客户端常使用 iOS 的 VPN/Network Extension 通道接管本机规则流量,所以状态栏可能出现 VPN 标识;这并不等于 WLOC 向远程 VPN 服务器发送全量流量。
| 组件 | 负责什么 | 不负责什么 |
|---|---|---|
| WLOC | 保存目标、生成匹配配置、触发状态桥接、展示诊断与恢复步骤。 | 不创建 VPN 隧道,不改变公网 IP,不安装 CA,也不直接写 GPS 硬件。 |
| 兼容网络客户端 | 创建本机网络路径,加载规则,按限定主机执行 HTTPS 检查与响应脚本。 | 不是 WLOC 的组成部分;其权限、计费、隐私和运行状态由各自产品负责。 |
| 远程 VPN/代理服务 | 如果用户另行配置,可能改变网络出口 IP 或传输路径。 | WLOC 不要求远程 VPN 订阅,也不会把 IP 地区与坐标目标当成同一个开关。 |
看到什么现象,应该检查哪一层
把故障定位到客户端、证书、规则、WPS 响应或目标 App,能减少反复切开关的无效操作。
| 现象 | 更可能的层 | 下一步 |
|---|---|---|
| 没有 VPN 标识或客户端未连接 | 本机网络路径未启动。 | 确认所选客户端的连接、当前配置与 iOS VPN 权限。 |
| HTTP 状态桥可用,但 HTTPS 检查为 Not found | 配置已加载,但 HTTPS 解密、CA 信任或主机列表未生效。 | 检查客户端开关、系统证书完全信任和两个限定主机。 |
| 没有观察到 /clls/wloc 请求 | 规则未命中、资源过期、主机被直连绕过,或当前场景未触发 WPS。 | 更新配置,检查绕过规则,再用低风险地图查询触发。 |
| 补丁成功,但目标 App 仍是原位置 | GPS、权限、缓存、IP、账号或服务端规则覆盖了网络定位结果。 | 核对目标 App 权限与时间线,重新打开 App,并把 IP 与坐标分开测试。 |
| 已清除目标,但 App 仍显示旧位置 | 目标 App 或 iOS 缓存尚未刷新。 | 确认 passthrough,完全重新打开目标 App;WLOC 无法代替 iOS 清理 locationd。 |
证据来源与可信度分层
这些资料回答的问题不同。当前 Apple 文档定义公开边界;历史信函与论文解释演进;GitHub 仓库只作为独立实验佐证。
| 现象 | 更可能的层 | 下一步 |
|---|---|---|
| 当前官方资料 | Apple:定位服务与隐私(2026-05-25) | https://support.apple.com/zh-cn/102515 |
| 当前排障资料 | Apple:如果在设备上无法正常使用地图(2026-05-20) | https://support.apple.com/zh-cn/108924 |
| 历史官方资料 | Apple 致 Markey 与 Barton 的定位服务回函(2010-07-12,存档) | https://web.archive.org/web/20101208141602/https://markey.house.gov/docs/applemarkeybarton7-12-10.pdf |
| 同行评审研究 | Rye 与 Levin:Surveilling the Masses with Wi-Fi-Based Positioning Systems(IEEE S&P 2024) | https://www.cs.umd.edu/~dml/papers/wifi-surveillance-sp24.pdf |
| 独立逆向实验 | acheong08/apple-corelocation-experiments(GitHub) | https://github.com/acheong08/apple-corelocation-experiments |
从目标坐标到网络定位结果的 6 步链路
保存目标
WLOC 在本机保存 WGS84 坐标
导入配置
客户端加载匹配格式
开启网络路径
iOS 可能显示 VPN 标识
限定 HTTPS
仅检查 Apple WPS 主机
处理响应
脚本修改兼容记录中的坐标字段
验证与恢复
核对目标 App,再清除回到直通
先选一款兼容客户端,再从可恢复的低风险测试开始
安装 WLOC,选择公开地点,按 App 内与所选客户端匹配的步骤配置,完成一次保存、诊断、清除和证书撤销闭环。
Frequently asked questions
WLOC 自己是 VPN 吗?
不是。WLOC 管理坐标、配置、诊断和恢复;兼容的第三方客户端才创建 iOS 网络路径。
需要同时安装 Shadowrocket、Surge、Quantumult X 等所有软件吗?
不需要。任选一款当前受支持的客户端即可,并使用对应的 wloc.module、wloc.sgmodule、wloc.conf、wloc.lpx 或 wloc.stoverride。
必须购买远程 VPN 或代理订阅吗?
WLOC 本身不要求远程 VPN 订阅。所选客户端可能有自己的购买、功能或服务条款;WLOC 需要的是它在本机加载规则、检查限定 HTTPS 主机和执行脚本的能力。
为什么 iPhone 会显示 VPN 图标?
兼容客户端可能通过 iOS VPN/Network Extension 通道处理本机规则流量。这个图标表示网络通道已启用,并不证明 WPS 规则、证书或补丁已经成功。
VPN 图标出现后,公网 IP 地区也会改变吗?
不一定。WLOC 不提供远程出口,也不改变 IP。只有你另行配置的远程网络服务才可能影响公网出口。
为什么一定要信任证书?
因为目标响应是 HTTPS。要检查并修改限定主机的加密响应,客户端需要本机 CA 和系统信任。该权限敏感,应限制主机、使用测试机并在测试后撤销。
WLOC 支持哪些地图链接和坐标输入?
支持 Apple Maps、Google Maps、高德、百度链接,也可以直接输入纬度和经度文本。WLOC 会识别来源坐标系并规范为内部 WGS84 目标。
iOS 26/27 上日志显示已修改,但地图为什么没有变化?
先确认最近的 WLOC 请求和坐标替换时间都已更新;如果只看到 VPN 图标或状态桥,重启不能修复配置、证书或规则未命中。如果补丁已确认但地图仍旧,可先刷新目标 App 权限并重新打开,仍无变化时再重启测试设备。Apple 没有公开 WLOC 专用的 iOS 26/27 缓存或必须重启规则,因此这是排障建议,不是版本保证。
怎样取消测试目标并恢复真实定位?
先停止并清除活动路线,再用 WLOC 的恢复真实位置操作清除 wloc_settings,确认状态为 passthrough。当前官方配置没有 113.94114、22.544577 这组透传哨兵;只要模块参数中仍有有效 fallback 经纬度,或路线仍在运行,脚本仍可能继续替换。
这会让所有 App 都显示同一个位置吗?
不会保证。最终结果还受 GPS、蓝牙、蜂窝、权限、缓存、IP、账号和服务端规则影响;某些 App 也可能完全不采用这条网络定位结果。
如何完整移除测试设置?
先在 WLOC 清除目标并确认 passthrough,再停用或移除客户端配置与 HTTPS 检查,撤销并删除 CA 证书或描述文件,必要时移除 VPN 配置,最后重新打开目标 App 验证真实位置。