Skip to content

devhitfrank/MobileShadowSocks

 
 

Repository files navigation

MobileShadowSocks

Shadowsocks Client for Jailbroken iOS Devices
By Linus Yang


Features

  • 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.
  • Per-App Proxy Support: Enable or disable proxy app by app. (Support by extra plugin)
  • QR Code Support: Share your profiles easily via QR Code.
  • Universal: System-wide proxy for either Wi-Fi or cellular network.
  • All-in-one: No extra dependency. No Cydia Substrate stuff (except plugins :P).
  • Compatibility: All iDevices with iOS 3.0 and above (Some features need iOS 5 or above).

Installation

  1. Open Cydia.app and refresh sources
  2. Search the package named ShadowSocks and install it
  3. That's it!

Note: Latest packages are also available here for manual installation.

Usage

  1. After installation, you will find a icon named Shadow on your device.
  2. Launch the app and set up server information and proxy settings.
  3. Tap to turn on the first "Enable Proxy" switch.
  4. That's all folks!

FAQ

1. Can I exit the Shadow app completely after turning on the switch?

Yes, you can. This app is only for setting proxy options. The real shadowsocks services will start up on demand in the background.

2. How can I disable the proxy?

Just open the Shadow app again and switch off "Enable Proxy".

3. Is the proxy still available when network status is changed, or even device is rebooted?

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.

4. Is the shadowsocks daemon always running in the background and consuming my battery?

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.

Credits

Development

Prerequisites

  • 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.1 SDK as example, change to your current SDK version):

SDKVER="7.1"
SDKFILE="$(xcode-select --print-path)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${SDKVER}.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)

Build

Use the following command to download the project and build the main app:

git clone --recursive https://github.com/linusyang/MobileShadowSocks.git
cd MobileShadowSocks
make

All built Debian packages will be generated under release folder in the project directory.

License

Licensed under GPLv3.

About

Shadowsocks Client for Jailbroken iOS Devices

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 93.5%
  • M 2.6%
  • C 1.6%
  • JavaScript 1.1%
  • Shell 0.7%
  • Logos 0.4%
  • Other 0.1%