2016-06-10 20:02:49 +08:00
|
|
|
# ShadowsocksX-NG
|
|
|
|
|
2017-03-11 00:22:45 +08:00
|
|
|
Current version is 1.5
|
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
|
|
|
|
|
2017-03-29 22:01:36 +08:00
|
|
|
- XCode 8.3+
|
2017-03-11 00:22:45 +08:00
|
|
|
- cocoapod 1.2+
|
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/)
|
|
|
|
|
2017-02-07 15:39:43 +08:00
|
|
|
## Features
|
2016-06-14 10:53:08 +08:00
|
|
|
|
2017-03-29 22:01:36 +08:00
|
|
|
- Use ss-local from shadowsocks-libev 3.0.5
|
2017-01-13 01:06:06 +08:00
|
|
|
- Could 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.
|
2017-04-29 01:00:39 +08:00
|
|
|
- Support for [AEAD Ciphers](https://shadowsocks.org/en/spec/AEAD-Ciphers.html)
|
2017-01-13 01:06:06 +08:00
|
|
|
- HTTP Proxy by [privoxy](http://www.privoxy.org/)
|
2017-03-29 22:01:36 +08:00
|
|
|
- Over [kcptun](https://github.com/xtaci/kcptun). Version 20170322
|
2017-01-13 01:06:06 +08:00
|
|
|
- Export/Import configure file.
|
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.
|
2017-03-11 00:22:45 +08:00
|
|
|
- Configurable global shortcuts for toggle running and switch proxy mode.
|
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.
|
|
|
|
|
2017-01-16 16:54:57 +08:00
|
|
|
## Contributing
|
|
|
|
|
2017-04-06 12:01:14 +08:00
|
|
|
[](https://gitter.im/ShadowsocksX-NG/Lobby)
|
2016-07-10 18:36:22 +08:00
|
|
|
|
|
|
|
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-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
|
|
|
|