diff --git a/README.md b/README.md index 07328391..192f5b1a 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,23 @@ -[logo] Shadowsocks for Windows +[logo] Shadowsocks for Windows ======================= -[![Build Status]][Appveyor] - -[中文说明] +[![Build Status](https://ci.appveyor.com/api/projects/status/tfw57q6eecippsl5/branch/master?svg=true)](https://ci.appveyor.com/project/celeron533/shadowsocks-windows) ## Features -1. System proxy configuration -2. PAC mode and global mode -3. [GeoSite] and user rules -4. Supports HTTP proxy -5. Supports server auto switching -6. Supports UDP relay (see Usage) -7. Supports plugins +- Connect to Shadowsocks servers. +- Automatically set system proxy. +- SIP002 URL scheme. +- SIP003 plugins. +- SIP008 online configuration delivery. ## Downloads -Download the latest release from [release page]. - -## Requirements +Download from [releases](https://github.com/shadowsocks/shadowsocks-windows/releases). -Microsoft [.NET Framework 4.7.2] or higher, Microsoft [Visual C++ 2015 Redistributable] (x86) . +## Usage -## Basics - -1. Find Shadowsocks icon in the notification tray -2. You can add multiple servers in servers menu -3. Select `Enable System Proxy` menu to enable system proxy. Please disable other -proxy addons in your browser, or set them to use system proxy -4. You can also configure your browser proxy manually if you don't want to enable -system proxy. Set Socks5 or HTTP proxy to 127.0.0.1:1080. You can change this -port in `Servers -> Edit Servers` +- 🚀 ## PAC @@ -53,89 +39,29 @@ port in `Servers -> Edit Servers` - To define your own PAC rules, it's recommended to use the `user-rule.txt` file. - You can also modify `pac.txt` directly. But your modifications won't persist after updating geosite from the upstream. -For Windows10 Store and related applications, please execute the following command under Admin privilege: -``` -netsh winhttp import proxy source=ie -``` - -## Server Auto Switching - -1. Load balance: choosing server randomly -2. High availability: choosing the best server (low latency and packet loss) -3. Choose By Total Package Loss: ping and choose. Please also enable - `Availability Statistics` in the menu if you want to use this -4. Write your own strategy by implement IStrategy interface and send us a pull request! - -## UDP - -For UDP, you need to use SocksCap or ProxyCap to force programs you want -to be proxied to tunnel over Shadowsocks - -## Multiple Instances - -If you want to manage multiple servers using other tools like SwitchyOmega, -you can start multiple Shadowsocks instances. To avoid configuration conflicts, -copy Shadowsocks to a new directory and choose a different local port. - -## Plugins - -If you would like to connect to server via a plugin, please set the plugin's -path (relative or absolute) on Edit Servers form. -_Note_: Forward Proxy will not be used while a plugin is enabled. - -Details: -[Working with non SIP003 standard Plugin]. - -## Global hotkeys - -Hotkeys could be registered automatically on startup. -If you are using multiple instances of Shadowsocks, -you must set different key combination for each instance. - -### How to input? - -1. Put focus in the corresponding textbox. -2. Press the key combination that you want to use. -3. Release all keys when you think it is ready. -4. Your input appears in the textbox. - -### How to change? - -1. Put focus in the corresponding textbox. -2. Press BackSpace key to clear content. -3. Re-input new key combination. - -### How to deactivate? - -1. Clear content in the textbox that you want to deactivate, -if you want to deactivate all, please clear all textboxes. -2. Press OK button to confirm. - -### Meaning of label color - -- Green: This key combination is not occupied by other programs and register successfully. -- Yellow: This key combination is occupied by other programs and you have to change to another one. -- Transparent without color: The initial status. +## Development -## Server Configuration +- IDE: Visual Studio 2019 +- Language: C# 9.0 +- SDK: .NET 5 -Please visit [Servers] for more information. +### Build -## Experimental +1. Clone the repository recursively. +```bash +$ git clone --recursive https://github.com/shadowsocks/shadowsocks-windows.git +``` +2. Open the repository in VS2019, switch to the _Release_ configuration, and build the solution. -[Experimental Features] +### Contribute -## Development +`PR welcome` -1. [Visual Studio 2019] & [.NET Framework 4.7.2 Developer Pack] are required. -2. It is recommended to share your idea on the Issue Board before you start to work, -especially for feature development. +You can use the [Source Browser](https://ss-windows.cube64128.xyz/) to review code online. ## License -[GPLv3] - -## Open Source Components / Libraries +Shadowsocks-windows is licensed under the [GPLv3](LICENSE.txt) license. ``` BouncyCastle.NetCore (MIT) https://github.com/chrishaly/bc-csharp @@ -153,19 +79,3 @@ ReactiveUI.Validation (MIT) https://github.com/reactiveui/ReactiveUI.Valida WPFLocalizationExtension (MS-PL) https://github.com/XAMLMarkupExtensions/WPFLocalizationExtension/ ZXing.Net (Apache 2.0) https://github.com/micjahn/ZXing.Net ``` - - - -[Appveyor]: https://ci.appveyor.com/project/celeron533/shadowsocks-windows -[Build Status]: https://ci.appveyor.com/api/projects/status/tfw57q6eecippsl5/branch/master?svg=true -[release page]: https://github.com/shadowsocks/shadowsocks-csharp/releases -[GeoSite]: https://github.com/v2fly/domain-list-community -[Servers]: https://github.com/shadowsocks/shadowsocks/wiki/Ports-and-Clients#linux--server-side -[中文说明]: https://github.com/shadowsocks/shadowsocks-windows/wiki/Shadowsocks-Windows-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E -[Visual Studio 2017]: https://www.visualstudio.com/downloads/ -[.NET Framework 4.7.2]: https://dotnet.microsoft.com/download/dotnet-framework/net472 -[.NET Framework 4.7.2 Developer Pack]: https://dotnet.microsoft.com/download/dotnet-framework/net472 -[Visual C++ 2015 Redistributable]: https://www.microsoft.com/en-us/download/details.aspx?id=53840 -[GPLv3]: https://github.com/shadowsocks/shadowsocks-windows/blob/master/LICENSE.txt -[Working with non SIP003 standard Plugin]: https://github.com/shadowsocks/shadowsocks-windows/wiki/Working-with-non-SIP003-standard-Plugin -[Experimental Features]: https://github.com/shadowsocks/shadowsocks-windows/wiki/Experimental