Skip to content

Next Generation of Shadowsocks(R) macOS client

License

Notifications You must be signed in to change notification settings

jack80342/ShadowsocksX-NG

 
 

Repository files navigation

ShadowsocksX-NG

Build Status

Next Generation of Shadowsocks(R) macOS client.

About

The original implement embed ss-local source. This makes it hard to update ss-local.

Now I just copy the ss-local from Homebrew. Run ss-local executable as a Launch Agent in background. Serve pac js file as a file url. So only some souce code related to GUI left.

Requirements

Dependencies

brew install libev;
brew install c-ares;
brew install libsodium;
brew install mbedtls@2;
brew install pcre;

Running

  • macOS Catalina(v10.15+)

Building

  • Xcode 13.0+

Features

  • New Subscription URL support (Clash and Shadowrocket)
  • Limited SSR support
  • White domain list & white IP list
  • Use ss-local from shadowsocks-libev
  • Auto update PAC by download GFW List from GitHub. (You can even customize your list)
  • Auto update ACL white list from GutHub. (You can even customize your list)
  • Show QRCode for current server profile
  • Scan QRCode from screen
  • Import config.json to config all your servers
  • Auto launch at login
  • User rules for PAC

Differences from original ShadowsocksX

Run ss-local as backgroud service through launchd, not in app process. So after you quit the app, the ss-local maybe is still running.

Add a manual mode which won't configure the system proxy settings. Then you could configure your apps to use socks5 proxy manual.

License

The project is released under the terms of GPLv3.

About

Next Generation of Shadowsocks(R) macOS client

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • JavaScript 66.8%
  • Swift 32.6%
  • Shell 0.6%