shadowsocks-windows README

The project's README from github.com/shadowsocks/shadowsocks-windows. As one markdown file: README.md.

[logo] Shadowsocks for Windows

Build Status

中文说明

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

Downloads

Download the latest release from release page.

Requirements

.NET Framework 4.8 or higher, Microsoft Visual C++ 2015 Redistributable (x86) .

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

User-defined rules

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

Server Configuration

Please visit Servers for more information.

Experimental

Experimental Features

Development

  1. Visual Studio 2019 & .NET Framework 4.8 SDK are required.
  2. It is recommended to share your idea on the Issue Board before you start to work, especially for feature development.

License

GPLv3

Open Source Components / Libraries

Caseless.Fody (MIT)              https://github.com/Fody/Caseless
Costura.Fody (MIT)               https://github.com/Fody/Costura
Fody (MIT)                       https://github.com/Fody/Fody
GlobalHotKey (GPLv3)             https://github.com/kirmir/GlobalHotKey
MdXaml (MIT)                     https://github.com/whistyun/MdXaml
Newtonsoft.Json (MIT)            https://www.newtonsoft.com/json
ReactiveUI.WPF (MIT)             https://github.com/reactiveui/ReactiveUI
ReactiveUI.Events.WPF (MIT)      https://github.com/reactiveui/ReactiveUI
ReactiveUI.Fody (MIT)            https://github.com/reactiveui/ReactiveUI
ReactiveUI.Validation (MIT)      https://github.com/reactiveui/ReactiveUI.Validation
WPFLocalizationExtension (MS-PL) https://github.com/XAMLMarkupExtensions/WPFLocalizationExtension/
ZXing.Net (Apache 2.0)           https://github.com/micjahn/ZXing.Net

libsscrypto (GPLv2)    https://github.com/shadowsocks/libsscrypto
Privoxy (GPLv2)        https://www.privoxy.org
Sysproxy ()            https://github.com/Noisyfox/sysproxy

shadowsocks-windows (shadowsocks/shadowsocks-windows)

socks5
Searching Database…

What is this?Shadowsocks-windows is a Windows desktop client for Shadowsocks, a SOCKS5/HTTP proxy protocol designed to circumvent internet censorship, written in C#.
Is this a browser extension or a standalone app?It is a standalone Windows desktop application that sits in the system tray and configures a system-wide or browser proxy.
How do I get it running?Download the latest release, install it, then add your server details in the Servers menu and enable System Proxy, or manually point your browser's SOCKS5/HTTP proxy to 127.0.0.1:1080.
What do I need installed before running it?.NET Framework 4.8 or higher and the Microsoft Visual C++ 2015 Redistributable (x86) are required.
Does UDP traffic get proxied automatically?No, for UDP you need an extra tool like SocksCap or ProxyCap to force specific programs to tunnel over Shadowsocks.
Does this run on any OS other than Windows?No, this is the Windows-specific C# port; it requires the .NET Framework and Visual C++ runtime that are Windows-only.
Does my traffic stay local or go through a third-party server?You must supply and connect to your own Shadowsocks server; the app just manages the local proxy and routing rules on your machine.
What is PAC mode and how does it decide what gets proxied?PAC mode uses a Proxy Auto-Config script generated from the v2fly GeoSite domain list, working in either whitelist mode (only non-Chinese domains go through proxy) or blacklist mode (only non-Chinese domains are proxied directly), configurable via geositePreferDirect in gui-config.json.
Can I run multiple servers at the same time?Yes, you can run multiple instances by copying the app to separate directories and giving each a different local port to avoid configuration conflicts.
Does the client support plugins for obfuscated transports?Yes, you can set a plugin's path in the Edit Servers form to connect via SIP003-style plugins, though forward proxy is disabled while a plugin is active.
Can I pick the best server automatically?Yes, it supports server auto-switching with strategies like load balancing (random), high availability (lowest latency/packet loss), or choosing by total package loss, and you can even write a custom strategy via the IStrategy interface.
Size
13.2 MB
Stars
59.5K
Age
13y
Commits · 90 Days