JavaScript · 项目报告

Yu9191/wloc

修改 Apple 网络定位(gs-loc)返回坐标 · 支持 Surge / Quantumult X / Loon / Stash · 快捷指令一键设置/恢复定位

已完成 打开 GitHub
Y
1,875星标
259Fork
19Issue
未知许可证

分析结果

项目分析

该仓库是一个面向 iOS 的 Apple WLOC 网络定位修改工具,通过 Surge、Quantumult X、Loon、Egern 等代理工具的 MITM 与脚本能力,拦截 Apple 网络定位服务接口 `/clls/wloc`,修改 WiFi/基站定位返回坐标,从而实现“网络定位层面”的虚拟定位。项目还提供在线地图选点页面,可将目标经纬度写入代理工具的持久化存储,避免手动填写经纬度。

适用领域 iOS 工具 / 网络代理脚本 / 定位修改 / MITM / Surge 模块 / Quantumult X 配置 / Loon 插件 / Cloudflare Workers / JavaScript 脚本
配置难度 中高。对于熟悉 Surge、Quantumult X、Loon、MITM 证书和 iOS 代理脚本的用户,安装和使用难度中等;对于普通 iOS 用户,证书信任、域名解密、模块参数、持久化数据清理、iOS 高版本缓存处理等步骤较容易出错。自部署 Worker 还需要基本的 Node.js 和 Cloudflare Workers 使用经验。
商业价值 该项目更偏向个人工具、测试辅助和技术研究,直接商业化价值有限,但对 iOS 定位相关测试、LBS 应用调试、代理工具生态插件开发具有一定实用价值。由于涉及定位伪装和可能违反平台规则,若用于商业产品需要非常谨慎;更适合内部测试、研究学习或面向高级用户的工具链补充。
01

技术亮点

  • 不需要手动输入经纬度,支持在线地图选点。
  • 支持 Apple Maps、Google Maps、高德、百度以及坐标文本链接解析。
  • 同时支持 Surge、Quantumult X、Loon、Egern 等常见 iOS 代理工具。
  • 通过 `$persistentStore` 或 `$prefs` 保存坐标,切换位置较方便。
  • 提供收藏位置功能,适合频繁切换多个地点。
  • 支持查询、刷新和清除当前设备端生效坐标。
  • 提供公共 Worker,也支持一键部署或手动部署 Cloudflare Workers。
  • README 对 iOS 高版本 locationd 缓存问题给出了明确说明和操作建议。
  • 具备透传模式,清除自定义坐标后可跳过修改并恢复原始 WLOC 响应。
  • 项目原理说明较清晰,便于有经验的用户排查问题。
02

目标用户

  • 熟悉 Surge、Quantumult X、Loon、Egern 等代理工具的 iOS 用户
  • 需要在 iOS 上修改网络定位结果的高级用户
  • 需要测试基于位置服务功能的开发者或测试人员
  • 希望自部署选点页面的 Cloudflare Workers 用户
  • 了解 MITM 证书安装与 HTTPS 解密风险的技术用户
03

配置要求

  • 需要 iOS 设备。
  • 需要安装并使用支持脚本与 MITM 的代理工具,例如 Surge、Quantumult X、Loon 或 Egern。
  • 需要正确安装并信任 MITM 证书。
  • 需要对 `gs-loc.apple.com` 和 `gs-loc-cn.apple.com` 开启 HTTPS 解密。
  • 选点页面需要在走代理的浏览器环境中使用,否则保存请求无法被脚本拦截。
  • 可配置参数包括 `longitude`、`latitude`、`accuracy`、`logLevel`。
  • 坐标优先级为:在线选点保存的数据 > 模块参数 > 默认值。
  • 如果需要恢复真实定位,可关闭模块,或清除持久化字段 `wloc_settings`。
  • 自部署 Worker 需要 Node.js、npm、Cloudflare 账号和 wrangler CLI。
  • Cloudflare Workers 免费账户通常有每日请求额度限制,但个人使用基本足够。
04

适用场景

  • 在室内 WiFi/基站定位场景下模拟 iOS 当前位置
  • 测试依赖 Apple 网络定位的 App 行为
  • 通过地图选点快速切换虚拟位置
  • 收藏多个常用位置并快速切换
  • 在不手动输入经纬度的情况下保存目标位置到代理工具持久化存储
  • 自部署 Cloudflare Worker 作为私有选点页面,降低公共服务请求限制和隐私风险
05

部署与配置

  • 根据使用的代理工具订阅对应模块:Surge 使用 modules/wloc.sgmodule,Quantumult X 使用 modules/wloc.conf,Loon 使用 modules/wloc.lpx,Egern 可使用 Surge 模块。
  • 在代理工具中启用该模块或配置。
  • 开启 MITM,并确保信任相关证书。
  • 将 `gs-loc.apple.com` 和 `gs-loc-cn.apple.com` 加入 MITM 解密范围。
  • 在代理模式下使用 Safari 打开在线选点页面。
  • 在地图中选择目标位置,或搜索地名、粘贴地图链接、输入坐标文本。
  • 点击“储存到设备”,将目标坐标写入代理工具持久化存储。
  • 等待下一次 Apple WLOC 网络定位请求触发,脚本会自动修改返回坐标。
  • 如使用 iOS 26/27 或更高版本,切换位置后可能需要重启设备以清除 locationd 缓存。
  • 可选:自部署 Cloudflare Worker。克隆仓库后进入 `worker` 目录,执行 `npm install`、`npx wrangler login`、`npm run deploy`。
06

风险与注意事项

  • 该工具涉及定位伪装,可能违反部分 App、平台或服务的使用条款。
  • 需要开启 MITM,对 Apple 定位服务域名进行 HTTPS 解密,存在隐私与安全风险。
  • 仅修改 Apple 网络定位,即 WiFi/基站定位,不修改 GPS 硬件定位;在 GPS 信号强的场景下可能无效。
  • iOS 26/27 及更高版本存在强定位缓存,切换位置后可能必须重启设备。
  • 配置门槛较高,MITM 证书、代理规则、模块订阅、持久化存储等环节任一错误都会导致不生效。
  • 公共选点页面有请求上限,也可能带来可用性和隐私顾虑,建议自部署。
  • 仓库未声明明确开源许可证,商用或二次分发存在法律不确定性。
  • 依赖 Apple 私有接口和 protobuf 响应结构,未来 iOS 或服务端变更可能导致失效。
  • 如果用户忘记清除持久化坐标或关闭模块,可能造成系统定位长期异常。
  • 对普通用户而言,恢复真实定位、清除缓存和排查不生效问题可能较复杂。

历史记录

热榜历史快照

2026-07-01 第2名 新收录 · github_search
2026-06-30 第3名 新收录 · github_search
2026-06-29 第4名 新收录 · github_search
2026-06-28 第6名 新收录 · github_search
2026-06-27 第9名 新收录 · github_search
2026-06-26 第17名 新收录 · github_search