ShadowsocksX-NG README

The project's README from github.com/shadowsocks/ShadowsocksX-NG. As one markdown file: README.md.

ShadowsocksX-NG

Download

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.

Requirements

Running

macOS 10.12+

Building

Download

From here

Features

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.

ShadowsocksX-NG (shadowsocks/ShadowsocksX-NG)

Searching Database…

What is this?It's the next generation of ShadowsocksX — a macOS GUI client for the Shadowsocks proxy. You add your server profiles, and it routes your Mac's traffic through them via a local proxy.
How is it different from the original ShadowsocksX?The original was hard to maintain: too much unused code, and the ss-local source was embedded in it. This version takes ss-local from Homebrew instead and keeps only the GUI, which the author rewrote in Swift.
How do I get it on my Mac?Download a build from the GitHub releases page — it needs macOS 10.12+. Building from source requires Xcode 12.5.1+ and CocoaPods 1.10.1+.
Do I need to install ss-local or plugins like kcptun separately?No — ss-local (from shadowsocks-libev 3.2.5) and the SIP003 plugins kcptun, simple-obfs and v2ray-plugin all come embedded. An HTTP proxy is provided by privoxy.
Does the proxy stop when I quit the app?Not necessarily — ss-local runs as a background service through launchd, not inside the app, so it can keep running after you quit.
How do I add my Shadowsocks server?Import a profile URL from the pasteboard or scan a QR code shown on screen. Your own profiles can be shared with others as a QR code or URL.
How does it decide which traffic goes through the proxy?It uses a PAC file that can update itself by downloading the GFW List from GitHub, and you can add custom rules for the PAC.
Is there a mode that leaves system proxy settings untouched?Yes — manual mode skips configuring the system proxy, so you point your apps at the SOCKS5 proxy yourself.
Which encryption methods does it support?It supports AEAD ciphers.
Size
49.3 MB
Stars
32.9K
Age
10y
Commits · 90 Days