├── .gitignore ├── .travis.yml ├── ISSUE_TEMPLATE.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | ##### 2 | # OS X temporary files that should never be committed 3 | .DS_Store 4 | *.swp 5 | *.lock 6 | profile 7 | 8 | #### 9 | # Xcode temporary files that should never be committed 10 | *~.nib 11 | 12 | #### 13 | # Objective-C/Swift specific 14 | *.hmap 15 | *.ipa 16 | 17 | #### 18 | # Xcode build files 19 | DerivedData/ 20 | build/ 21 | Builds/ 22 | 23 | ##### 24 | # Xcode private settings (window sizes, bookmarks, breakpoints, custom executables, smart groups) 25 | *.pbxuser 26 | *.mode1v3 27 | *.mode2v3 28 | *.perspectivev3 29 | !default.pbxuser 30 | !default.mode1v3 31 | !default.mode2v3 32 | !default.perspectivev3 33 | 34 | #### 35 | # Xcode 4 36 | xcuserdata 37 | !xcschemes 38 | # Xcode 4 39 | *.moved-aside 40 | 41 | #### 42 | # XCode 4 workspaces - more detailed 43 | !xcshareddata 44 | !default.xcworkspace 45 | *.xcworkspacedata 46 | 47 | 48 | #### 49 | # Xcode 5 50 | *.xccheckout 51 | *.xcuserstate 52 | 53 | #### 54 | # Xcode 7 55 | *.xcscmblueprint 56 | 57 | #### 58 | # AppCode 59 | .idea/ 60 | 61 | #### 62 | # Other Xcode files 63 | profile 64 | *.hmap 65 | *.ipa 66 | 67 | #### 68 | # Carthage 69 | Carthage/Build 70 | 71 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | osx_image: xcode8.3 3 | xcode_workspace: ShadowsocksX-NG.xcworkspace 4 | xcode_scheme: ShadowsocksX-NG 5 | script: set -o pipefail && xcodebuild test -workspace ShadowsocksX-NG.xcworkspace -scheme ShadowsocksX-NG -sdk macosx10.12 CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO|xcpretty 6 | -------------------------------------------------------------------------------- /ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | **System and Shadowsocksx-NG-R8 version:** 2 | 3 | - macOS 10.12.4 beta (16E144f) 4 | - Shadowsocksx-NG-R8 1.3.9-build4 5 | 6 | **Expected behavior:** 7 | 8 | 9 | 10 | **Actual behavior:** 11 | 12 | (N/A for feature requests) 13 | 14 | **Steps to reproduce:** 15 | 16 | (N/A for feature requests) 17 | 18 | **How often does this happen?** 19 | 20 | (N/A for feature requests) 21 | 22 | **ss-local.log** 23 | 24 | Please upload the ss-local.log file here the file is in `~/Library/Logs` 25 | 1) Open 'Advanced Settings -> enable Verbose Mode' 26 | 2) Continue run `Shadowsocksx-NG-R8` for 5 minutes 27 | 3) Upload the `~/Library/Logs/ss-local.log` here (with or without compress) 28 | 29 | **Application log** 30 | 31 | Open the `Console.app` and search `Shadowsocksx-NG` 32 | Copy paste the log here 33 | 34 | **Crash Log** 35 | 36 | If the app crashes and pop up a crash log, please copy and paste here 37 | 38 | **Tips:** 39 | 40 | - Always check for the latest update, some known bug has been fix in the latest release such as old version not support auth_aes_md5 auth_aes_sha1 41 | 42 | - Beta version of macOS also may couse some problems 43 | 44 | - ss-local compiled by macOS Sierra 10.12 not compatite with 10.11, some old release's ss-local are compiled using 10.12 will not work on 10.11, new release are try build in 10.10 to max fit the compatite 45 | 46 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 使用须知 2 | ## 本工具是为了方便学习与工作,毕竟很多东西用Google搜比Baidu更靠谱,因此希望大家注意以下几点 3 | 4 | - GFW=智商墙,请注意提高自己的智力,勿被境外利益集团洗脑 5 | 6 | - 墙外≠法外,请注意自己言行,本工具是为了学习而不是让你叛国 7 | 8 | - 爱国富强的前提是自己要有独立思考问题的能力,而不是秀智力 9 | 10 | - 下载地址:[releases](https://github.com/wzdnzd/ShadowsocksX-NG-R/releases) 11 | 12 | # ShadowsocksX-NG-R 13 | 14 | [![Build Status](https://travis-ci.org/shadowsocksr/ShadowsocksX-NG.svg?branches=develop)](https://travis-ci.org/shadowsocksr/ShadowsocksX-NG) 15 | 16 | [ShadowsocksX-NG](https://github.com/shadowsocks/ShadowsocksX-NG) with SSR support. 17 | 18 | ## Why? 19 | 20 | It's hard to maintain the original implement. There are too many unused code in it. 21 | It also embed ss-local source. It's crazy to maintain depandences of ss-local. 22 | So it's hard to update ss-local version. 23 | 24 | Now I just copy the ss-local from home brew. Run ss-local executable as a Launch Agent in background. 25 | Serve pac js file as a file url. So there are only some souce code related to GUI left. 26 | Then I rewrite the GUI code by swift. 27 | 28 | ## Requirements 29 | 30 | ### Running 31 | 32 | - macOS 10.12 + 33 | 34 | ### Building 35 | 36 | - Xcode 11.1+ 37 | - cocoapod 1.8.4+ 38 | 39 | ## Fetures 40 | 41 | - SSR features! 42 | - Ability to check update from GitHub. 43 | - White domain list & white IP list 44 | - Use ss-local from shadowsocksr-libev 2.5.6 45 | - Ability to update PAC by download GFW List from GitHub. (You can even customize your list) 46 | - Ability to update ACL white list from GutHub. (You can even customize your list) 47 | - Show QRCode for current server profile. 48 | - Scan QRCode from screen. 49 | - Import config.json to config all your servers (SSR-C# password protect not supported yet) 50 | - Auto launch at login. 51 | - User rules for PAC. 52 | - Support for OTA is removed 53 | - An advance preferences panel to configure: 54 | - Local socks5 listen address. 55 | - Local socks5 listen port. 56 | - Local socks5 timeout. 57 | - If enable UDP relay. 58 | - GFW List url. 59 | - ACL White List url. 60 | - ACL GFW list and proxy bach CHN list. 61 | - Manual spesify network service profiles which would be configure the proxy. 62 | - Could reorder shadowsocks profiles by drag & drop in servers preferences panel. 63 | - Auto check update (unable to auto download) 64 | 65 | ## Different from orignal ShadowsocksX 66 | 67 | Run ss-local as backgroud service through launchd, not in app process. 68 | So after you quit the app, the ss-local maybe is still running. 69 | 70 | Add a manual mode which won't configure the system proxy settings. 71 | Then you could configure your apps to use socks5 proxy manual. 72 | 73 | ## Contributing 74 | 75 | Contributions must be available on a separately named branch based on the latest version of the main branch develop. 76 | 77 | ref: [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/) 78 | 79 | ## License 80 | 81 | The project is released under the terms of GPLv3. --------------------------------------------------------------------------------