Parall について

Parall が存在する理由、ショートカット用パッケージの仕組み、ローカルでプライバシー重視の設計を支える技術的選択。

独自の macOS エンジニアリング

既存の手順ではなく、研究から生まれた技術

Parall の中核は公開資料から組み立てられるものではありませんでした。必要となるアプリの挙動が文書化されていないためです。macOS アプリのアーキテクチャを長年リバースエンジニアリングし、個々のアプリを検証し、実際に機能する方法に基づいてエンジンを磨き続けた結果です。

文書化されていない挙動を直接調査

Parall の互換性プロファイルは、各対象アプリの起動方法、データ保存方法、別プロセスの扱い、Dock との連携を直接観察して作られています。Spotlight、Raycast、Alfred から開いたときにショートカットが正しく動作することも、同じリバースエンジニアリングの成果です。macOS やアプリが変化するたびに、この調査も続きます。

スクリプトやアプリのコピー以上の仕組み

スクリプトでも別のプロセスを起動できる場合があります。Parall が解決するのは、対応インスタンスに実用的な独自のアイデンティティと Dock の動作を与え、対象アプリが許す場合には、元アプリとのつながりを保ちながらデータ、アカウント、プロファイル、設定も分離するという、より難しい課題です。

元アプリの署名と更新機能を維持

Parall は対象アプリを変更せず、特定のバージョンに固定もしません。各ショートカットはインストール済みの元アプリを引き続き起動するため、元アプリのコード署名が保たれ、内蔵アップデーターも動作し続けられます。アプリが更新されると、すべてのショートカットは再起動後に新しいバージョンを使います。アプリの更新にはセキュリティ脆弱性の修正が含まれることが多いため、これは重要です。

非公開 API もアプリの変更も不使用

調査結果は、Parall が標準の macOS 起動メカニズムをどう構成するかを決めるために使われます。Parall は非公開 API を使わず、コードの注入やパッチも行わず、macOS や元アプリを変更しません。

その成果は、人が主導する独自のエンジニアリングです。Parall のエンジンは人工知能への指示で生成したものでも公開された手順をコピーしたものでもなく、Ihor July が設計、実装、テスト、保守しています。

Parall が存在する理由

10年以上、同じアプリの複数インスタンスを実行するときの macOS の制限に向き合ってきました。以前は自分用にスクリプト化したアプリバンドルを作って回避していましたが、一般ユーザーがそのようなアプリ風ショートカットを簡単かつきれいに作る方法がないことに気づきました。Parall はそのワークフローを、マルチインスタンス対応のアプリショートカット作成に特化した初めてのツールにします。

Parall は Chrome ベース、Firefox ベース、ToDesktop ベースのすべてのアプリに加え、高度な HOME リダイレクト機能を通じて大部分のサンドボックスなしアプリで自動データ分離をサポートします。互換アプリの詳しい最新一覧は、互換性ページをご覧ください。

マルチインスタンスモードが不要な場合でも、Parall では Web サイト、アプリ、ファイル、フォルダ、コマンドのショートカットを独自のアイデンティティと起動設定付きで作成できます。アプリショートカットでは、カスタムコマンドライン引数を追加したり、HOME を含む環境変数を上書きしたりして、動作の制御、プロファイル選択、データパスのリダイレクトができます。HOME 上書きは、互換性に必要な macOS リンクを保持しながら、コンテナのような構造を構築します。

そのショートカットにだけ適用されるカスタム環境変数を定義できます。細かな設定、デバッグ、プロジェクトごとの環境に最適です。Parall は Arduino IDE もサポートしており、異なる toolchain、ボード、ライブラリを持つ分離された開発環境を並べて実行できます。

教育用ラボや教室では、ショートカット終了時に Parall がリダイレクトされたデータストレージを自動的に消去できます。学生の実験ごとに手動で片付けることなく、毎回きれいな状態から始められます。

Parall が重要な理由

Parall は、同じ macOS アプリの複数インスタンスを、それぞれ独自の Dock アイコンと設定を持つ別々のアプリのように起動することを、これまでになく簡単にします。回避策や複雑なスクリプトに頼るのではなく、Parall は複数のアプリインスタンスを起動する独立ショートカットを作成し、複数のプロファイルやセッションを同時に使えるようにします。

各ショートカットは元のアプリバンドルに直接接続されたままです。そのため、元アプリが更新されると、Parall で作成したすべてのショートカットも自動的に更新後のバージョンを使用します。作り直したり手動で保守したりする必要はありません。

Parall には高度な環境管理が含まれており、各アプリインスタンスがデータを保存し分離する方法を細かく制御できます。これにより、macOS 上で複数の分離された Philips Hue Sync インスタンスを実行し、異なるディスプレイに専用 LED 設定を割り当ててもインスタンス同士が重ならないようにする、といった高度なワークフローも可能になります。

誰が作ったのか

私は Ihor July です。サイバーセキュリティ専門家兼リバースエンジニアとして、安全でプライバシーを尊重する macOS ツールに注力しながら Parall を開発しています。また、複数ディスプレイで Dock の動作を制御する Mac Dock ユーティリティ DockLock Pro、アプリを開く前に署名、サンドボックス、権限、内部コンポーネントをわかりやすいレポートへ変換するローカル優先の Mac アプリ検査ツール App Trust Preview、macOS に収まるプレーンテキストのロック画面メッセージを設計、プレビュー、コピーする Mac ユーティリティ LockLines の開発者でもあります。

Parall は私自身が設計、実装、テストしています。アプリコードを書き、すべての変更を検証し、複数のアプリで使う再利用可能な Objective-C フレームワークを保守しています。人工知能とオンライン検索はバグ調査、境界ケース、文章、翻訳を補助しますが、中核エンジン、アプリごとの互換性調査、実装、テストは私自身のリバースエンジニアリングとコードによるものです。

このアプリは性能のために C++ でネイティブに構築され、最大限の安全性のためにサンドボックス化されています。Parall は、macOS ユーザー向けに実用的でプライバシー優先の解決策を届けるための長年の研究開発を反映しています。

ショートカット用パッケージについて

Parall が作成するショートカットは、対象アプリのバイナリを直接実行する独立した macOS アプリバンドルです。これらのショートカットバンドルは、設計上サンドボックス化されていません。追加の層を介さず、元のアプリケーションを直接起動する必要があるためです。

アプリバンドルに変更を加えると元の署名が失われるため、各ショートカットは未署名です。macOS はショートカットが「別のアプリを変更しようとしている」というメッセージを表示することがありますが、これは変更ではなくアクセスによって発生する一般的なシステム通知です。Parall はシステムファイルやアプリケーションを変更しません。

設計上、Parall は元アプリの構造と設定を反映するショートカットバンドルだけを作成します。既存のアプリやオペレーティングシステムに変更、注入、書き込みを行うことはなく、Mac を安全で変更されていない状態に保ちます。