Я хочу настроить прокси-сервер кеша для магазина Apple Itunes, чтобы ускорить загрузку приложений в локальной сети.
Ситуация:
Для загрузки приложения itunes должно быть связано с авторизацией пользователя и покупкой, кажется, нет очевидного способа сделать кеш.
Так возможно ли это ускорение и как?
Обновить:
Apple сделала кеширование контента доступной функцией в несерверной версии MacOS, начиная с High Sierra.
https://support.apple.com/guide/mac-help/about-content-caching-mchl9388ba1b/10.13/mac/10.13
Я согласен с ответами выше, вероятно, нелегко сделать то, что вы сказали, с использованием сторонних приложений.
НО
У Apple есть собственное решение для этого, OS X Server, у него есть функция Caching server:
https://www.apple.com/osx/server/features/#caching-server
Кэширующий сервер ускоряет загрузку и доставку программного обеспечения через App Store, Mac App Store, iTunes Store, iTunes U и iBooks Store. И теперь его можно использовать в еще большем количестве сетевых сред, поскольку он поддерживает кэширование контента в сетях без NAT. Когда пользователь в вашей сети загружает новое программное обеспечение от Apple, его копия автоматически сохраняется на вашем сервере. Поэтому в следующий раз, когда другие пользователи в вашей сети обновят или загрузят то же программное обеспечение, они фактически получат доступ к нему изнутри сети.
Это не бесплатно, но делает то, что вы хотите
Вам нужно будет настроить локальный прокси-сервер MITM SSL, а затем перенаправить трафик на прокси-сервер кеша для фактических битов загрузки. Это может сработать, если iTunes / iOS не выполняет криптографическую проверку представленного сертификата SSL. В таком случае это будет невозможно. Стоит проверить прокси-сервер MITM SSL, чтобы узнать, можете ли вы подделать сертификат через ... если это сработает, тогда все станет на свои места.
Покупки в iTunes осуществляются через SSL, поэтому это невероятно сложно. Вдобавок ко всему, UUID для каждого устройства теперь (обычно) привязан к каждой загрузке, так что каждая загрузка на самом деле немного отличается.
Это не будет работать так, как вы этого хотите.
Это, вероятно, невозможно, поскольку я думаю, что iTunes передает только по защищенному каналу SSL и, следовательно, не может быть перехвачен без большого количества взлома и специального программного обеспечения. Я думаю, что их намерение состоит в том, чтобы вы не могли легко получить пакеты программного обеспечения.
Вы можете попробовать SSL MITM (Man in the Middle) Proxy, они доступны как коммерчески, так и с открытым исходным кодом (ly).
Следует помнить о двух вещах: если iTunes выполняет строгую проверку полей сертификата, это может не сработать. И, как упоминалось выше @MDmarra, UUID устройства могут быть проблемой. Это полностью зависит от приложения (iTunes).
... прокси-запросы HTTPS завершаются прокси-сервером и повторно отправляются на удаленный веб-сервер. Сертификаты сервера, представленные клиенту (т.е. веб-браузеру), динамически генерируются / подписываются прокси-сервером и содержат большинство тех же полей, что и исходный сертификат веб-сервера. DN субъекта, серийный номер, даты действия и расширения сохраняются. Однако теперь DN эмитента устанавливается равным имени самозаверяющего сертификата прокси, и при создании поддельного сертификата используются открытые / закрытые ключи прокси. Эти поддельные сертификаты кэшируются (в памяти) прокси-сервером для повышения производительности.
Из: http://crypto.stanford.edu/ssl-mitm/
Также хороший анализ проблем от кого-то, кто пробовал то же самое:
https://nabla-c0d3.github.io/blog/2013/08/20/intercepting-the-app-stores-traffic-on-ios/
В этой статье упоминается приложение под названием iOS SSL Kill Switch. Это не совсем то, что вам нужно, но может быть частью головоломки.