Проблемы совместимости с различными версиями macOS
В этой статье рассказывается об AdGuard для Mac — многофункциональном блокировщике рекламы, который защищает ваше устройство на системном уровне. Чтобы увидеть, как он работает, скачайте приложение AdGuard
Известные проблемы
Каждый год Apple выпускает новую версию macOS, внедряя инновационные решения и добавляя полезные функции. Но некоторые из них, такие как Network Extensions API (Big Sur) или iCloud Private Relay (Monterey), вызывают проблемы у многих приложений, и AdGuard не исключение. В этой статье мы рассмотрим известные проблемы, характерные для каждой версии macOS, и возможные способы их решения.
Монтерей 12: известные проблемы
Эти проблемы ещё не устранены компанией Apple или устранены лишь частично.
Совместимость с iCloud Private Relay
В настоящее время AdGuard и iCloud Private Relay не могут работать одновременно. AdGuard не может блокировать рекламу, так как iCloud Private Relay шифрует трафик до того, как AdGuard сможет фильтровать сетевые соединения. Использование iCloud Private Relay блокирует любую фильтрацию, включая локальную. Таким образом, AdGuard не может фильтровать трафик или выполнять DNS-фильтрацию в Safari. Поэтому по умолчанию AdGuard использует "default route", который отключает iCloud Private Relay.
Для более глубокого понимания этой проблемы читайте эту статью.
Рекомендуемое решение
Мы рекомендуем использовать AdGuard вместе с более традиционным VPN-сервисом, таким как AdGuard VPN.
Альтернативное решение
Вы можете запретить AdGuard использовать "default route", отключив последний. Это можно сделать через Расширенные настройки → network.extension.monterey.force.split.tunnel
. Имейте в виду, что в этом случае вы столкнётесь с проблемами, описанными выше.
Совместимость с Защитой конфиденциальности в Почте
Приложение Почта Apple теперь использует прокси-сервер для скрытия IP-адреса пользователя при загрузке изображений из электронных писем. Но эта функция не работает при наличии активного VPN-соединения. Поскольку AdGuard рассматривается Почтой Apple как VPN, изображения не загружаются автоматически.
Для более глубокого понимания этой проблемы читайте эту статью.
Рекомендуемое решение
Мы рекомендуем использовать более традиционный VPN-сервис, такой как AdGuard VPN, вместо более новых функций конфиденциальности Apple.
Monterey 12, Big Sur 11.6 и более поздние версии: существующие проблемы
Эти проблемы ещё не устранены компанией Apple или устранены лишь частично.
Совместимость с Cisco AnyConnect
AdGuard не будет работать вместе с Cisco AnyConnect, если находится в режиме фильтрации Network Extension. Вам нужно переключить AdGuard в режим Автоматический прокси. Чтобы сделать это, следуйте инструкции.
Совместимость с Flutter
Эта проблема решена в релизе Flutter 2.2, выпущенном в июне 2021 года. Но для приложений, разработанных на Flutter, проблема остаётся актуальной до выпуска обновлений.
Если вы используете Flutter параллельно с AdGuard в режиме Network Extension (или с любым другим приложением типа Transparent Proxy) на Monterey или Big Sur, вы столкнётесь с проблемами: проекты не будут открываться, а Flutter будет фактически сломан. Мы уже сообщили Apple об этом баге. Тем временем, вы можете использовать одно из этих временных решений:
Используйте AdGuard в режиме Автоматический прокси.
Отключите SIP и переключите AdGuard в режим Расширение Kernel по инструкции.
VPN-приложения со старым API
Несмотря на то, что AdGuard отображается в системных настройках как VPN, конфликтов с другими приложениями на основе VPN возникнуть не должно. Но если используется VPN-приложение, загруженное не из App Store, есть риск, что оно использует старый VPN API и должно быть исключено из фильтрации:
- Откройте меню AdGuard.
- Выберите Настройки....
- Переключитесь на вкладку Сеть.
- Кликните по кнопке Приложения....
- Найдите приложение, которое вы хотите добавить в исключения, и уберите галочку напротив него.
Исправленные проблемы
Эти проблемы уже решены разработчиками Apple, но могут встречаться на более старых версиях macOS Big Sur.
Совместимость с Little Snitch 5
На момент написания статьи режим фильтрации «Сетевое расширение» в AdGuard не совместим с Little Snitch 5. Когда они оба запущены, существует риск столкнуться с проблемами в поведении различных приложений, даже если они исключены из фильтрации в AdGuard. Эта проблема вызвана багом в Big Sur, о котором мы уже проинформировали Apple. Это позволяет надеяться, что в ближайших обновлениях он будет исправлен.
Однако отключение мониторинга соединений в Little Snitch не решает проблему, поскольку это не выгружает расширение Little Snitch из системной памяти. Мы рекомендуем использовать режим фильтрации Автоматический прокси, если вы запускаете AdGuard на одном устройстве с Little Snitch под Big Sur, во всяком случае до тех пор, пока Apple не исправит данную проблему совместимости.
Совместимость с локальными прокси
Теперь AdGuard может фильтровать локальные прокси без проблем (в большинстве случаев). Если вы всё же столкнулись с какими-либо трудностями на OS 11.1 и выше или если вы используете Big Sur 11.0, уберите локальный прокси из системных настроек и настройте вышестоящий прокси в AdGuard, следуя инструкции ниже.
Чтобы настроить восходящий прокси-сервер в AdGuard for Mac в Big Sur:
- Откройте настройки AdGuard Настройки → Сеть → Исходящий прокси.
- Выберите HTTP, HTTPS, SOCKS4 или SOCKS5 в зависимости от типа прокси-сервера.
- Заполните поля:
host
— IP-адрес вашего прокси-сервера,port
— желаемый номер порта, который будет использоваться прокси-сервером,user
иpassword
— имя пользователя и пароль от вашего прокси-сервера соответственно (если требуются). Игнорируйте эти параметры, если один или оба не применимы к данному прокси.
Если у вас возникли трудности, напишите в поддержку: support@adguard.com.
Пример 1: Настройка вышестоящего прокси Shadowsocks
Здесь на примере Shadowsocks проиллюстрирована настройка upstream-прокси в AdGuard.
Прежде всего, вам потребуется настроить работу серверной части прокси-сервера. Вероятнее всего, для этого вы будете использовать JSON-файл наподобие этого (значения полей server
и password
здесь выбраны случайным образом):
{
"server":"111.222.333.444",
"server_port":8388,
"local_port":1080,
"password":"barfoo!",
"timeout":600,
"method":"chacha20-ietf-poly1305"
}
Более подробную информацию о том, как начать работу, можно найти на сайте Shadowsocks.
Затем надо установить клиент Shadowsocks на Mac. Убедитесь, что вы выбрали Ручной или Автоматический режим в настройках. Конфигурация с Global Mode работать не будет. В версиях Big Sur ниже 11.1 также не будет работать Автоматический режим.
Перейдите в Меню AdGuard → Дополнительно → Расширенные настройки... и впишите в поле Значение настройки upstream.proxy
строку socks5://localhost:1080
. Обратите внимание, что здесь необходимо использовать значение "local_port" из JSON-файла, упомянутого выше.
Поскольку Shadowsocks использует SOCKS5, вам также понадобится изменить значение настройки upstream.proxy.socks5udp
в Расширенных настройках AdGuard на true
, чтобы AdGuard направлял UDP-трафик через прокси-сервер.
Пример 2: Настройка вышестоящего прокси Surge
В версиях Big Sur 11.1 и выше не существует известных конфликтов между AdGuard и Surge. Если вы используете более старую версию Big Sur, убедитесь, что в правом нижнем углу отключён системный прокси. В противном случае Surge не будет работать вместе с AdGuard. С другой стороны, Enhanced Mode можно включать на любой версии системы, он не вызовет конфликтов.
Теперь перейдите в Настройки → Сеть → Исходящий прокси и заполните поля. Для типа прокси SOCKS5:
host
: localhostport
: 6153 Для типа прокси HTTP:host
: localhostport
: 6152
Альтернативы использованию Network Extension
Невозможно предвидеть все потенциальные проблемы, которые могут возникнуть в Big Sur и Monterey, ведь существует бесчисленное количество комбинаций железа, софта и настроек. Так что если вы всё же столкнётесь с какими-либо сложностями, пожалуйста, напишите нам в поддержку — но также вы можете попробовать одно из альтернативных решений.
Использовать режим фильтрации «Автоматический прокси»
Если вы столкнулись с проблемами в Big Sur или Monterey, которые нельзя решить способами, описанными выше, попробуйте переключить AdGuard в режим Автоматический прокси.
- Откройте меню AdGuard.
- Выберите Настройки....
- Переключитесь на вкладку Сеть.
- Кликните по кнопке Выбрать режим....
- Выберите Автоматический прокси.
AdGuard автоматически добавил .pac-файл в сетевые настройки вашего Mac, и теперь система будет распознавать AdGuard как прокси и попытается направлять через него весь трафик.
Некоторые приложения могут игнорировать эту настройку, и тогда их трафик не будет фильтроваться.
Переключение на Kernel Extension в Big Sur и Monterey
По умолчанию на Big Sur и Monterey AdGuard использует фреймворк Network Extension, так как старый фреймворк Kernel Extension там отключён. Это может вызывать проблемы совместимости, но чтобы включить Kernel Extension обратно, вам сначала потребуется отключить системную настройку безопасности (System Integrity Protection, или SIP). Чтобы отключить SIP, следуйте этой инструкции:
- Кликните по символу Apple в строке меню.
- Кликните Перезагрузить…
- Зажмите Command-R, чтобы запустить систему в режиме восстановления.
- Кликните по кнопке Утилиты.
- Выберите Терминал.
- Вбейте в появившемся окне
csrutil disable
. - Нажмите на клавиатуре клавишу Return или Enter.
- Кликните по символу Apple в строке меню.
- Кликните Перезагрузить…
Теперь, когда SIP отключён, выполните следующие шаги для включения Kernel Extension:
- Откройте меню AdGuard.
- Выберите Настройки....
- Переключитесь на вкладку Сеть.
- Кликните по кнопке Выбрать режим....
- Выберите Расширение Kernel.
- Подтвердите, что хотите переключиться на него.
Мы рекомендуем использовать этот метод только в том случае, если все остальные не дали результата, поскольку он может привести к непредвиденным последствиям.