照着一步步做即可完成安装与使用。全程约 15 分钟,需要:一台干净的 Linux VPS、一部 iPhone、一个兼容安装器所生成节点的客户端 App。
你将依次完成:① 装好落地机 → ② 一键安装 → ③ 读懂输出 → ④ 令牌链接下载描述文件 → ⑤ 安装描述文件 → ⑥ 开启完全信任 → ⑦ 导入节点并全局连接 → ⑧ 重启手机 → ⑨ 验证定位已改变。
项目更推荐进阶模式:它包含本页的完整代理与定位功能,并增加 Telegram 地点菜单、节点链接和描述文件交付。只想完成最简安装时,再继续使用本页的新手模式。
准备一台 Debian 12/13 或 Ubuntu 22.04/24.04 的 VPS(amd64 或 arm64 都行,内存 ≥ 384 MiB)。这台机器所在的国家/城市,就是你「假装所在」的位置——想显示在美国,就买一台美国 VPS。
用 SSH 以 root(或能 sudo 的用户)登录:
# 把 IP 换成你的落地机地址 ssh root@你的落地机IP
建议用一台专门的新机器,不要装在已经运行其它代理服务或网站的服务器上。
在落地机上粘贴下面这一条命令,回车。安装器会问你选哪种模式,输入 1 或直接回车选择新手完整模式。安装成功后会自动进入 CA 描述文件临时下载,不用再手动输入下载命令。
curl -fsSL https://raw.githubusercontent.com/Loading886/Home-Location-Endpoint/v0.3.0/install.sh \ | sudo env HLE_VERSION=v0.3.0 bash
想跳过提问、直接装完整模式,也可以:
curl -fsSL https://raw.githubusercontent.com/Loading886/Home-Location-Endpoint/v0.3.0/install.sh \ | sudo env HLE_VERSION=v0.3.0 bash -s -- --mode full --port 443
安装成功后,屏幕最后会打印一段总结。你需要关注其中三处:
随时可以再看这两样:
# 再次打印节点链接 sudo hle show-link # 打印描述文件所在路径 sudo hle profile
不用手动传文件。交互式安装成功后,安装器会自动生成一个带随机令牌的临时下载地址,并在终端打印二维码。保持当前终端打开,直接扫码或打开链接即可。
如果你按了 Ctrl+C、链接过期,或者以后需要重新下载,再手动运行:
sudo hle profile serve
阅后即焚:下载链接默认有效 100 分钟,并且只要成功下载一次就立即失效、下载服务自动关闭。过期或用完了,再跑一次 sudo hle profile serve 重新生成即可。
然后在 iPhone 上,二选一:
用 Safari 打开通常最顺:会直接提示「此网站正尝试下载一个配置描述文件」,点允许,随后到设置里安装(下一步)。
如果下载后没有直接弹出安装(用夸克 / QQ 等第三方浏览器扫码时很常见):文件会先被存到浏览器的「下载 / 暂存」或「文件」App,不会自己打开。这时——到「文件」App 找到刚下载的 Home-Location-Endpoint-CA(约 2 KB)→ 点它 → 在弹出的「选择设备 / Choose a Device」里点 iPhone →系统才会跳到「设置」里安装(下一步)。若只弹出分享菜单,选 存到文件 或 在 iPhone 上打开 再从「文件」里点开即可。
核对指纹:终端打印的 CA SHA-256 指纹,应与下一步安装描述文件时看到的一致。
让手机能连到这个端口:该临时下载是 HTTP 明文,默认端口 18080。需要临时确保 TCP 18080 能从手机到达落地机(在云安全组/防火墙里临时放行,用完就关)——安装器不会自动改防火墙。若落地机在 NAT 后、用了 Realm 前置、或是仅定位模式没记录手机可达地址,请加参数 --host 手机可访问的地址。
想要更强的传输保护,可改用 SCP / SFTP 或自建可信 HTTPS。可调参数还有 --port、--host、--bind、--timeout-minutes、--no-qr。
拿到文件后,iPhone 会提示「已下载描述文件」。打开 设置 → 顶部会出现「已下载描述文件」(或到 设置 → 通用 → VPN 与设备管理)→ 点开它 → 右上角安装,按提示输入锁屏密码并再次确认安装。
核对指纹(可选但推荐):安装页可查看证书详情,其 SHA-256 应与安装输出的第 ③ 处一致,确认没被中途替换。
装好描述文件后,还要手动打开完全信任,证书才会真正生效:进入 设置 → 通用 → 关于本机 → 证书信任设置,把 Home Location Endpoint Root CA 的开关打开。
不开这个开关,定位改写会因证书不受信任而失败。这是最容易漏的一步。
复制安装输出里的节点链接(第 ① 处,或用 sudo hle show-link 再打印),在兼容对应传输协议的 iOS 客户端里“从剪贴板导入”。连接时务必选择 全局 / Global(全隧道 TUN)模式,让系统定位服务的流量也进隧道。
只装 CA、或只让浏览器走代理都不够。必须全局隧道,才能让 iOS 的定位请求经过落地机。
描述文件装好、完全信任打开、节点也连上之后,把手机重启一次。重启能让系统定位服务干净地按新的证书信任与隧道路由生效,避免「装好了但定位没变」的中间状态。
关机再开机即可。开机后确认代理客户端仍是全局连接、描述文件与完全信任都还在。
验证前,先进入 设置 → 隐私与安全性 → 定位服务,关闭顶部的「定位服务」,等待 5 秒后再重新打开,让系统重新请求定位结果。然后保持在室内(避免 GPS 盖过网络定位),把 Wi-Fi 打开着,打开「地图」App 点定位按钮。定位应落在你落地机所在的城市。
想在同一城市换一个随机点,在落地机上运行 sudo hle relocate 即可,无需重装、无需重连。
都在落地机上运行,需要 root(前面加 sudo)。
| 命令 | 作用 |
|---|---|
| sudo hle status | 查看当前城市、坐标、定位修改状态与服务运行状态 |
| sudo hle pause | 暂停坐标改写,保持代理正常并返回 Apple 原始定位响应 |
| sudo hle resume | 恢复坐标改写,无需重启服务或重新连接节点 |
| sudo hle verify | 本地完整性自检(证书、权限、监听、服务等) |
| sudo hle show-link | 再次打印节点链接 |
| sudo hle profile | 打印 CA 描述文件路径 |
| sudo hle profile serve | 生成一次性令牌链接 + 二维码把描述文件下到手机(100 分钟、下载一次即失效) |
| sudo hle relocate | 在同一出口城市内重新随机取点 |
| sudo hle uninstall | 停服务并删除本项目安装的全部文件、证书与账户(加 --yes 免确认) |
不用了想彻底删除时,在落地机上运行 sudo hle uninstall 即可;装到手机上的描述文件也记得从手机移除。
只想临时还原真实定位?不要停代理服务、不要卸载证书,运行 sudo hle pause 即可。此时代理和普通上网不受影响;运行 sudo hle resume 后,新定位请求会立即恢复改写。暂停状态跨重启保留。
先重启一次手机(第 ⑧ 步,最容易被忽略)。仍不行再检查:① 客户端是全局 / TUN 模式;② 第 ⑥ 步的证书信任开关已打开;③ 你在室内(户外 GPS 会盖过网络定位);④ Wi-Fi 保持开启(Wi-Fi 关闭时定位查询可能不同)。落地机上 sudo hle status 看服务是否 active。
如果落地机在 NAT 后、入口和出口 IP 不同、或你前面还有中转机,安装时检测到的地址可能不对。用 --server 你的入口地址 重新安装,并检查云厂商安全组是否放行了对应端口。详见前置配置。
「未验证」是正常的(自签 CA)。关键是装好后到证书信任设置里把开关打开。若 iOS 版本较新,安装入口在 设置 → 通用 → VPN 与设备管理。
一些 App 会综合多种信号(GPS、蓝牙、账号、IP)。本项目只改写 Apple 网络定位,无法覆盖全部信号,结果可能不稳定。这是方案的固有局限,请阅读安全与局限。
在落地机运行 sudo hle pause。它不会停掉代理服务或定位修改器,而是把 Apple 原始定位响应不作坐标改写地返回。用 sudo hle status 应看到 Modification: paused;需要恢复时运行 sudo hle resume。
想用 Telegram 菜单切换多个地点?请看 进阶控制教程。需要中转机、NAT 或仅定位模式接线,可继续查看前置配置与高手对接。