Навіщо існує Parall
Понад десять років я стикався з обмеженнями macOS щодо запуску кількох екземплярів одного застосунку. Я створював для себе скриптові пакети застосунків, щоб обходити це, а потім зрозумів, що для звичайних користувачів немає простого й відполірованого способу запускати справді незалежні екземпляри застосунків. Parall став першим інструментом такого типу, створеним саме для розв'язання цієї проблеми без копіювання або зміни цільового застосунку.
Parall підтримує автоматичне розділення даних для сумісних застосунків на основі Chrome, Firefox, Electron, Eclipse і ToDesktop, навіть коли цільовий застосунок працює в пісочниці. Розширений режим перенаправлення HOME також підтримує багато інших сумісних застосунків. Детальний і актуальний список доступний на сторінці сумісності.
Навіть коли режим кількох екземплярів не потрібен, Parall можна використовувати для створення ярлика сайту, застосунку, файлу, папки або команди з власною ідентичністю та конфігурацією запуску. Ярлики застосунків можуть додавати власні аргументи командного рядка або перевизначати змінні середовища, включно з HOME, щоб керувати поведінкою, вибирати профілі або перенаправляти шляхи даних. Перевизначення HOME створює контейнероподібну структуру й водночас зберігає важливі macOS-посилання для сумісності.
Визначайте власні змінні середовища, які застосовуються лише до цього ярлика. Це добре підходить для точної конфігурації, налагодження або проєктних середовищ. Parall також підтримує Arduino IDE, дозволяючи запускати окремі середовища розробки з різними toolchain, платами та бібліотеками поруч.
Для навчальних лабораторій і класів Parall може автоматично стирати перенаправлене сховище даних ярлика після його завершення. Це дає змогу легко починати кожну сесію з чистого стану для студентських експериментів без ручного прибирання.
Чому Parall важливий
Parall робить запуск кількох екземплярів одного macOS-застосунку простішим, ніж будь-коли. Кожен має власну Dock-іконку й конфігурацію, наче це окремі застосунки. Замість обхідних шляхів або складних скриптів Parall створює незалежні ярлики, які запускають кілька екземплярів застосунків і дозволяють одночасно використовувати кілька профілів або сесій.
Кожен ярлик залишається напряму повʼязаним з оригінальним пакетом застосунку. Коли цільовий застосунок оновлюється, кожен ярлик Parall використовує нову версію під час наступного запуску. Ярлик не потрібно створювати заново лише через зміну цільового застосунку. Проте після оновлення Parall може знадобитися повторно створити ярлик, щоб він отримав виправлення або вдосконалення рушія ярликів.
Parall містить розширене керування середовищем, що дає точний контроль над тим, як кожен екземпляр застосунку зберігає й розділяє дані. Це також відкриває складні робочі процеси, як-от запуск кількох окремих екземплярів Philips Hue Sync у macOS, щоб різні дисплеї мали власні LED-конфігурації без перетину екземплярів.
Хто створив Parall
Я Ihor July, і я розробляю Parall як фахівець з кібербезпеки та реверс-інженерії, зосереджений на безпечних і приватних macOS-інструментах. Я також розробник DockLock Pro, Mac-утиліти для керування поведінкою Dock на кількох дисплеях, App Trust Preview, локального Mac-застосунку для перевірки застосунків, який перетворює підпис, пісочницю, дозволи й внутрішні компоненти на зрозумілі звіти перед відкриттям застосунку, LockLines, Mac-утиліти для створення, перегляду й копіювання текстових повідомлень, що вміщуються в macOS, App Archiver, Mac-утиліти, яка архівує застосунки в їхньому початковому розташуванні, щоб звільнити місце на диску, і відновлює їх під час відкриття, та DiskPress, Mac-утиліти, яка заощаджує місце завдяки вбудованому стисненню файлів і дедуплікації APFS, залишаючи файли на місці.
Я проєктую, програмую й тестую Parall. Я пишу код застосунку, перевіряю кожну зміну та підтримую повторно використовуваний фреймворк Objective-C для своїх застосунків. ШІ й онлайн-пошук допомагають досліджувати помилки та крайові випадки, працювати з текстами й перекладами, але ядро, сумісність з окремими застосунками, реалізація й тестування є результатом моєї власної зворотної інженерії та роботи над кодом.
Застосунок нативно створений на C++ для продуктивності й працює в пісочниці для максимальної безпеки. Parall відображає роки досліджень і розробки, спрямованих на практичні, приватні рішення для користувачів macOS.
Про пакети ярликів
Ярлики Parall є невеликими пакетами запуску macOS, які напряму виконують бінарний файл встановленого цільового застосунку. Вони не містять копії цільового застосунку. Ці пакети ярликів навмисно не ізольовані в пісочниці, бо мають запускати оригінальний застосунок напряму без додаткових шарів.
Кожен створений ярлик застосунку залишається окремим від підписаного цільового застосунку, чий оригінальний підпис розробника зберігається незмінним. Будь-який дозвіл або підписування, потрібні для ярлика, стосуються лише цього окремого пакета запуску. macOS може показати повідомлення, що ярлик "намагається змінити інший застосунок", але це загальне системне сповіщення, викликане доступом, а не зміною.
Parall створює лише окремий пакет запуску й конфігурацію, потрібні для запуску оригінального застосунку. Він ніколи не змінює, не інжектить, не перепідписує й не записує нічого в цільовий застосунок або операційну систему.