2016-06-10 20:02:49 +08:00
# ShadowsocksX-NG
2016-10-02 01:19:17 +08:00
Current version is 1.3
2016-06-14 10:53:08 +08:00
2016-10-06 15:05:35 +08:00
[](https://travis-ci.org/shadowsocks/ShadowsocksX-NG)
2016-06-12 09:25:45 +08:00
2016-06-12 08:30:09 +08:00
Next Generation of [ShadowsocksX ](https://github.com/shadowsocks/shadowsocks-iOS )
2016-06-10 20:02:49 +08:00
2016-07-10 18:36:22 +08:00
## Why?
2016-06-10 20:02:49 +08:00
2016-10-20 01:14:47 +08:00
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 ss-local.
So it's hard to update the ss-local version.
2016-06-10 20:02:49 +08:00
2016-10-20 01:14:47 +08:00
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.
2016-06-10 20:02:49 +08:00
2016-06-11 00:09:36 +08:00
## Requirements
### Running
2016-10-02 02:11:09 +08:00
- Mac OS X 10.11 +
2016-06-11 00:09:36 +08:00
### Building
2016-10-02 02:11:09 +08:00
- XCode 8.0+
2016-06-12 08:30:09 +08:00
- cocoapod 1.0.1+
2016-06-11 00:09:36 +08:00
2016-10-15 00:33:53 +08:00
## Download
From [here ](https://github.com/shadowsocks/ShadowsocksX-NG/releases/ )
2016-06-14 10:53:08 +08:00
## Fetures
- Use ss-local from shadowsocks-libev 2.4.6
2016-10-20 01:14:47 +08:00
- Update PAC by download GFW List from GitHub.
2016-06-14 10:53:08 +08:00
- Show QRCode for current server profile.
- Scan QRCode from screen.
- Auto launch at login.
- User rules for PAC.
- Support OTA
2016-10-20 01:14:47 +08:00
- An advanced preferences panel to configure:
2016-06-14 10:53:08 +08:00
- Local socks5 listen address.
- Local socks5 listen port.
- Local socks5 timeout.
- If enable UDP relay.
2016-10-20 01:14:47 +08:00
- GFW List URL.
- Manual specify network service profiles which would be configure the proxy.
2016-07-10 18:36:22 +08:00
- Could reorder shadowsocks profiles by drag & drop in servers preferences panel.
2016-06-14 10:53:08 +08:00
2016-07-10 18:36:22 +08:00
## Different from orignal ShadowsocksX
2016-06-14 10:53:08 +08:00
2016-10-20 01:14:47 +08:00
Run ss-local as a background service through launchd, not as an in-app process.
So after you quit the app, the ss-local maybe be still running.
2016-06-14 10:53:08 +08:00
2016-10-20 01:14:47 +08:00
Added a manual mode which won't configure the system proxy settings.
2016-06-14 10:53:08 +08:00
Then you could configure your apps to use socks5 proxy manual.
2016-07-10 18:36:22 +08:00
## Contributing
Contributions must be available on a separately named branch based on the latest version of the main branch develop.
ref: [GitFlow ](http://nvie.com/posts/a-successful-git-branching-model/ )
2016-06-10 20:02:49 +08:00
## TODO List
2016-10-07 17:52:30 +08:00
- [x] Embed the http proxy server [privoxy ](http://www.privoxy.org/ ), [get it ](https://homebrew.bintray.com/bottles/privoxy-3.0.26.sierra.bottle.tar.gz ).
2016-06-11 00:09:36 +08:00
2016-06-12 08:30:09 +08:00
## License
2016-06-11 00:09:36 +08:00
2016-10-20 01:14:47 +08:00
The project is released under the terms of the GPLv3.
2016-06-11 00:09:36 +08:00