gitwtfhub

wtf is proxyswitcher-ng?

ymuuuu/proxyswitcher-ng — explained in plain English

Analysis updated 2026-05-18

9Objective-CAudience · developerComplexity · 3/5Setup · moderate

TL;DR

A jailbreak tweak that lets iPhone users switch between saved Wi-Fi proxy profiles, including authenticated ones, from Settings.

Mindmap

mindmap
  root((ProxySwitcher-ng))
    What it does
      One tap proxy toggle
      Saved proxy profiles
      Real connectivity check
    Tech stack
      Objective-C
      Root daemon
      Sileo package
    Use cases
      Route traffic through Burp
      Switch SOCKS5 proxies
      Use authenticated proxies
    Audience
      Jailbreak users
      Security 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

Why would anyone build with this?

REASON 1

Quickly route an iPhone's traffic through an intercepting proxy like Burp or mitmproxy.

REASON 2

Keep several saved proxy profiles and switch between HTTP and SOCKS5 with one tap.

REASON 3

Connect to a proxy that requires a username and password, which iOS normally can't handle.

What's in the stack?

Objective-C

How it stacks up

ymuuuu/proxyswitcher-ngjgx-jay/jcbuttonpigoz/imal
Stars999
LanguageObjective-CObjective-CObjective-C
Last pushed2016-04-052009-09-12
MaintenanceDormantDormant
Setup difficultymoderateeasymoderate
Complexity3/52/52/5
Audiencedeveloperdevelopergeneral

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

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires a jailbroken iPhone (rootless or roothide) on iOS 15+ and adding the repo to Sileo.

This rewrite is shared for research and personal use and defers to the original project's license.

Wtf does this do

ProxySwitcher-ng is a jailbreak tweak for iPhones that adds a quick way to turn a Wi-Fi proxy on or off and switch between saved proxy profiles right from the Settings app. It is aimed at people who regularly need their phone's traffic to pass through a tool like Burp or mitmproxy for inspection, and who got tired of manually reconfiguring the stock Wi-Fi proxy settings every time. Each saved profile can be an HTTP or HTTPS proxy, or a SOCKS5 proxy, and profiles can be added, edited, or deleted directly from Settings without needing to connect over SSH. A background daemon reapplies the chosen proxy whenever the phone switches Wi-Fi networks, so the setting does not silently drop. There is also a real connectivity check built in: tapping Apply actually sends a request through the proxy using its real protocol, so it cannot be fooled by the phone quietly falling back to a direct connection, and any failure reports the specific reason, such as a timeout or a bad response code. One notable feature handles authenticated proxies, since iOS normally ignores any username and password entered for a system wide proxy. To work around this, the daemon runs a small local relay on the phone itself that performs the actual authenticated handshake with the real proxy, while the system just sees a plain, no authentication proxy pointing at that relay. Saved credentials are kept in the daemon's own keychain rather than in shared preference files or logs, and turning authentication off for a profile deletes the stored credential. The tweak works on rootless and roothide jailbreaks such as Dopamine, on iOS 15 and newer, and is installed by adding the project's repository to the Sileo package manager. It builds on an older, no longer maintained tweak from iOS 9 called ProxySwitcher, rewritten for modern jailbreaks with saved profiles and the authentication support added. The author describes themselves as not a professional developer, building this simply as a tool for their own workflow, and it is shared for research and personal use, deferring to the original project for licensing.

Yoink these prompts

Prompt 1
Explain how the loopback relay in this daemon lets iOS use an authenticated proxy.
Prompt 2
Walk me through installing this tweak via Sileo on a rootless or roothide jailbreak.
Prompt 3
Explain how the Apply button verifies the proxy connection actually works.
Prompt 4
Help me understand how proxy profiles are stored and switched between in this tweak.

Frequently asked questions

wtf is proxyswitcher-ng?

A jailbreak tweak that lets iPhone users switch between saved Wi-Fi proxy profiles, including authenticated ones, from Settings.

What language is proxyswitcher-ng written in?

Mainly Objective-C. The stack also includes Objective-C.

What license does proxyswitcher-ng use?

This rewrite is shared for research and personal use and defers to the original project's license.

How hard is proxyswitcher-ng to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is proxyswitcher-ng for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.