explaingit

ymuuuu/proxyswitcher-ng

Analysis updated 2026-05-18

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

TLDR

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

What do people build with it?

USE CASE 1

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

USE CASE 2

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

USE CASE 3

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

What is it built with?

Objective-C

How does it compare?

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 get it running?

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.

In plain English

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.

Copy-paste 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

What 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.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.