ShadowsocksX-NG
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.
Requirements
Running
macOS 10.12+
Building
- Xcode 11.1+
- CocoaPods 1.5.3+
Download
From here
Features
ss-local
from shadowsocks-libev 3.2.5.- Support SIP003 plugins. Embed
kcptun
,simple-obfs
andv2ray-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.
Contributing
Contributions must be available on a separately named branch based on the latest version of the main branch develop
.
ref: GitFlow
License
The project is released under the terms of the GPLv3.