Back to rankings

shadowsocks/shadowsocks-windows

C#

A C# port of shadowsocks

shadowsocksc-sharpproxy
Star Growth
Stars
59.6k
Forks
16.2k
Weekly Growth
Issues
188
20k40k
Jan 2013Jul 2017Jan 2022Jul 2026
README

[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

  • The PAC rules are generated from the geosite database in v2fly/domain-list-community.
  • Generation modes: whitelist mode and blacklist mode.
  • Domain groups: geositeDirectGroups and geositeProxiedGroups.
    • geositeDirectGroups is initialized with cn and geolocation-!cn@cn.
    • geositeProxiedGroups is initialized with geolocation-!cn.
  • To switch between different modes, modify the geositePreferDirect property in gui-config.json
    • When geositePreferDirect is false (default), PAC works in whitelist mode. Exception rules are generated from geositeDirectGroups. Unmatched domains goes through the proxy.
    • When geositePreferDirect is true, PAC works in blacklist mode. Blocking rules are generated from geositeProxiedGroups. Exception rules are generated from geositeDirectGroups. Unmatched domains are connected to directly.
  • Starting from 4.3.0.0, shadowsocks-windows defaults to whitelist mode with Chinese domains excluded from connecting via the proxy.
  • The new default values make sure that:
    • When in whitelist mode, Chinese domains, including non-Chinese companies' Chinese CDNs, are connected to directly.
    • When in blacklist mode, only non-Chinese domains goes through the proxy. Chinese domains, as well as non-Chinese companies' Chinese CDNs, are connected to directly.

User-defined rules

  • 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.

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
Related repositories
2dust/v2rayN

A GUI client for Windows, Linux and macOS, support Xray and sing-box and others

C#GNU General Public License v3.0windowsproxy
v2rayn.2dust.link
111.8k15.6k
2dust/v2rayNG

A V2Ray client for Android, support Xray core and v2fly core

KotlinGNU General Public License v3.0androidproxy
v2rayng.2dust.link
59.8k7.8k
Alvin9999/new-pac

翻墙-科学上网、自由上网、免费科学上网、免费翻墙、fanqiang、油管youtube/视频下载、软件、VPN、一键翻墙浏览器,vps一键搭建翻墙服务器脚本/教程,免费shadowsocks/ss/ssr/v2ray/goflyway账号/节点,翻墙梯子,电脑、手机、iOS、安卓、windows、Mac、Linux、路由器翻墙、科学上网、youtube视频下载、youtube油管镜像/免翻墙网站、美区apple id共享账号、翻墙-科学上网-梯子

PythonPyPIfanqiangfree-ssr
59.2k9.8k
bannedbook/fanqiang

翻墙-科学上网

Kotlinssrv2ray
49.2k8.2k
v2ray/v2ray-core

A platform for building proxies to bypass network restrictions.

GoGo ModulesMIT Licensev2rayshadowsocks
v2ray.com
46.9k8.8k
MHSanaei/3x-ui

Xray panel supporting multi-protocol multi-user expire day & traffic & IP limit (Vmess, Vless, Trojan, ShadowSocks, Wireguard, Hysteria, Tunnel, Mixed, HTTP, Tun, MTProto)

GoGo ModulesGNU General Public License v3.0trojanvless
docs.sanaei.dev
43.4k8.3k
freefq/free

翻墙、免费翻墙、免费科学上网、免费节点、免费梯子、免费ss/v2ray/trojan节点、蓝灯、谷歌商店、翻墙梯子

fanqiangv2ray
41.2k5.6k
XTLS/Xray-core

Xray, Penetrates Everything. Also the best v2ray-core. Where the magic happens. An open platform for various uses.

GoGo ModulesMozilla Public License 2.0xrayvless
t.me/projectXray
40.5k5.7k
shadowsocks/shadowsocks-android

A shadowsocks client for Android

KotlinOthershadowsocksandroid
36.7k11.5k
v2fly/v2ray-core

A platform for building proxies to bypass network restrictions.

GoGo ModulesMIT Licenseproxynetwork
v2fly.org
34.3k5.1k
shadowsocks/ShadowsocksX-NG

Next Generation of ShadowsocksX

SwiftGNU General Public License v3.0shadowsocksswift
32.9k7.8k
hiddify/hiddify-app

Multi-platform auto-proxy client, supporting Sing-box, X-ray, TUIC, Hysteria, Reality, Trojan, SSH etc. It’s an open-source, secure and ad-free.

DartOtherproxysingbox
hiddify.com
31.6k2.9k