v2ray / Planning

Deprecated. Please use v2ray-core for feature requests
60 stars 13 forks source link

服务器信息订阅协议 #53

Closed DarienRaymond closed 6 years ago

DarienRaymond commented 6 years ago

本提案描述了一个服务商向客户端发送服务器信息的方法。

背景

在一些情况下,服务器的管理员无法直接控制客户端,比如亲友的手机,或者专门的服务提供商。手动通知用户修改配置耗时太长,不利于服务器更新。

目标

本提案提供一种安全的方式,可以让服务器管理员通过自动化工具,将服务器改动通知其用户。

概况

  1. 服务商必须预先准备服务器的连接信息。
  2. 服务商必须提供一个 HTTPS 地址 A 用于客户端获取服务器更新的信息。
  3. 服务商必须提供一种方式 B,用于让用户获取 A 的访问令牌。B 可以是 A 的一部分。
  4. 用户可以定期向 B 发送请求,以获取最新的令牌。
  5. 服务商在验证用户的有效性之后,向用户发送令牌。令牌可能会在一段时间后过期。
  6. 在拥有令牌之后,用户可以向 A 发送请求以获取最新的服务器信息。

关于令牌的使用

  1. 令牌可以减轻 A 的负担,即服务器只需要验证令牌的有效性,而不必实时连接后端数据库来获取用户信息。
  2. 令牌可用于隐藏 A 的地址。当令牌中包含服务器地址时,只有有效的用户才可以获得 A 的地址。

详细设计

服务器 A

底层协议

服务器 A 必须提供 HTTPS 的访问,并且配备有效的 TLS 证书。

访问方式

服务器提供以下的 API:

GET /api/server/endpoint

(未完待续,未完成前不能评论)