whatisgithub

What is wloc?

openhrtt/wloc — explained in plain English

Analysis updated 2026-05-18

122SwiftAudience · developerComplexity · 5/5LicenseSetup · hard

In one sentence

An open source iOS and macOS tool that changes what location an app reports by intercepting Apple's location service traffic through a local proxy.

Mindmap

mindmap
  root((wloc))
    What it does
      Changes reported GPS location
      Local HTTPS proxy
      Packet Tunnel extension
    Tech stack
      Swift
      Xcode
      CocoaPods
    Setup
      Generate own certificate
      Configure four targets
      Needs real device
    Extras
      wlocapp link scheme
      Coordinate system support
    Audience
      iOS developers
      Researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Test how an app behaves when the device reports a different GPS location.

USE CASE 2

Study how a Packet Tunnel extension and local HTTPS proxy can intercept specific network domains on iOS or macOS.

USE CASE 3

Build and sign your own version of a location spoofing tool for research or testing purposes.

What is it built with?

SwiftXcodeCocoaPodsOpenSSL

How does it compare?

openhrtt/wlocomarshahine/homeclawapple/foundation-models-utilities
Stars122120117
LanguageSwiftSwiftSwift
Setup difficultyhardeasyeasy
Complexity5/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Needs a paid Apple Developer account with Network Extensions capability and a real device to fully test.

The project's own code is MIT licensed, free to use and modify, but bundled third party libraries have their own separate licenses.

So what is it?

OpenHRTT WLoc is an open source iOS and macOS tool written in Swift that lets a user change the location their device reports to Apple's location services. A person picks or searches for a spot on a map inside the app, and that choice gets passed through a Packet Tunnel network extension paired with a local HTTPS proxy running on the device itself. The proxy only intercepts traffic aimed at Apple's own location domains, gs-loc.apple.com and gs-loc-cn.apple.com, and swaps in the coordinates the user picked. The README is explicit that this proxy is not meant to work as a general purpose VPN or a broad HTTPS traffic capture tool, since it only touches those two specific addresses. Setting it up requires a real Mac with Xcode 16 or newer, CocoaPods, and OpenSSL 3, plus an Apple Developer account that has Network Extensions enabled, since that capability is not available on free accounts. After cloning the project and running pod install, developers open the workspace file rather than the project file. No reusable certificates ship in the repository. Instead, a bundled script generates a fresh local certificate on each developer's own machine, and those generated files are excluded from version control. Getting the app fully working also means adjusting bundle identifiers across four build targets (an iOS app, an iOS tunnel extension, a macOS app, and a macOS tunnel extension) and pointing them at a shared App Group. Full verification, including certificate trust and the tunnel connection itself, needs an actual device rather than a simulator. The project also defines a custom wlocapp:// link format so other apps or shortcuts can hand it a location as a JSON payload, supporting a few different coordinate systems. It depends on a handful of third party Swift libraries for networking, layout, and keyboard handling. The project's own code is released under the MIT License, though the bundled third party libraries carry their own separate licenses.

Copy-paste prompts

Prompt 1
Walk me through what the generate_apple_wloc_p12.sh script does and why each developer needs their own certificate.
Prompt 2
Explain how the Packet Tunnel extension and local HTTPS proxy work together in this project.
Prompt 3
Help me set up the four Xcode build targets and App Group for this project step by step.
Prompt 4
What does the wlocapp:// URL scheme in this repo let other apps do?

Frequently asked questions

What is wloc?

An open source iOS and macOS tool that changes what location an app reports by intercepting Apple's location service traffic through a local proxy.

What language is wloc written in?

Mainly Swift. The stack also includes Swift, Xcode, CocoaPods.

What license does wloc use?

The project's own code is MIT licensed, free to use and modify, but bundled third party libraries have their own separate licenses.

How hard is wloc to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is wloc for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.