Files
location-spoofer/docs/THIRD_PARTY_MODULES.md
T
xweiba 135e26ea7a feat: point third-party mode at upstream Yu9191 modules
- subscription URLs now resolve directly to upstream modules (gh-proxy
  mirror / raw), dropping project-owned module and script copies
- remove Resources/ThirdPartyProxyModules and ThirdParty/WlocScripts,
  their pbxproj references, and the contract-test module checks
- third-party save sends lon/lat/acc matching the upstream settings
  script; motion-state simulation is unavailable (upstream lacks it)
- surface the iOS 27 beta 6 gs-loc MITM limitation in the app setup and
  README (zh/en)
2026-09-01 17:57:27 +08:00

41 lines
1.5 KiB
Markdown

# Third-party proxy modules
Third-party proxy mode (Surge / Quantumult X / Loon / Shadowrocket / Stash /
Egern) now relies entirely on the upstream
[Yu9191/wloc](https://github.com/Yu9191/wloc) modules. The App no longer
maintains or ships project-owned module/script copies, so it never drifts
from the upstream protocol.
## Subscription addresses
The App builds each client's module subscription URL directly from the
upstream repository:
- default mirror (gh-proxy):
`https://gh-proxy.org/https://raw.githubusercontent.com/Yu9191/wloc/refs/heads/main/modules/<file>`
- direct:
`https://raw.githubusercontent.com/Yu9191/wloc/refs/heads/main/modules/<file>`
| Module file | Client |
|---|---|
| `wloc.module` | Shadowrocket |
| `wloc.sgmodule` | Surge and Egern |
| `wloc.conf` | Quantumult X |
| `wloc.lpx` | Loon |
| `wloc.stoverride` | Stash |
No `?v=` cache-bust is appended: the URL points at upstream's latest content,
and re-importing the subscription in the proxy client re-fetches it.
## Script protocol
The upstream `wloc.js` patches Apple WLOC responses and reads coordinates from
the `wloc_settings` persistent key or the module `argument` config. The
upstream `wloc-settings.js` implements `wloc-settings/save` (query/clear/save)
using `lon`/`lat`/`acc`/`randomRadius` parameters.
The App's third-party save sends `lon`/`lat`/`acc`, matching the upstream
script. Motion-state simulation (fields 11/12) is **not** implemented by the
upstream scripts and is unavailable in third-party mode; it remains available
in APP mode (built-in proxy).