All Projects → mikaelbo → ProxySwitcher

mikaelbo / ProxySwitcher

Licence: MIT license
Easily enable / disable WiFi proxy on a jailbroken iOS device

Programming Languages

objective c
16641 projects - #2 most used programming language
Logos
282 projects
Objective-C++
1391 projects
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to ProxySwitcher

TranslucentMessages
Make the iOS Messages app translucent!
Stars: ✭ 18 (-67.27%)
Mutual labels:  jailbreak, theos, springboard
Wechatpri
个人版微信
Stars: ✭ 59 (+7.27%)
Mutual labels:  jailbreak, theos, tweak
orion
Elegant tweak development in pure Swift
Stars: ✭ 149 (+170.91%)
Mutual labels:  jailbreak, theos
AppLibraryController
App Library Controller - Control App Library
Stars: ✭ 14 (-74.55%)
Mutual labels:  jailbreak, tweak
HSWidgets
Add options to display widgets right on your homescreen.
Stars: ✭ 35 (-36.36%)
Mutual labels:  jailbreak, theos
Flextotheos
Turn Flex patches into Theos projects
Stars: ✭ 50 (-9.09%)
Mutual labels:  jailbreak, theos
Priorityhub
Sorted notifications jailbreak tweak
Stars: ✭ 93 (+69.09%)
Mutual labels:  jailbreak, theos
Immortal
Prevent expiration of signed iOS applications & bypass 3 free signed applications per device limit
Stars: ✭ 43 (-21.82%)
Mutual labels:  jailbreak, tweak
iOS 3rdTrackingBlocker
第三方SDK反跟踪插件,可以查看或屏蔽第三方SDK的上报
Stars: ✭ 14 (-74.55%)
Mutual labels:  theos, tweak
DockController
Dock Controller - Control Your Dock
Stars: ✭ 18 (-67.27%)
Mutual labels:  jailbreak, tweak
Minerva-Debugger
Providing a great interface to the iOS kernel, hardware, threads and processes in a great research environment. (WIP)
Stars: ✭ 23 (-58.18%)
Mutual labels:  daemon, jailbreak
Mitsuhaxi
Universal iOS 11 audio visualizer
Stars: ✭ 44 (-20%)
Mutual labels:  jailbreak, tweak
FLEXall
Another FLEX loader that can be activated using long press on status bar or long three finger press anywhere.
Stars: ✭ 38 (-30.91%)
Mutual labels:  jailbreak, theos
Linkliar
🔗 Link-Layer MAC spoofing GUI for macOS
Stars: ✭ 885 (+1509.09%)
Mutual labels:  daemon, wifi
Volumebar9
A jailbreak tweak to change the stock volume HUD
Stars: ✭ 10 (-81.82%)
Mutual labels:  jailbreak, tweak
Tweakcompatible
Adds a compatibility checker to cydia
Stars: ✭ 372 (+576.36%)
Mutual labels:  jailbreak, theos
ProperLockGestures
Double tap to lock
Stars: ✭ 13 (-76.36%)
Mutual labels:  jailbreak, tweak
Lookinloader
Lookin - iOS UI Debugging Tweak LookinLoader,Compatible with iOS 8~13
Stars: ✭ 357 (+549.09%)
Mutual labels:  jailbreak, tweak
Dune
A free, open-source, iOS 13-like dark mode for iOS 11 and 12
Stars: ✭ 71 (+29.09%)
Mutual labels:  theos, tweak
Nougat
Android notification shade for iOS
Stars: ✭ 25 (-54.55%)
Mutual labels:  jailbreak, theos

ProxySwitcher

ProxySwitcher is meant to give an easy way to toggle proxy on / off. Since the proxy settings are on a per-WiFi basis, ProxySwitcher listens to changes to the WiFi network, and makes sure those settings are persisted through switching of active WiFi network.

Easily toggle between using proxy and non-proxy by tapping the added icon on the right side of the StatusBar. The icon is gray when it's set to not use proxy, and black/white when proxy is active.

The icon can be toggled to only show when WiFi is active (default), or to always be shown.

Available from iOS 9.1+

Future wishlist:

  • Saving proxy username and password credentials to the KeyChain (SecKeychainAddInternetPassword?)

  • Multiple proxy configurations

  • Overlay for toggling proxy. Something like this:

Installation

1. Theos

Make sure you have Theos installed (guide found here), with the $THEOS and $THEOS_DEVICE_IP variables configured.

2. Private headers

Theos needs to point to an iOS SDK including private headers (required for using Preferences). The newer versions of the iOS SDK does not include those anymore. A few ways to solve that has been suggested in this thread. I ended up putting a separate iOS SDK including private headers in $THEOS/sdks.

3. fauxsu

The daemon must be owned by root:wheel, and to make sure that happens during the build, you can use a tool called fauxsu. A compiled version can be downloaded from here.

Extract fauxsu and libfauxsu.dylib to $THEOS/bin/. Run the following commands to make sure fauxsu and libfauxsu.dylib has the correct permissions:

sudo chmod +x $THEOS/bin/fauxsu
sudo chmod +x $THEOS/bin/libfauxsu.dylib
sudo chown root:wheel $THEOS/bin/fauxsu
sudo chown root:wheel $THEOS/bin/libfauxsu.dylib

make install to build it locally.

Check ownership by running:

dpkg-deb -c ./packages/com.mbo42.proxyswitcher_X+debug_iphoneos-arm.deb
drwxr-xr-x root/wheel        0 2017-05-23 16:35 ./
drwxr-xr-x root/wheel        0 2017-05-22 17:20 ./Library/
drwxr-xr-x root/wheel        0 2017-05-22 21:08 ./Library/LaunchDaemons/
-rw-r--r-- root/wheel      504 2017-05-22 21:08 ./Library/LaunchDaemons/
com.mbo42.proxyswitcherd.plist
drwxr-xr-x root/wheel        0 2017-05-23 16:35 ./usr/
drwxr-xr-x root/wheel        0 2017-05-23 16:35 ./usr/bin/
-rwxr-xr-x root/wheel   139680 2017-05-23 16:35 ./usr/bin/ProxySwitcherd
...

If the daemon still isn't owned by root:wheel, it might be because System Integrity Protection is turned on. You can check this by running csrutil status in the console.

When everything is set up and working properly, you can run make package install from the root directory to deploy to the device.

Credits

Licence

This project is licensed under the MIT Licence. Feel free to use the code however you see fit in your own projects. However, redistribution of this tweak as is to Cydia is prohibited.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].