@ilovek8s: #每日推荐 仅需 Shadowrocket,即可实现 iOS 定位修改! 用代理软件的 HTTPS 解密功能,把 Apple 地图定位骗到世界任何角落。
摘要
一个利用代理软件HTTPS解密功能实现iOS设备全球任意定位欺骗的开源工具,支持Shadowrocket/Surge/Loon/Quantumult X/Stash等主流代理平台,无需开发者账号或编译。
查看缓存全文
缓存时间: 2026/07/01 14:10
#每日推荐 仅需 Shadowrocket,即可实现 iOS 定位修改!
用代理软件的 HTTPS 解密功能,把 Apple 地图定位骗到世界任何角落。
https://t.co/wkLTCgT9EL
mekos2772/ios-location-spoofer
Source: https://github.com/mekos2772/ios-location-spoofer
iOS Location Spoofer
用代理软件的 HTTPS 解密功能,把 Apple 地图定位骗到世界任何角落。
📖 新手直接看这篇 → 小白保姆级图文教程(一步步教你安装、配置、生效,含常见问题排查)
参考项目
本项目基于 acheong08/ios-location-spoofer 的核心研究。原始项目是用 Go 写的独立 iOS App,通过自建 VPN + MITM 代理实现定位欺骗。
本仓库将其核心逻辑移植为 JavaScript,适配到 Shadowrocket / Surge / Loon / Quantumult X / Stash 五个代理平台,免编译、免开发者账号,即导即用。
相比原版新增的功能
- 多平台支持 — 从单一 iOS App 扩展到五个代理软件,覆盖更多用户
- 蜂窝基站坐标修改 — 原版 Go 只改了 WiFi 热点坐标,JS 版额外处理了 CellTower(字段 22/24)的坐标替换
- 多响应格式兼容 — 自动检测 Apple 回应的封装格式(ARPC / synthetic / marker / bare),确保改后还能被 iOS 正确识别
- 运动状态伪造 — 一并改写 motionActivityType 和 motionActivityConfidence,减少被系统识破的可能
怎么回事
iPhone 看 Wi-Fi 信号和基站信号,拿着 BSSID 列表去问 Apple 这些设备在什么位置。Apple 回一份坐标清单,iOS 根据这些坐标算出自己在哪里。
这套配置做的事情很简单:在 Apple 发回坐标的路上拦截下来,全部改成你想要的数字。iPhone 拿到改造过的坐标,算出来就是你指定的地方。
支持哪些软件
| 软件 | 文件 | 导入方法 | 状态 |
|---|---|---|---|
| Shadowrocket(小火箭) | ios-location-spoofer.sgmodule | 配置 → 右上角 + | ✅ 实测通过 |
| Surge | ios-location-spoofer.sgmodule | 首页 → 模块 → 安装新模块 | 🟡 待测试 |
| Loon | ios-location-spoofer.lnplugin | 设置 → 插件 → 添加插件 | ✅ 实测通过 |
| Quantumult X | ios-location-spoofer.snippet | 设置 → 重写 → 添加 | 🟡 待测试 |
| Stash | ios-location-spoofer.stoverride | 覆写 → 安装覆写 | 🟡 待测试 |
欢迎测过的佬友在 Issue 区报实测结果;不通的地方欢迎直接提 PR 改 —— 至少写明哪个软件、哪个版本、什么系统、报错的日志原文。
怎么用
- 软件里打开 HTTPS 解密 / MITM 开关
- 安装并信任 CA 证书(设置 → 通用 → VPN 与设备管理 → 安装 → 证书信任设置 → 启用)
- 导入模块文件,勾上启用
- 断开重连 VPN,开关定位服务
- 打开地图 App 验证
Loon 额外说明
- 导入
ios-location-spoofer.lnplugin后,在 设置 → 插件 里打开插件配置页 - 可直接填 纬度 / 经度;地址搜索 由每 15 分钟的定时任务联网解析并缓存(首次请直接填经纬度,或保存地址后等一轮 cron)
- 必须开启 Loon 的 MITM 并信任证书,且插件内
[mitm]四个域名生效 - 插件含 Prepare 请求脚本(设置
Accept-Encoding: identity,避免 gzip 引发zip decompress error/ 脚本超时) - 改坐标后关开定位;调试打开 调试日志,在 Loon 日志搜
Location spoofer
日志若出现
Evaluate script timeout或zip decompress error:-3:更新插件并重载 Loon,确认三条脚本(Prepare / Response / Geocode cron)均已启用。
改坐标
默认 Apple Park(37.3349, -122.00902)。在模块参数里改:
latitude=39.9042&longitude=116.4074
参数:
| 名字 | 默认值 | 说明 |
|---|---|---|
latitude | 37.3349 | 目标纬度 |
longitude | -122.00902 | 目标经度 |
address | (空) | 地址搜索(Loon 插件 UI 填写,联网解析为经纬度,优先于手动经纬度) |
horizontalAccuracy | 39 | 水平精度 |
verticalAccuracy | 1000 | 垂直精度 |
altitude | 530 | 海拔 |
failOpen | true | 出错放行原数据 |
debug | false | 调试日志 |
文件清单
ios-location-spoofer.sgmodule # Shadowrocket / Surge
ios-location-spoofer.lnplugin # Loon
ios-location-spoofer.snippet # Quantumult X
ios-location-spoofer.stoverride # Stash
location-spoofer.js # 核心脚本(四平台共用)
location-spoofer-qx.js # QX 专用
location-spoofer-config.json # 配置样板
使用教程.md # 小白保姆级图文教程
location-picker/ # 进阶(可选):网页地图选点(Node 或 Cloudflare Worker)
location-picker/worker/ # Cloudflare Worker 版(免 VPS,支持 Loon configUrl)
进阶:网页地图选点工具
经常换定位、懒得手动查坐标改参数?项目自带 location-picker/ 地图选点工具:点地图即定位、海拔自动、精度可调,Loon / Shadowrocket 通过 configUrl 读取。
两种部署方式:
| 方式 | 目录 | 适合 |
|---|---|---|
| Cloudflare Worker(推荐) | location-picker/worker/ | 免 VPS、自带 HTTPS,部署说明 |
| Node 自托管 | location-picker/server.js | 有自己的 VPS / NAS |
Loon 插件 远程配置 URL 示例:
https://你的worker.workers.dev/loc.json?token=你的TOKEN
友情链接
本项目接受 LINUX DO 社区佬友监督与反馈:LINUX DO
location-picker 服务端配置
location-picker/server.js 通过环境变量控制,TOKEN 不设进程会直接退出,不会用弱口令兜底。
| 变量 | 是否必设 | 默认值 | 说明 |
|---|---|---|---|
TOKEN | 必设 | 无 | 访问口令和 Shadowrocket 模块 argument= 末尾的 configUrl 里的 token= 必须一致。建议 openssl rand -hex 24 生成 |
PORT | 否 | 8080 | 监听端口;1024 以下需 root |
CERT | 否 | 空 | HTTPS 证书 fullchain 路径;与 KEY 同时设置才走 https |
KEY | 否 | 空 | HTTPS 私钥路径;与 CERT 同时设置才走 https |
启动示例:
# http(最简,先跑通流程再用 https)
TOKEN=$(openssl rand -hex 24) PORT=8080 node server.js
# https(复用 acme.sh 证书;续期无需重启,进程每 12 小时自动热加载)
TOKEN=$(openssl rand -hex 24) PORT=8443 \
CERT=/root/cert/example.com/fullchain.pem \
KEY=/root/cert/example.com/privkey.pem \
node server.js
数据文件 loc.json 自动落在 server.js 同目录,记录当前坐标 / 海拔 / 精度;已在 .gitignore 中忽略,不会被误提交进仓库。
⚠️ 不要把
TOKEN写在命令行历史里——推荐用 systemd 的Environment=或.env+direnv,避免history/ps aux泄露。
相似文章
@IndieDevHailey: 这个开源项目,让你的 iOS 随便改位置! wloc 一键把 iPhone 网络定位改到全世界任何地方(香港、东京、纽约、巴黎……随便选)! - 地图上一点就行,无需手动输经纬度 - 支持 Surge / Quantumult X / L…
wloc 是一个开源工具,允许 iOS 用户通过地图选点一键更改网络定位到世界各地,支持多种代理应用,无需越狱。
@grgerwcwetwet: IOS免越狱、免巨魔修改定位 大佬搞的,可用于各种打卡定位~ https://github.com/FFF686868/proxypin-wloc-spoofer… 自签用这个,仅支持IOS 17.4及以上 https://github.…
一个开源的 ProxyPin 脚本,可在免越狱、免巨魔的 iOS 设备上修改位置信息,适用于打卡等场景。
@PinYunYes: 你确定你会用 Shadowrocket 吗? 大多数人的用法:打开 App → 导入订阅 → 点连接。然后就放着不管了。 直到某天支付宝转圈、微信转账卡住、银行 App 直接闪退。第一反应:手机老了。 其实不是。是没做分流。所有流量全走代…
介绍了 Shadowrocket 的正确配置方法,包括加载远程规则模块实现智能分流,避免国内网站走代理导致卡顿,并提供了 TUN 模式配置和去广告模块。
@hank_aibtc: 卧槽了! GitHub上居然公开白嫖这种核武器级社工工具! Storm-Breaker 直接能做到: - 远程实时偷看对方摄像头画面(手机/电脑都行) - 实时监听麦克风,听到周围一切声音 - 精准GPS定位,告诉你目标现在在哪(智能手机…
Storm-Breaker 是一个开源社工工具,可从 GitHub 获取,能远程偷看摄像头、监听麦克风、获取 GPS 定位和设备信息,主要用于学习和授权测试,但滥用有法律风险。
@tan_maty: 99%的人还不知道国行iPhone 可以实现Altstore 安装第三方应用 核心: 定位+对应国家ip+对应国家id 以日本为例。 1.定位到日本。 2.登录日本ID到appstore不需要iCloud。 3.用对应日本ip就行。 4.…
分享国行iPhone通过定位、更换地区IP和Apple ID的方式安装Altstore以使用第三方应用的方法。