shadowsocks/shadowsocks-windows
GitHub: shadowsocks/shadowsocks-windows
Windows 平台下成熟的 Shadowsocks 客户端,提供系统代理配置、智能分流和多服务器管理等功能。
Stars: 59261 | Forks: 16308
#
Shadowsocks for Windows
[![Build Status]][Appveyor]
[中文说明]
## 功能
1. 系统代理配置
2. PAC 模式和全局模式
3. [GeoSite] 和用户规则
4. 支持 HTTP 代理
5. 支持服务器自动切换
6. 支持 UDP 中继(见用法)
7. 支持插件
## 下载
从 [release page] 下载最新版本。
## 系统要求
.NET Framework 4.8 或更高版本,Microsoft [Visual C++ 2015 Redistributable] (x86) 。
## 基本操作
1. 在系统通知区域找到 Shadowsocks 图标
2. 你可以在服务器菜单中添加多个服务器
3. 选择 `Enable System Proxy`(启用系统代理)菜单以启用系统代理。请禁用浏览器中的其他代理插件,或者将它们设置为使用系统代理
4. 如果你不想启用系统代理,也可以手动配置浏览器代理。将 Socks5 或 HTTP 代理设置为 127.0.0.1:1080。你可以在 `Servers -> Edit Servers` 中更改此端口
## PAC
- PAC 规则生成自 [v2fly/domain-list-community](https://github.com/v2fly/domain-list-community) 中的 geosite 数据库。
- 生成模式:白名单模式和黑名单模式。
- 域名组:`geositeDirectGroups` 和 `geositeProxiedGroups`。
- `geositeDirectGroups` 初始包含 `cn` 和 `geolocation-!cn@cn`。
- `geositeProxiedGroups` 初始包含 `geolocation-!cn`。
- 要在不同模式间切换,请修改 `gui-config.json` 中的 `geositePreferDirect` 属性
- 当 `geositePreferDirect` 为 false(默认)时,PAC 工作在白名单模式。例外规则由 `geositeDirectGroups` 生成。未匹配的域名通过代理连接。
- 当 `geositePreferDirect` 为 true 时,PAC 工作在黑名单模式。拦截规则由 `geositeProxiedGroups` 生成。例外规则由 `geositeDirectGroups` 生成。未匹配的域名将直接连接。
- 从 4.3.0.0 版本开始,shadowsocks-windows 默认为白名单模式,且中国域名不通过代理连接。
- 新的默认值确保:
- 在白名单模式下,中国域名(包括非中国公司的中国 CDN)将直接连接。
- 在黑名单模式下,只有非中国域名通过代理。中国域名以及非中国公司的中国 CDN 将直接连接。
### 用户自定义规则
- 要定义你自己的 PAC 规则,建议使用 `user-rule.txt` 文件。
- 你也可以直接修改 `pac.txt`。但在从上游更新 geosite 后,你的修改将不会保留。
对于 Windows10 应用商店及相关应用程序,请在管理员权限下执行以下命令:
```
netsh winhttp import proxy source=ie
```
## 服务器自动切换
1. 负载均衡:随机选择服务器
2. 高可用性:选择最佳服务器(低延迟和丢包率)
3. 根据总丢包率选择:Ping 并选择。如果你想使用此功能,请同时在菜单中启用 `Availability Statistics`(可用性统计)
4. 通过实现 IStrategy 接口编写你自己的策略,并向我们发送 pull request!
## UDP
对于 UDP,你需要使用 SocksCap 或 ProxyCap 强制你想代理的程序通过 Shadowsocks 隧道传输
## 多实例
如果你想使用其他工具(如 SwitchyOmega)管理多个服务器,你可以启动多个 Shadowsocks 实例。为了避免配置冲突,请将 Shadowsocks 复制到一个新目录并选择不同的本地端口。
## 插件
如果你想通过插件连接到服务器,请在编辑服务器表单中设置插件的路径(相对路径或绝对路径)。
_注意_:启用插件时不会使用正向代理。
详情:
[Working with non SIP003 standard Plugin]。
## 全局热键
热键可以在启动时自动注册。
如果你正在运行多个 Shadowsocks 实例,
必须为每个实例设置不同的组合键。
### 如何输入?
1. 将光标放在相应的文本框中。
2. 按下你想使用的组合键。
3. 当你认为准备好时松开所有按键。
4. 你的输入将显示在文本框中。
### 如何更改?
1. 将光标放在相应的文本框中。
2. 按 BackSpace 键清除内容。
3. 重新输入新的组合键。
### 如何停用?
1. 清除你想停用的文本框中的内容,如果你想停用所有,请清除所有文本框。
2. 按 OK 按钮确认。
### 标签颜色的含义
- 绿色:该组合键未被其他程序占用,注册成功。
- 黄色:该组合键已被其他程序占用,你必须更改为另一个。
- 无色透明:初始状态。
## 服务器配置
请访问 [Servers] 获取更多信息。
## 实验性
[Experimental Features]
## 开发
1. 需要 Visual Studio 2019 和 .NET Framework 4.8 SDK。
2. 建议你在开始工作之前在 Issue Board 上分享你的想法,特别是对于功能开发。
## 许可证
[GPLv3]
## 开源组件/库
```
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
```
标签:GeoSite, HTTP代理, .NET Framework, PAC模式, Shadowsocks, SOCKS5代理, SS客户端, UDP中继, v2fly, VPN, Windows客户端, 代理工具, 全局模式, 加密通信, 安全合规, 插件支持, 服务器切换, 科学上网, 系统代理, 网络代理, 网络隐私, 翻墙软件, 调试插件