Shadowsocks for Windows 是一款轻量级的 Shadowsocks 代理协议客户端应用程序,旨在帮助用户绕过互联网审查并访问受限内容。它提供了一个用户友好的界面,用于配置和管理 Shadowsocks 连接,并支持各种加密方法、代理模式和连接策略。
本页面提供了 Shadowsocks Windows 客户端的高级介绍,包括其功能、架构和系统要求。有关特定组件的更多详细信息,请参阅其各自的维基页面。
Shadowsocks 是一种安全的 SOCKS5 代理,用于加密客户端和服务器之间的流量。Windows 客户端实现了 Shadowsocks 协议,具有以下关键特性:
Shadowsocks for Windows 遵循模块化架构,组件之间职责明确分离。该系统的核心是 ShadowsocksController 类,它协调所有其他组件。
来源:shadowsocks-csharp/Controller/ShadowsocksController.cs shadowsocks-csharp/Model/Configuration.cs shadowsocks-csharp/Controller/System/SystemProxy.cs
以下图表说明了网络流量如何通过 Shadowsocks Windows 客户端流动:
来源:shadowsocks-csharp/Controller/Service/TCPRelay.cs shadowsocks-csharp/Controller/Service/Listener.cs shadowsocks-csharp/Encryption/IEncryptor.cs
中央控制器,负责协调所有其他组件。它管理配置、处理用户界面事件、启动和停止代理服务,并与操作系统集成。
管理服务器配置、代理设置和用户偏好。配置存储在 JSON 文件中,可通过用户界面修改。
实现各种加密算法以确保客户端和服务器之间的通信安全。Shadowsocks 支持多种密码,其中 AEAD(带关联数据的认证加密)是推荐的方法。
截至本文档编写时,当前版本为 4.4.1.0。
来源:shadowsocks-csharp/Controller/Service/UpdateChecker.cs36 README.md24
Shadowsocks for Windows 是一款根据 GNU 通用公共许可证 v3.0 (GPLv3) 发布的开源软件。该项目由 Shadowsocks 社区维护并欢迎贡献。
有关从源代码构建、测试和贡献指南的信息,请参阅开发。
来源:LICENSE.txt1-10 README.md129-170
下表总结了主要组件及其主要职责:
| 组件 | 角色 | 关键类 |
|---|---|---|
| 控制器 | 协调所有组件 | ShadowsocksController |
| 配置 | 管理用户和服务器设置 | Configuration, Server |
| 代理服务 | 处理网络流量 | Listener, TCPRelay, UDPRelay |
| PAC 系统 | 管理自动代理规则 | PACServer, PACDaemon, GeositeUpdater |
| 加密 | 加密/解密流量 | EncryptorFactory, IEncryptor implementations |
| 用户界面 | 用户界面 | MenuViewController, ConfigForm |
| 系统集成 | 操作系统集成 | SystemProxy, HotkeyReg, AutoStartup |
| 更新系统 | 检查并应用更新 | UpdateChecker |
来源:shadowsocks-csharp/shadowsocks-csharp.csproj220-334
有关特定组件的更多详细信息,请参阅维基中相应的章节: