mrkeyoor.com_
Mon 07 Sept 16:58 UTC
Dev Toolsevaluationupdated 07 Sept 2026

wloc review

wloc is a Chinese-language iOS testing tool that changes the coordinates returned by Apple's Wi-Fi and cell-based location service. The repository has no English setup guide. It combines proxy scripts, a map picker, and optional Cloudflare Worker hosting so an authorized tester can switch or clear a simulated network location without typing coordinates.

trackingstars / 7d
Verdict

Our wloc Worker install took 7 seconds and all 22 tests passed, but iOS 27 beta 6 blocks the certificate interception the complete tool depends on. It is a sensible, small utility for authorized testing on an older compatible device when your team reads Chinese and already understands its proxy app. Choose a developer-mode location tool if OS longevity, English documentation, or avoidance of trusted MITM certificates matters more than wireless use.

We ran it

Lab card: what happened when we ran wlocScreenshot of wloc (wloc-pages.pages.dev)
Install✓ · 7s3 packages · 4 MB
Buildn/ano build script
Tests✓ · 6s22 passed · 0 failed of 22 (node:test)
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo22 files~1,380 lines of source · 0.1 MB · 0 CI workflows · tests dir

Answers from our run

Does wloc build from source?

Dependencies installed in 7 seconds (3 packages), and the project has no separate build step. We cloned commit 529fcd8 into a clean Debian container with 3 CPUs and no project-specific setup.

Do wloc's tests pass?

Yes: 22 of 22 passed when we ran the project's own test command (node:test). Some failures need services or credentials a bare container does not have.

Does wloc have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use wloc?

Anyone on iOS 27 beta 6 or later: the README says Apple blocks the required MITM interception at certificate validation.

What are the alternatives to wloc?

ProxyPin WLOC spoofer, go-ios. Our wloc Worker install took 7 seconds and all 22 tests passed, but iOS 27 beta 6 blocks the certificate interception the complete tool depends on.

Setup3/5Worker is tiny; device setup needs proxy rules and CA trust
Docs4/5Detailed Chinese guide, but no English setup path
Community5/510,186 stars with September 2026 issue and code activity
Maturity2/5Tests pass, but iOS 27 beta 6 blocks the core technique

Who it’s for

Chinese-reading iOS developers testing location-dependent behavior on devices they control.
QA teams already using Surge, Quantumult X, Loon, Stash, or Shadowrocket.
Testers who need Apple, Google, Amap, or Baidu links converted to WGS84 coordinates.
Cloudflare users who want to host the map picker and link parser themselves.

Who it’s NOT for

Anyone on iOS 27 beta 6 or later: the README says Apple blocks the required MITM interception at certificate validation.
English-only teams: the README, setup details, and most issue discussions are in Chinese, with no English guide in the repository.
Users unwilling to install and fully trust a proxy CA certificate for Apple location domains.
Tests that require hardware GPS replacement: wloc changes network location, and the README says strong GPS can override it.
Automated device farms that cannot restart phones: the documented iOS 26 cache workaround may require a reboot after changing coordinates.

Setup reality

Our sandbox entered ./worker/, installed 3 npm packages in 7 seconds, and used 4 MB. There was no build target. Node's test runner finished in 6 seconds with all 22 tests passing, and npm audit found 0 known vulnerabilities.

The Worker is only the picker and map-link parser. Device use requires a supported proxy app, its module, HTTPS interception, and a CA certificate trusted for Apple's location hosts. Self-hosting the page needs a Cloudflare account and Wrangler login; the public Worker is available if you accept that dependency.

iOS is the decisive constraint. The README says iOS 27 beta 6 and later reject non-Apple certificates for the relevant hosts. On iOS 26 and newer, cached location data may survive toggles and require a reboot. Hardware GPS can still win over the modified network response.

Twenty-two files implement a focused location-testing path

wloc changes the coordinates inside Apple's network-location response after a supported proxy intercepts it. One script patches the binary WLOC reply; another saves a selected coordinate in the proxy app's persistent store. A map page and iOS Shortcuts remove the need to type latitude and longitude. The repository is written mainly for Chinese readers, and its README and setup material do not provide an English version.

Our commit 529fcd8 checkout was only 0.1 MB, with 22 files and roughly 1,380 lines of source. That compactness helps inspection: the proxy modules, generated scripts, Worker, map page, and tests are all visible without digging through a large application. It does not make the trust decision trivial. The tool asks an iPhone to accept a proxy CA for Apple location hosts so the response can be read and changed.

Three packages keep the Worker simple, while the phone setup stays manual

The Cloudflare Worker uses Hono for a picker page and /api/parse endpoint. It accepts Apple Maps, Google Maps, Amap, Baidu, and coordinate text, then normalizes supported inputs to WGS84. Saved device coordinates live in the proxy tool, while favorite locations stay in browser localStorage. Users may call the public service or deploy the source under their own Cloudflare account.

Our Worker install added 3 packages in 7 seconds and occupied 4 MB. There is no build script, so the lab correctly skipped that step. Deployment still needs Wrangler authentication and a Cloudflare project. Using the complete system also means importing the right module for Surge, Quantumult X, Loon, Stash, or Shadowrocket, enabling HTTPS interception, installing the CA, and confirming that the device traffic follows the chosen proxy.

What happened when we ran it

Our sandbox ran the Node project inside ./worker/ on 3 CPUs with 8 GB of RAM. Installation succeeded in 7 seconds. Node's built-in test runner completed in 6 seconds with 22 passed and 0 failed out of 22. Npm audit reported 0 known vulnerabilities across every severity. For commit 529fcd8, the Worker was unusually inexpensive to install and its available regression suite passed cleanly.

The run did not emulate an iPhone, install a certificate, contact Apple's WLOC service, or deploy to Cloudflare. It tested the coordinate and link-parsing code supplied by the Worker. The checkout had a tests directory, no Dockerfile, and 0 CI workflow files. A passing 22-test local suite is useful, but without repository CI, maintainers and contributors must make sure those tests run before changes are merged or deployed.

iOS 27 beta 6 stops the interception before wloc can patch data

The README gives an unusually direct compatibility warning: starting with iOS 27 beta 6, locationd rejects certificates that are not signed by an Apple CA for the target location hosts. Issue 113 discusses tests where traffic still reached the interceptor but certificate validation stopped the exchange. Moving the proxy to a router does not change that endpoint check, according to the project's documented test result. Users on those releases should consider the core method unavailable.

iOS 26 brings a different problem. The README says locationd may keep a previous result in memory after a new coordinate has been saved, and a reboot may be needed to clear it. This project only changes Wi-Fi and cell-based positioning. Strong hardware GPS can cause iOS to prefer the real location. Those constraints make wloc better suited to controlled indoor QA than a general promise that every app will observe the chosen point.

An 8-second parser cap limits public map-link requests

The optional Worker receives map links, follows supported redirects, extracts coordinates, and converts Chinese map coordinate systems where needed. Its source restricts fetches to HTTP and HTTPS, rejects literal IP addresses and local hostnames, stops a request after 8 seconds, and reads at most 512 KB of a response body. The README says the public parser stores no logs or cache, and wrangler.jsonc disables persistent observability. Self-hosting still gives a team direct control over that service boundary.

Location data remains sensitive even when it is a test coordinate. The chosen point persists inside the proxy app, favorite labels persist in the browser, and pasted map URLs reach either the public Worker or your own deployment. The project provides a clear mode for deleting the saved value and returning the proxy script to pass-through behavior. On iOS 26 or newer, that cleanup may still need the documented reboot before the device stops using cached location data.

September activity tracks Apple changes faster than release tags alone

GitHub recorded the last push on September 4, 2026, and issue discussions were still active on September 7. The repository had 10,186 stars and 85 combined issues and pull requests when fetched. Release v1.1.0 arrived on August 8 with random-radius support, Baidu parsing, regional coordinate fixes, and additional regression coverage. The fresh push and current OS discussions matter more here than the age of that tag because Apple behavior sets the project's useful lifetime.

wloc is licensed under AGPL-3.0, and the README adds a warning against unauthorized commercial or App Store use. More importantly, location modification can violate service rules or undermine other people's systems when used outside an authorized test. For a Chinese-reading developer with a compatible device, the 3-package Worker and passing 22-test suite make the code easy to assess. The OS ceiling and certificate trust are hard limits, not setup polish that another npm release can solve.

Alternatives

ProjectWhat it isPick it when
ProxyPin WLOC spooferA ProxyPin script for authorized WLOC response-rewriting tests with English documentation.pick this instead when ProxyPin is your interceptor or English instructions are required.
go-iosA cross-platform iOS device CLI that includes simulated-location commands.pick this instead when a tethered developer workflow is acceptable and you want device automation beyond location.

What people are saying

  1. [github-trending] Yu9191/wloc

Sources

  1. wloc README
  2. wloc v1.1.0 release
  3. Issue 113: iOS 27 certificate interception tests
  4. Worker map-link parser source

More dev tools reviews

vtracer · How-To-Secure-A-Linux-Server · gpuix · openscreen · awesome-python · Acode · the whole board →