Put your lights on!

Как заблокировать серверы Apple для обновлений iOS?

Итак, в начале февраля 2020 г., Apple лишила всех возможности использовать профиль разработчика tvOS для предотвращения обновлений iOS. И вот этот способ уже не работает. Просто отключить автоматическое обновление в настройках — тоже не вариант. Вас задолбают предложениями обновиться и, однажды, можно нажать не ту кнопку. Если так случится, мигом удалите загрузку обновления пока не началась его установка. Ищите её в Настройки > Основные > Хранилище iPhone. Найдите программу установки, войдите во вкладку и удалите его. А теперь, о новых способах…

Суть первого сводиться к блокировке DNS-серверов обновлений Apple. Под такими в сети перечисляются вот эти серверы:

ocsp.apple.com 
world-gen.g.aaplimg.com 
mesu.apple.com gdmf.apple.com  
ocsp.int-x3.letsencrypt.org  
updates-http.cdn-apple.com  
appldnld.apple.com  
swscan.apple.com  
xp.apple.com

Был бы доступ к файлу hosts, их можно было бы перенаправить на 127.0.0.0. Кстати, это можно сделать на домашнем роутере Wi-Fi. Но в этом случае, Вы не застрахованы от того, что “обновка” прилетит при подключении к другой сетке.

Нашел пока два способа заблокировать доступ к этим серверам. Начну с наименее трудоемкого и проверенного лично.

Способ 1 — Блокировка DNS через VPN.

Скачайте бесплатную программу DNSCloak (ссылка в AppStore). Она позволяет на уровне системы блокировать нежелательные DNS-запросы. Нужные серверы можно внести в “черный список” и разрешения их имён в его IP-адрес происходить не будет. Наверняка есть и другие программы, которые это тоже могут сделать. Пишут, что в AdGuard 4 тоже буде добавлен такой функционал. Было бы не плохо… AdGuard — прекрасный блокировщик рекламы. Короче…

Шаг 1. Установите DNSCloak:

Шаг 2. Отройте программу и зайдите в настройки:

Нажмите на значок с полосочками.

Шаг 3. Во вкладке “General options” настройте так, как показано:

Включите опциии “Связь по запросу” (Connect On Demand), “Показывать значок VPN” в панели состояния (Show VPN icon) и “Кешировать ответы” (Cache responces)

Шаг 4. Загрузите этот текстовый файл с именами серверов Apple для обновления iOS. Положите его туда, где он будет доступен с телефона, например на iCloud Drive.

Шаг 5. В разделе “Blacklists & Whitelist” установите все так, как показано:

Включите функцию черного списка адресов (Enable Blacklist) и загрузите список адерессов из скачанного файла со списком серверов, указав его (Pick Blacklist file…).

Шаг 6. В расширенных настройках “Advanced Options” отметьте все, как показано ниже:

Отметьте “Пропускать проверку доступности” (Check accessibility check) и “Строгий режим” (Strict mode), чтобы приложение действовало на уровне системы.

Шаг 7. Теперь выйдите из Настроек (вернитесь в главное окно). Выберите из списка публичный сервер DNS. Рекомендую не заморачиваться и использовать серверы DNS от CloudFlare или Google:

Найдите нужный DNS-сервер в списке и нажмите “Использовать этот сервер” (Use this server).

Шаг 8. После того, как выберите сервер, запустите программу, нажав стрелочку вверху (когда запущена, показывается квадратик):

Собственно все. В панели состояния появится значок соединения через VPN. Теперь, если Вы зайдете в Настройки телефона и проверите наличие обновлений iOS, то увидите долгую попытку проверки и потом вот такое сообщение:

В чем собственно “фишка” этого способа?

Если Вам не понятно, я постараюсь кратко пояснить. Когда программа, или системная служба, хочет что-то получить из Интернет, она обращается к службе DNS (Domain Name Service) за получением IP-адреса нужного сервера . После обращения, DNS-сервер возвращает ответ, что мол сервер mesu.apple.com имеет IP-адрес 23.60.17.236. И вот теперь, зная этот IP-адрес, программа может связаться с нужным ей сервером. DNSCloak, действует как прокладка, перехватывающая все DNS-запросы на уровне системы. Запросы для серверов из черного списка — игнорирует. Вот почему Вы видите сообщение о сбое проверки обновлений. Служба обновления просто не может узнать нужный ей IP-адрес.

Об этом способе я прочел здесь. Там ещё и файлы с серверами для блокировки рекламы YouTube предлагают. Но я как-то “стестняюсь”… тем более, что есть AdGuard для этого.

Второй способ действует иначе. В нем блокируется доступ к конфигурационным файлам службы обновлений.

Способ 2 — Редактирование конфигурационных файлов iOS.

О нем я прочитал здесь. Для тех, кто не “дружит” с английским — перевожу оригинальный пост из Reddit (с моими комментариями в скобках):

Вам потребуется рабочая версия программы iMazing. Стоит 45$. Этот метод я проверил на iOS 13.3 и у меня все получилось.
1. С помощью iMazing создайте свежую резервную копию вашего вашего устройства. В настройках (Options) создания копии активируйте Backup Encryption. (Думаю, описанная мной выше прога тоже подойдет).

2. После создания копии, правый клик и выберите “Create an editable copy…” (Тут я не совсем понял. Наверное автор просто сказал открыть созданную копию для редактирования, то есть нажать Edit, после выбора копии).
3. Откройте созданную копию и идите в раздел файловой системы (File Sytem)
4. Найдите подраздел /DatabaseDomain/com.apple.xpd.launchd
5. Скопируйте из него файл disabled.plist на рабочий стол или куда-нибудь ещё.

6. Откройте его в текстовой редакторе (который не добавляет символов форматирования при сохранении)
7. Между тегами <dict> и </dict> добавьте следующие строки:

<key>com.apple.OTAPKIAssetTool</key>
<true/>
<key>com.apple.OTATaskingAgent</key>
<true/>
<key>com.apple.softwareupdateservicesd</key>
<true/> 

8. Сохраните файл с внесенными изменениями и верните измененную версию назад в iMazing, то есть замените файл в копии.
9. Потом восстановите устройство из резервной копии. Кликните Restore…
10. Скорее всего, вам нужно будет активировать опцию стирания перед восстановлением (хотя вот 
тут, китайский человек предупреждает что делать этого не нужно с аппаратами у которых eSIM).
Теперь, при проверке обновления, приложение Настройки вылетит из-за ошибки при доступе к серверам обновления (вы их заблокировали).

Я ещё этот способ не попробовал. Хотя мне он нравится больше. Но не охота платить 45$ за iMazing (ломаным ПО не хочу пользоваться). Наверное можно найти другой вариант или софт. Испытаю — напишу.

Цитирую оригинальный пост:

Удачи!

Put your lights on!

Свежие записи

Страница в соц. сетях

Подпишитесь на новости страницы и участвуйте в их обсуждении

Архивы

Рубрики

Мета