Next Generation of ShadowsocksX (Backup)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Kebin Liu aabdc77c3c
Merge pull request #1001 from lkebin/add-v2ray-plugin
1 year ago
.github/ISSUE_TEMPLATE Update issue templates 2 years ago
LaunchHelper Enable recommend settings. 2 years ago
Pods Enable recommend settings. 2 years ago
ShadowsocksX-NG Add v2ray-plugin 1 year ago
ShadowsocksX-NG.xcodeproj Add v2ray-plugin 1 year ago
ShadowsocksX-NG.xcworkspace Add shared schemes. 3 years ago
ShadowsocksX-NGTests Fixes #903. 2 years ago
proxy_conf_helper Removes default bypass rules in proxy_conf_helper 2 years ago
.gitignore Update .gitingore file. 2 years ago
.travis.yml Fixes .travis.yml 2 years ago Update issue template. 3 years ago
LICENSE add license file 3 years ago
Podfile Upgrade version of RxSwift, RxCocoa, Alamofire. 2 years ago
Podfile.lock Upgrade version of RxSwift, RxCocoa, Alamofire. 2 years ago Bump version to 1.8.2 2 years ago
_config.yml Set theme jekyll-theme-slate 3 years ago Localize *.swift files. 4 years ago


Current version is 1.8.2

Build Status

Next Generation of ShadowsocksX

Why a new implementation?

It’s hard to maintain the original implementation as there is too much unused code in it. It also embeds the ss-local source. It’s crazy to maintain dependencies of ss-local. So it’s hard to update the ss-local version.

Now I just copied the ss-local from Homebrew. Run ss-local executable as a Launch Agent in the background. Serve PAC JS file as a file URL. So there is only some source code related to GUI left. Then I will rewrite the GUI code in Swift.



  • macOS 10.11+


  • Xcode 10.0+
  • CocoaPods 1.5.3+


From here


  • ss-local from shadowsocks-libev 3.2.0
  • Support SIP003 plugins. Embed kcptun and simple-obfs.
  • Could update PAC by download GFW List from GitHub.
  • Share your server profiles by qrcode or url.
  • Import server profile urls from pasteboard.
  • Import server profile by scan QRCode on screen.
  • Custom rules for PAC.
  • Support for AEAD Ciphers
  • HTTP Proxy by privoxy

Difference from original ShadowsocksX

ss-local is run as a background service through launchd, not as an in-app process. So after you quit the app, the ss-local might be still running.

Added a manual mode which won’t configure the system proxy settings, so that you could configure your apps to use the SOCKS5 proxy manually.


Contributions must be available on a separately named branch based on the latest version of the main branch develop.

ref: GitFlow


The project is released under the terms of the GPLv3.