关于 Parall

Parall 为何存在、快捷方式包如何工作,以及其本地隐私优先设计背后的技术选择。

原创 macOS 工程

源于研究,而不是套用现成方案

Parall 的核心无法根据公开文档拼装出来,因为它所依赖的应用行为并没有文档说明。它来自多年对 macOS 应用架构的逆向工程、对各个应用的实际测试,以及围绕真正有效的方法持续改进引擎。

直接研究未公开的行为

Parall 的兼容性配置来自对每个目标应用的直接观察,包括它如何启动、存储数据、处理独立进程以及与 Dock 交互。快捷方式从 Spotlight、Raycast 和 Alfred 打开时仍能正确工作,也是这项逆向工程的成果。随着 macOS 和应用变化,这项工作也会持续进行。

不只是脚本或应用副本

脚本有时也能启动另一个进程。Parall 解决的是更难的问题,让受支持的实例拥有真正可用的独立身份和 Dock 行为,并在目标应用允许时分离数据、账号、配置文件和设置,同时继续连接原始应用。

保留原始应用签名和更新能力

Parall 不会修改目标应用,也不会把它固定在某个版本。每个快捷方式始终启动已安装的原始应用,因此能保留其代码签名,并让内置更新功能继续工作。应用更新后,所有快捷方式都会在重新启动时使用新版本。这一点很重要,因为应用更新经常修复安全漏洞。

不使用私有 API,也不修改应用

研究结果只用于决定 Parall 如何配置标准 macOS 启动机制。Parall 不使用私有 API,不注入或修补代码,也不修改 macOS 或原始应用。

最终成果是由人主导的原创工程。Parall 引擎由 Ihor July 亲自设计、编写、测试和维护,而不是通过人工智能提示词生成,也不是照搬公开方案。

Parall 为什么存在

十多年来,我一直在处理 macOS 运行同一应用多个实例时的限制。我曾为自己构建脚本化应用包来绕过这些限制,后来意识到普通用户没有一种简单且完善的方式来创建这种像应用一样工作的快捷方式。Parall 把这个流程变成同类中的第一款工具,专门用于创建支持多实例的应用快捷方式。

Parall 支持对所有基于 Chrome、Firefox 和 ToDesktop 的应用自动隔离数据,也可通过高级 HOME 重定向功能支持大多数其他非沙盒应用。有关兼容应用的详细和最新列表,请访问兼容性页面。

即使不需要多实例模式,你仍然可以用 Parall 创建带有独立身份和启动配置的网站、应用、文件、文件夹或命令快捷方式。应用快捷方式可以添加自定义命令行参数,或覆盖包括 HOME 在内的环境变量,以控制行为、选择配置文件或重定向数据路径。HOME 覆盖会构建类似容器的结构,同时保留关键 macOS 链接以确保兼容性。

你可以定义只应用于该快捷方式的自定义环境变量,非常适合精细配置、调试或按项目设置环境。Parall 还支持 Arduino IDE,让你可以并排运行带有不同 toolchain、开发板和库的独立开发环境。

对于教学实验室和课堂,Parall 可以在快捷方式退出时自动清除其重定向的数据存储。这样学生实验的每次会话都能从干净状态开始,无需手动清理。

Parall 为什么重要

Parall 让启动同一个 macOS 应用的多个实例比以往更简单。每个实例都有自己的 Dock 图标和配置,就像独立应用一样。你不必依赖临时方案或复杂脚本,Parall 会创建独立快捷方式来启动多个应用实例,让你可以同时使用多个配置文件或会话。

每个快捷方式都会直接连接到原始应用包。这意味着只要原始应用更新,所有用 Parall 创建的快捷方式也会自动使用更新后的版本。你无需重新创建或手动维护它们。

Parall 包含高级环境管理,让你精确控制每个应用实例如何存储和分离数据。这也支持高级流程,例如在 macOS 上运行多个分离的 Philips Hue Sync 实例,让不同显示器使用各自专用的 LED 设置,而不会发生实例重叠。

谁创建了 Parall

我是 Ihor July,以网络安全专家和逆向工程师的身份开发 Parall,专注于安全且尊重隐私的 macOS 工具。我也是 DockLock Pro 的开发者,它是用于控制多个显示器上 Dock 行为的 Mac Dock 工具;也是 App Trust Preview 的开发者,这是一款本地优先的 Mac 应用检查工具,可在打开应用前把签名、沙盒、权限和内部组件转换成易读报告;也是 LockLines 的开发者,这是一款用于设计、预览和复制适合 macOS 的纯文本锁定屏幕消息的 Mac 工具。

Parall 由我亲自设计、编写和测试。我负责应用代码,验证每一处改动,并维护供多个应用使用的 Objective-C 框架。人工智能和在线搜索可以协助研究错误、边缘情况、文字和翻译,但核心引擎、每个应用的兼容性研究、具体实现和测试都来自我自己的逆向工程和代码。

这款应用使用 C++ 原生构建以保证性能,并在沙盒中运行以最大化安全性。Parall 体现了多年研究和开发,目标是为 macOS 用户提供实用且隐私优先的解决方案。

关于快捷方式包

Parall 创建的快捷方式是独立的 macOS 应用包,会直接执行目标应用的二进制文件。这些快捷方式包按设计不使用沙盒,因为它们必须在没有额外层的情况下直接启动原始应用。

每个快捷方式都未签名,因为任何对应用包的修改都会移除其原始签名。macOS 可能会显示一条消息,提示快捷方式“正在尝试修改另一个应用”,但这只是由访问触发的通用系统通知,并不是由修改触发。Parall 不会修改任何系统文件或应用。

按照设计,Parall 只创建镜像原始应用结构和配置的快捷方式包。它从不更改、注入或写入现有应用或操作系统,确保你的 Mac 保持安全且不被改变。