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
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.
- Xcode 11.1+
- CocoaPods 1.5.3+
ss-localfrom shadowsocks-libev 3.2.5.
- Support SIP003 plugins. Embed
- 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
The project is released under the terms of the GPLv3.