旗舰之作,自主研发
在点对点之上构建一个远程访问平台
我们的旗舰之作,正是本网站所属的这座平台:一个跨越严苛网络连通两台机器(只要网络允许便直接连通)、并把时延控制得足以支持实时屏幕操控的系统。其 Windows 客户端目前处于早期访问阶段。因为它是我们自己的,我们可以公开地谈论它。
Rust 与 Go
编程语言
早期访问
Windows 客户端
全程加密
每一次会话
以代码定义
基础设施
作为第一方旗舰之作呈现:Vexaro 自有的平台,也就是本网站所属的这款产品。客户合作均严格保密,因此我们能够公开谈论的作品,便是我们自己的。
挑战
连接那些互联网本不愿连通的机器
硬性要求是在两台机器之间建立直连,而中间的网络恰恰是为了阻止这种连接而设计的。既不能让每次会话都经数据中心中转,又要快到足以支持实时、可交互的屏幕操控。平台的其他一切,都建立在解决这个难题的基础上。
难在何处
- 穿越 NAT 与受限防火墙建立直连
- 把时延控制得足以支持实时屏幕操控,而不只是文件传输
- 出于成本与隐私考量,避免每次会话都经由数据中心中转
- 让每一次会话都经过加密,并让每一方确认与之相连的究竟是谁
我们构建的内容
四个层级,各用其最合适的工具
我们为每一层选择合适的语言与架构,而不是把一套技术栈强加给整个系统。我们在客户项目中也运用同样的判断力。
1
兼顾速度与安全的 Rust 内核
网络允许时直接连通,否则经由经过身份验证的中继连接。每次会话都经过加密,每一方的身份都经过验证。对性能要求最高的内核用 Rust 编写,以保证内存安全和可预测的延迟。
2
一个 Go 后端
账户、设备与访问规则由一个用 Go 编写的后端处理。这一层最看重可读性与快速迭代。
3
桌面与移动客户端
一款目前处于早期访问阶段的 Windows 桌面应用,以及一款仍在开发中的移动客户端。
4
基础设施即代码
每一个环境都以代码定义,内置监控、日志与备份;另提供 Kubernetes 方案,用于自托管的 Enterprise 安装。
成果
一座我们每天都在其上运行的平台
我们用能力与架构来描述成果,而不是编造数字。这是我们实际运营的系统,也证明我们能把难做的事情真正做出来,而不只是说说而已。
它实现了什么
- 只要网络允许,会话便直接连通;否则经由经过身份验证的中继连接
- 实时远程操控保持响应,视频可随网络状况自适应
- 基础设施可以从代码完整复现
- 直连会话为端到端加密;当网络迫使连接经由中继时,流量在经过 Vexaro 运营的中继传输期间仍保持加密
技术栈
平台背后的技术栈
编程语言
Rust 与 Go。
客户端
Windows 桌面应用处于早期访问阶段,移动客户端正在开发中。
基础设施与数据
容器与基础设施即代码,内置监控、日志与备份。