项目地址:面向 iOS 定位服务行为研究和开发测试的虚拟定位工具
软件预览






功能特性
- 原生地图交互
- 使用 MapKit 显示地图和系统蓝点;
- 支持搜索、点击选点、拖动地图中心和缩放;
- 支持收藏位置和恢复上次选点;
- 当前选点同时显示国内坐标和国际坐标,可分别复制。
- 定位服务响应模拟
- 通过代理层处理指定的 Apple 定位服务请求;
- 在测试环境中返回选定的坐标数据;
- 不需要修改目标 App 代码。
- 双运行模式
- APP 模式:在设备内运行 Go 代理,仅支持当前 Wi-Fi 网络;
- 第三方代理模式:通过支持的代理客户端覆盖 Wi-Fi、4G 或 5G,具体能力取决于客户端。
- 环境检测
- APP 模式检测本地代理、证书信任和请求链路;
- 第三方代理模式检测 WLOC 配置接口和模块响应;
- 失败时提供对应的配置或诊断入口。
工作原理
APP 模式
APP 模式在设备内运行本地 Go 代理,并通过当前 Wi-Fi 的手动 HTTP 代理让指定请求经过本地代理。
iOS 定位请求
│
│ 当前 Wi-Fi 手动 HTTP 代理
▼
设备内 wloccore Go 代理
│
│ 处理指定 Apple 定位服务请求
▼
Apple 定位服务响应
│
│ 测试坐标响应
▼
系统和应用读取定位结果
第三方代理模式
第三方代理模式不启动 App 内置 Go 代理,也不使用 App 生成的 CA。
地图选点
│
│ WGS-84 坐标
▼
WLOC 配置接口
│
▼
第三方代理客户端保存配置
│
▼
第三方代理客户端处理定位服务请求
运行模式
APP 模式
适用于:
- 只使用 Wi-Fi 的设备测试;
- 不依赖第三方代理客户端的本地验证;
- 需要在 App 内完成代理、证书和环境检测的场景。
使用条件:
- iOS 设备;
- 当前 Wi-Fi 支持手动 HTTP 代理;
- 安装并信任本机 CA;
- 在 App 内完成代理配置和环境检测。
第三方代理模式
适用于:
- 需要 Wi-Fi、4G 或 5G 网络覆盖的测试;
- 已经使用支持模块或脚本的代理客户端;
- 希望由第三方客户端继续保持代理配置的场景。
当前客户端状态:
| 客户端 | 状态 | 社区配置 |
|---|---|---|
| Shadowrocket | 当前用于真机测试 | App 内置教程 |
| Surge | 已提供配置,尚未完整验证 | 待征集 |
| Quantumult X | 已提供配置,尚未完整验证 | 待征集 |
| Loon | 已提供配置,尚未完整验证 | 待征集 |
| Stash | 已提供配置,尚未完整验证 | 待征集 |
| Egern | 使用 Surge 模块,尚未完整验证 | 待征集 |
快速开始
免费自签环境可能无法使用 Network Extension,因此 APP 模式采用设备内本地代理和 Wi-Fi 手动代理,不依赖 VPN 组件。
自签安装
Release 附件是未签名 IPA,需要使用自签工具安装到 iPhone:
- 开启自签支持:iOS 16 及以上版本前往“设置 → 隐私与安全性 → 开发者模式”,开启后按系统提示重启并 确认;iOS 15 没有此开关,可跳过本步。
- 下载 IPA:前往本项目的 Releases,下载最新的
PaopaoLocationSpoofer-unsigned.ipa。 - 准备自签软件:前往 Impactor Releases 下载对应系统 版本的 Impactor;也可以使用爱思助手等支持 IPA 自签安装的软件。
- 连接并安装:使用 USB 数据线连接 iPhone 与电脑,在手机上选择“信任此电脑”,然后在自签软件中选择 刚下载的 IPA,根据软件提示完成签名与安装。
Impactor 支持 Windows、macOS 和 Linux;Windows 若无法识别设备,请先安装 iTunes 提供的 Apple 设备驱动。 爱思助手属于第三方软件,请从其官方渠道获取,并自行评估账号、证书和隐私风险。
安装完成后,若 iOS 阻止打开 App,请前往“设置 → 通用 → VPN 与设备管理”信任对应的开发者 App。免费 Apple ID 自签通常只有 7 天有效期,到期后需要重新签名安装。
首次启动
首次启动时:
- 选择 APP 模式或第三方代理模式;
- 按照 App 内引导完成对应配置;
- 执行环境检测;
- 在地图中搜索、点击或拖动选择测试位置;
- 启用测试位置并在目标测试环境中验证结果。
恢复真实位置
APP 模式:
- 停止测试位置;
- 关闭当前 Wi-Fi 的手动 HTTP 代理;
- 按 App 内提示刷新定位环境。
第三方代理模式:
- 使用 App 清除 WLOC 坐标;
- 在第三方客户端中关闭对应模块或代理;
- 按客户端要求恢复 HTTPS 解密和代理设置。
如果系统或目标应用仍显示旧位置,可能需要等待定位缓存刷新,必要时重启设备后再次验证。
发布者:木木,转载请注明出处:https://blog.huzz.cn/11413.html
微信
支付宝