服务器配置UI是Shadowsocks Windows客户端的核心组件,提供了一个用于管理代理服务器连接的界面。本页面介绍了服务器配置对话框的结构、功能和工作流程,该对话框允许用户添加、编辑、删除和管理Shadowsocks服务器配置。
有关配置系统代理的信息,请参阅系统代理配置。
服务器配置UI作为Windows Forms对话框(ConfigForm)实现,提供了一个全面的界面用于管理Shadowsocks服务器配置。它使用户能够:
来源:shadowsocks-csharp/View/ConfigForm.cs12-621
ConfigForm是一个双面板界面,结合了列表视图和详细编辑表单。左侧面板显示所有已配置的服务器,而右侧面板显示所选服务器的详细属性。
来源:shadowsocks-csharp/View/ConfigForm.Designer.cs29-607
下表显示了可配置的服务器属性:
| 属性 | 描述 | 验证 |
|---|---|---|
| 服务器IP/主机名 | Shadowsocks服务器地址 | 必须是有效的主机名或IP地址 |
| 服务器端口 | 服务器监听的端口号 | 必须是有效整数 |
| 密码 | 服务器的认证密码 | 不能为空 |
| 加密 | 使用的加密算法 | 从预定义列表中选择 |
| 插件程序 | 用于扩展功能的可选SIP003插件 | 可选 |
| 插件选项 | 插件的配置选项 | 可选 |
| 插件参数 | 插件的命令行参数 | 可选,仅在选中“需要插件参数”时显示 |
| 备注 | 用户定义的服务器备注 | 可选 |
| 超时 | 连接超时(秒) | 必须是有效整数 |
| 分组 | 服务器分组 | 此界面中只读 |
来源:shadowsocks-csharp/View/ConfigForm.cs166-193 shadowsocks-csharp/Model/Server.cs15-148
服务器配置UI提供了多种加密方法来保护代理连接。这些方法在EncryptionMethod类中定义,并显示在下拉菜单中。
可用的加密方法包括:
默认方法是“chacha20-ietf-poly1305”,如Server类中定义。
来源:shadowsocks-csharp/View/ConfigForm.cs22-86 shadowsocks-csharp/Model/Server.cs17
UI提供了多种操作来管理服务器列表:
点击“添加”按钮时,会创建一个新的默认服务器并添加到配置中。然后服务器列表会更新,新服务器被选中以进行编辑。
来源:shadowsocks-csharp/View/ConfigForm.cs497-504
“复制”按钮会创建当前所选服务器的副本,并将其插入到列表中当前位置之后。
来源:shadowsocks-csharp/View/ConfigForm.cs506-515
“删除”按钮会从配置中移除当前所选服务器。如果删除了最后一个服务器,会自动创建一个新的默认服务器。
来源:shadowsocks-csharp/View/ConfigForm.cs517-535
“上移”和“下移”按钮允许重新排序列表中的服务器。
来源:shadowsocks-csharp/View/ConfigForm.cs544-577
ConfigForm实现了健壮的验证系统,以确保配置的完整性。当用户编辑服务器详细信息时,表单会在保存更改之前验证输入。
来源:shadowsocks-csharp/View/ConfigForm.cs138-212 shadowsocks-csharp/View/ConfigForm.cs216-368
ConfigForm与ShadowsocksController交互以加载和保存配置。控制器负责将更改应用到运行中的系统。
配置工作流程如下:
来源:shadowsocks-csharp/View/ConfigForm.cs88-104 shadowsocks-csharp/View/ConfigForm.cs418-437 shadowsocks-csharp/View/ConfigForm.cs439-458
服务器配置UI包含多项功能以提升用户体验:
来源:shadowsocks-csharp/View/ConfigForm.cs112-136 shadowsocks-csharp/View/ConfigForm.cs607-616
除了服务器特定设置,ConfigForm还提供了应用程序范围设置的配置:
这些设置在保存配置时应用。
来源:shadowsocks-csharp/View/ConfigForm.cs446-450
有关相关组件的更多信息,请参阅: