Sill 是一款远程桌面应用程序,旨在将 Mac 窗口(或整个桌面)投射到 iPhone 或 iPad 上。与许多依赖云端基础设施的远程访问解决方案不同,Sill 完全通过点对点连接运行。这意味着数据直接在 Mac 和移动设备之间传输,确保第三方服务器永远不会看到传输的内容。该应用程序是免费且开源的,支持通过触摸、Apple Pencil、触控板和物理键盘进行交互。

iPad 通过 Sill 应用程序界面显示 Mac 天气应用。
Sill 允许用户在 iPad 上查看并与 Mac 应用程序交互,并提供用于窗口管理的专用导航栏。github.com

这张图片展示了 Sill 的主要功能:将 Mac 窗口投射到移动设备上。

其技术机制依赖于 Mac 使用 ScreenCaptureKit 捕获选定窗口,并通过 VideoToolbox 将流编码为 HEVC 视频。这种硬件加速编码在确保高质量视觉效果的同时最大限度地降低延迟。流通过加密的 TLS 1.3 连接进行传输。为了保持响应式体验,如果网络连接滞后,Sill 的设计是丢弃帧而不是将它们放入队列,从而确保用户始终看到 Mac 显示器的最新状态。用户输入(如点击、点击和键盘按键)被发送回 Mac,并使用 macOS 辅助功能权限转换为系统事件。

iPad 上的 Sill 设置菜单,显示质量、分辨率和帧率选项。
用户可以在应用的设置中自定义流质量、分辨率和帧率,以平衡性能和视觉保真度。github.com

这张图片与编码技术机制和保持响应式体验有关。

连接处理取决于用户的所在地。在本地网络上,Sill 使用 Bonjour 来发现 Mac,并提供通过 USB 线连接以获得有线体验的选项。对于没有共享网络的点对点连接,它利用直接无线连接(类似于 AirDrop 的技术)。当用户不在家时,该应用支持通过个人 VPN(如 Tailscale)或通过端口转发进行远程访问。虽然该应用提供了无缝体验,但它有一些特定的限制:它不传输来自 Mac 的音频,且共享剪贴板仅限于 256 KB 以下的文本。此外,该应用要求 Mac 保持唤醒状态以维持会话,并且目前不支持从 Mac 控制 iPhone 应用的“反向”模式。

iPad 上的 Sill 连接屏幕,显示可用 Mac 列表。
Sill 促进点对点连接,允许用户通过有线或无线方法与他们的 Mac 配对。github.com

此视觉效果支持对各种连接方法的描述,包括有线和无线选项。