Shadowsocks Client for Jailbroken iOS Devices
By Linus Yang
- Fast: Light-weight proxy protocol by @clowwindy.
- Secure: Support plenty of ciphers, including AES, Blowfish and Camellia.
- Efficient: Proxy services are triggered on demand.
- User-friendly: Easy to set and use. Built-in auto-proxy feature.
- QR Code Support: Share your profiles easily via QR Code.
- Universal: System-wide proxy for either Wi-Fi or cellular network.
- All-in-one: Only one Debian package with no dependency. No MobileSubstrate stuff.
- Compatibility: All iDevices with iOS 3.0 and above (Some features need iOS 5 or above).
- Open Cydia.app and refresh sources
- Search the package named ShadowSocks and install it
- That's it!
Note: Latest packages are also available here for manual installation.
- After installation, you will find a icon named Shadow on your device.
- Launch the app and set up server information and proxy settings.
- Tap to turn on the first "Enable Proxy" switch.
- That's all folks!
Yes, you can. This app is only for setting proxy options. The real shadowsocks services will start up on demand in the background.
Just open the Shadow app again and switch off "Enable Proxy".
Yes, it is always available if the proxy settings are enabled. The icon badge of Shadow.app will also show "On" to indicate that proxy is available.
No. The daemon uses the "On Demand" mechanism of launchd
, which means it is battery-friendly. It starts up only when receiving proxy requests. So, don't worry for battery life, just leave it there. :)
5. I cannot find any proxy settings in Settings. Is the proxy actually enabled? And where are the proxy settings?
The proxy settings are indeed set successfully if you don't see any alert views when turning on the switch. Sometimes they just don't show in the Settings (or wrongly show in the proxy for VPN). If you want to check the status, call scutil --proxy
in terminal.
6. I've uninstalled the app but forgotten to turn off the proxy. And my device cannot connect to the Internet any more? HALP!
Don't panic. Just reset your network settings in Preferences and everything will be OK. Or you can re-install the app, disable the proxy and uninstall it again.
- Shadowsocks project created by @clowwindy
- Based on Shadowsocks-libev from @madeye
- App icon by @madeye from Shadowsocks Android (Too lazy to draw one by myself :P)
- QR Code encoding and decoding by ZXingObjC
- Xcode 4 or above (using latest version is recommended)
Note: You need to first quit Xcode completely and disable force code-sign of iOS SDK as follows (iOS 7 SDK as example, change to your current SDK version):
SDKFILE="$(xcode-select --print-path)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/SDKSettings.plist"
sudo /usr/libexec/PlistBuddy -c "Set :DefaultProperties:CODE_SIGNING_REQUIRED NO" "$SDKFILE"
sudo /usr/bin/plutil -convert binary1 "$SDKFILE"
- Code-signing certificate named iPhone Developer (either self-signed or official is OK)
git clone --recursive https://github.com/linusyang/MobileShadowSocks.git
cd MobileShadowSocks
xcodebuild -configuration Release
And the built Debian package will be generated under release folder in the project directory.
Licensed under GPLv3.