Shadowsocks Windows 客户端通过多种方式与 Windows 操作系统集成,以提供无缝的用户体验。本文档介绍了 Shadowsocks 如何与操作系统交互,包括自动启动配置、系统代理设置管理、协议处理和电源管理集成。
有关 Privoxy 等特定代理服务的信息,请参阅Privoxy 集成。
Shadowsocks Windows 通过多个关键组件与操作系统集成,这些组件管理着系统交互的不同方面。
来源:shadowsocks-csharp/Program.cs113-114 shadowsocks-csharp/Program.cs135 shadowsocks-csharp/Program.cs187-219 shadowsocks-csharp/Program.cs83-101
Shadowsocks 可以配置为在 Windows 启动时自动运行。此功能实现在AutoStartup 类中。
自动启动系统使用 Windows 注册表来注册 Shadowsocks 以实现启动。它还与 Windows Restart Manager 集成,以便在系统更新或崩溃后重新启动应用程序。
主要功能
来源:shadowsocks-csharp/Controller/System/AutoStartup.cs20-61 shadowsocks-csharp/Controller/System/AutoStartup.cs130-152 shadowsocks-csharp/Program.cs113-114
Shadowsocks 可以将 Windows 系统代理设置配置为三种模式
系统代理集成使用一个原生可执行文件(sysproxy.exe)来修改 Windows Internet 设置,因为直接修改需要提升的权限。
关键组件
SystemProxy:控制器使用的高级接口Sysproxy:管理sysproxy.exe 工具和用户设置SysproxyConfig:存储用户的原始代理设置来源:shadowsocks-csharp/Controller/System/SystemProxy.cs18-73 shadowsocks-csharp/Util/SystemProxy/Sysproxy.cs80-138 shadowsocks-csharp/Model/SysproxyConfig.cs10-27
来源:shadowsocks-csharp/Controller/System/SystemProxy.cs18-73 shadowsocks-csharp/Util/SystemProxy/Sysproxy.cs140-224 shadowsocks-csharp/Util/SystemProxy/Sysproxy.cs260-289
Shadowsocks 可以注册自身来处理 ss:// URL,使用户可以通过点击链接来添加服务器配置。
协议处理程序使用 Windows 注册表将 ss:// 协议与 Shadowsocks 应用程序关联。当用户点击 ss:// 链接时,Windows 会以 URL 作为参数启动 Shadowsocks。
来源:shadowsocks-csharp/Controller/System/ProtocolHandler.cs18-63 shadowsocks-csharp/Program.cs47-70 shadowsocks-csharp/Program.cs145-154
Shadowsocks 对 Windows 电源事件做出响应,以确保在系统挂起和恢复时正常运行。
当系统进入挂起模式时,Shadowsocks 会停止其服务,以防止恢复时出现网络问题。系统恢复后,它会等待 10 秒(以允许网络连接稳定)后再重新启动其服务。
来源:shadowsocks-csharp/Program.cs110 shadowsocks-csharp/Program.cs187-219
Shadowsocks 在启动时会检查系统兼容性,以确保其正常运行。
该应用程序验证两个关键要求
来源:shadowsocks-csharp/Program.cs83-101 shadowsocks-csharp/Util/Util.cs229-232 shadowsocks-csharp/Util/Util.cs277-303
常见的系统集成问题及解决方案
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 无法设置系统代理 | 权限问题,与其他软件冲突 | 使用“重置系统代理”选项,重新启动应用程序 |
| 自动启动未生效 | 注册表权限问题,杀毒软件阻止 | 在杀毒软件中添加例外,尝试以管理员身份运行一次 |
| ss:// 链接无效 | 协议处理程序未正确注册 | 在设置中重新启用协议处理程序 |
| 应用程序在睡眠/恢复时崩溃 | 网络适配器问题 | 更新网络适配器驱动程序 |
| 系统代理设置丢失 | 意外的应用程序终止 | 设置将在下次启动时恢复 |
当发生系统代理错误时,应用程序将提供重置系统代理设置至默认值的选项。这通常可以解决与其他应用程序可能修改了代理设置的冲突。
来源:shadowsocks-csharp/Controller/System/SystemProxy.cs56-72 shadowsocks-csharp/Util/SystemProxy/Sysproxy.cs121-138
Shadowsocks 可以检测并适应 Windows 系统主题(浅色/深色模式),适用于 Windows 10 版本 1903 及更高版本。
该应用程序会检查 Windows 注册表以确定当前系统主题设置,从而能够相应地调整其 UI。
来源:shadowsocks-csharp/Util/Util.cs68-94
Shadowsocks Windows 深度集成了 Windows 操作系统,以提供无缝体验。系统集成组件协同工作,以管理自动启动、配置系统代理设置、处理协议 URL 以及响应系统电源事件。
了解这些集成点对于排查问题的用户和希望扩展应用程序功能性的开发人员都至关重要。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(891d97)