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.
Qiu Yuzhou 0e0e5126d1 Merge branch 'develop' of into develop 5 months ago
.github try to fix ci 5 months ago
LaunchHelper fix code sign settings 5 months ago
Pods make project built by latest xcode 5 months ago
ShadowsocksX-NG Merge pull request #1306 from wxh06/develop 5 months ago
ShadowsocksX-NG.xcodeproj fix code sign settings for DEBUG 5 months ago
ShadowsocksX-NG.xcworkspace Add shared schemes. 4 years ago
ShadowsocksX-NGTests make project built by latest xcode 5 months ago
proxy_conf_helper Fixes bug in proxy_conf_helper. 2 years ago
.gitignore Update .gitingore file. 3 years ago
LICENSE add license file 4 years ago
Podfile update outdated pods 5 months ago
Podfile.lock update outdated pods 5 months ago Bump building requirement versions 5 months ago
_config.yml Set theme jekyll-theme-slate 4 years ago Localize *.swift files. 5 years ago



Actions 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 code. 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. So there is only some source code related to GUI left. Then I have rewrited the GUI code in Swift.



macOS 10.12+


  • Xcode 12.5.1+
  • CocoaPods 1.10.1+


From here


  • ss-local from shadowsocks-libev 3.2.5.
  • Support SIP003 plugins. Embed kcptun, simple-obfs and v2ray-plugin.
  • 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.