Current version is 1.8.2
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
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.
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+
ss-localfrom shadowsocks-libev 3.2.0
- 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.