Browserly: маршрутизация ссылок по браузерам

Browserly

Browserly — умное приложение в меню-баре macOS, которое направляет ссылки в нужный браузер по заданным правилам.

Поповер Browserly в меню-баре

Возможности

  • Правила по доменам — открывать github.com в Chrome, twitter.com в Safari;

  • правила по регулярным выражениям — сопоставление любой части URL;

  • правила по приложению-источнику — маршрутизация по тому, какое приложение открыло ссылку (например, Slack → рабочий Chrome);

  • профили браузеров — нацеливание на конкретные профили Chrome/Edge/Brave;

  • режим инкогнито — открытие подходящих ссылок в приватных окнах;

  • приложение в меню-баре — живёт в меню-баре, без иконки в Dock.

Установка

Скачайте свежий DMG со страницы GitHub Releases, откройте и перетащите Browserly в папку «Программы». Приложение не нотаризовано, поэтому при первом запуске macOS его заблокирует. Снимите флаг карантина:

xattr -d -r com.apple.quarantine /Applications/Browserly.app

Использование

  1. Откройте Browserly — он появится в меню-баре.

  2. Нажмите на иконку и выберите Set Default, чтобы зарегистрировать приложение браузером по умолчанию.

  3. Отметьте Launch at Login для автозапуска при включении Mac.

  4. Отредактируйте конфигурацию, задав правила маршрутизации.

  5. Все перехваченные URL теперь маршрутизируются по вашим правилам.

Проверить маршрутизацию без смены браузера по умолчанию можно, передав URL напрямую:

swift run Browserly "https://github.com"

Конфигурация

Файл конфигурации: ~/Library/Application Support/Browserly/config.json.

Типы правил:

  • domain — сопоставление с хостом URL (например, github.com);

  • regex — сопоставление со всем URL (например, .[?&]debug=true.);

  • sourceApp — сопоставление с bundle ID приложения-источника (например, com.tinyspeck.slackmacgap).

Параметры браузера: profileDirectory задаёт профиль Chromium (например, Profile 1), а isIncognito: true открывает ссылку в приватном окне. Пример конфигурации:

{
  "defaultBrowserId": "com-apple-safari",
  "browsers": [
    { "id": "com-apple-safari", "name": "Safari", "bundleId": "com.apple.Safari" },
    { "id": "chrome-work", "name": "Chrome (Work)", "bundleId": "com.google.Chrome", "profileDirectory": "Profile 1" }
  ],
  "rules": [
    { "name": "Work Domain", "type": "domain", "pattern": "github.com", "targetBrowserId": "chrome-work" },
    { "name": "Social", "type": "regex", "pattern": ".*(twitter|facebook|instagram)\.com", "targetBrowserId": "com-apple-safari" }
  ]
}

Сборка из исходников

Требуется Swift 5.9+ и macOS 14 (Sonoma) или новее.

swift build              # отладочная сборка
swift build -c release   # релизная сборка
swift test               # полный набор тестов (нужен Xcode)

Исходный код: github.com/andyzasl/browserly.

© 2026 meganuke