本页面介绍了 Shadowsocks Windows 中的二维码和服务器共享功能,该功能允许用户将服务器配置导出为二维码或 URL,以便与其他 Shadowsocks 客户端共享。有关管理服务器配置的信息,请参阅服务器管理。
服务器共享系统提供了一种便捷的方式,可以在设备或用户之间传输服务器配置,而无需手动输入连接详细信息。它能从任何已配置的服务器生成二维码图像和 URL 字符串,这些二维码或 URL 可被其他 Shadowsocks 客户端扫描或导入。
来源:shadowsocks-csharp/ViewModels/ServerSharingViewModel.cs15-47 shadowsocks-csharp/Views/ServerSharingView.xaml1-53
ServerSharingViewModel 类负责服务器共享功能的业务逻辑
ServerSharingView 用户控件为该功能提供用户界面
来源:shadowsocks-csharp/ViewModels/ServerSharingViewModel.cs15-47 shadowsocks-csharp/Views/ServerSharingView.xaml16-52
当选择一个服务器时,视图模型会生成该服务器配置的 URL 表示。该 URL 包含另一个 Shadowsocks 客户端连接到服务器所需的所有信息。
Server 对象上的 GetURL 方法生成 URL生成的 URL 可以有两种格式
ss://[base64-encoded-server-info]@[server]:[port]#[tag]ss://[method]:[password]@[server]:[port]/?plugin=[plugin-info]#[tag]二维码在服务器被选择后通过以下过程生成
来源:shadowsocks-csharp/ViewModels/ServerSharingViewModel.cs52-94
URL 生成发生在服务器被选择时,触发 UpdateUrlAndImage 方法
SelectedServerUrl 通过调用 SelectedServer.GetURL() 方法并传入配置中的旧版 URL 标志来设置二维码生成在 UpdateUrlAndImage 方法中进行
BitmapImage 以在用户界面中显示分步实现
来源:shadowsocks-csharp/ViewModels/ServerSharingViewModel.cs52-94
服务器共享用户界面包含以下元素
| UI 元素 | 目的 |
|---|---|
| 二维码图像 | 显示所选服务器的二维码 |
| 服务器列表 | 允许用户选择要共享的服务器 |
| URL 文本框 | 显示所选服务器的文本 URL |
| 复制按钮 | 将 URL 复制到剪贴板 |
该界面设计得直观简洁
服务器共享功能使用 ReactiveUI 在视图模型和视图之间进行数据绑定
来源:shadowsocks-csharp/Views/ServerSharingView.xaml.cs17-40
服务器共享功能的典型用法
其他 Shadowsocks 客户端可以通过以下方式导入服务器
服务器共享系统与 Shadowsocks 配置系统交互以访问服务器详细信息
来源:shadowsocks-csharp/ViewModels/ServerSharingViewModel.cs20-24
二维码和服务器共享功能为用户共享 Shadowsocks 服务器配置提供了便捷的方式。它能自动从服务器详细信息生成二维码和 URL,从而方便地将配置传输到其他设备或用户。该系统采用 MVVM 模式构建,并使用 ReactiveUI 实现关注点的清晰分离和响应式数据绑定。