Put your lights on!

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

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

Важное дополнение от 31/03/2021

Возможность блокировки обновлений с помощью профиля tvOS вернулась! Скачиваем профиль здесь (смотрим на последний блок tvOS 14, Block OTA Update). Устанавливаем так, как описано здесь.
Тем не менее, все что написано ниже тоже работает. Кроме того, тоже самое можно сделать с помощью AdGuard Pro for iOS. С ней вы и рекламу заблокировать сможете.

Суть первого сводиться к блокировке 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!

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

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

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

Архивы

Рубрики

Мета