Como listar todos os arquivos IPSW de servidores Apple usando a linha de comando
Índice:
Muitos usuários avançados preferem usar arquivos de firmware ao atualizar seus dispositivos iOS para a versão mais recente, e toda vez que uma atualização do iOS é lançada, postamos links diretos para download das versões mais recentes. De vez em quando, recebemos perguntas de usuários que se perguntam como encontramos esses links de arquivos, já que eles estão escondidos nos servidores de download da Apple, aparentemente ocultos da visão pública.Bem, não há mágica nisso e é feito facilmente por meio da linha de comando com um truque simples que extrai uma lista completa de arquivos IPSW disponíveis diretamente da Apple. Em sua forma mais básica, ele lista literalmente tudo, mas com algumas pequenas alterações na sintaxe do comando, você pode classificar para versões específicas do iOS ou para arquivos que correspondem a uma peça específica de hardware.
Isso provavelmente não será útil para todos, mas para usuários que gostam de trabalhar com IPSW ou para administradores de sistemas que precisam baixar vários arquivos de firmware diferentes para executar atualizações em massa em vários hardwares , isso deve ser útil. Para todos os outros, pode ser uma lição para provar que nós, da osxdaily, somos nerds que passam muito tempo pensando nessas coisas.
Se você mesmo for tentar, copie o bloco de sintaxe completo e cole-o na linha de comando. Os comandos parecem separados na web, mas devem ser colados na linha de comando como uma única string de comando em uma única linha.
Obter uma lista de todos os arquivos IPSW para todos os dispositivos iOS da Apple
A sequência de comando a seguir retorna uma lista bastante limpa de literalmente todos os arquivos IPSW para cada dispositivo iOS, iPad, iPhone, iPod, você escolhe, hospedado pelos servidores da Apple:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versão | grep ipsw | ordenar -u | sed 's///g' | sed 's///g' | grep -v protected
Para percorrer a sintaxe, curl está acessando a lista de “versões” do URL do servidor da Apple (este é o mesmo URL que é acessado pelo iTunes quando ele detecta que uma atualização está disponível, a propósito). Essa lista é então passada pelo comando grep para corresponder a “ipsw”, mas desconto 'protegido', sort -u garante que os itens da lista retornados sejam exclusivos e, finalmente, os resultados são passados por 'sed' para limpar alguns XML inúteis a partir dos resultados.A execução desse comando apenas despeja tudo na linha de comando, você pode passá-lo por 'mais' para torná-lo mais legível, ou talvez seja preferível para alguns usuários redirecioná-lo para um arquivo de texto como:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versão | grep ipsw | ordenar -u | sed 's///g' | sed 's///g'| grep -v protected > ~/Desktop/ipswlist.txt
Isso despejará tudo em um arquivo de texto chamado ‘ipswlist.txt’ na área de trabalho.
Obtenha uma lista de todos os arquivos IPSW do iPhone na linha de comando
Não se importa com os outros arquivos do iOS e quer apenas uma lista de IPSW do iPhone? Use grep para iPhone e o restante do comando permanece o mesmo:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versão | grep ipsw | iPhone | ordenar -u | sed 's///g' | sed 's///g' | grep -v protected
Adicione “> ~/Desktop/iPhoneIPSW.txt” ao final para enviar os resultados para um arquivo de texto na área de trabalho.
Recupere uma lista de todos os iPad IPSW disponíveis nos servidores da Apple
Semelhante ao uso do grep para pesquisar o iPhone, especificar ‘iPad’ retornará apenas arquivos de firmware do iPad:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versão | grep ipsw | grep iPad | ordenar -u | sed 's///g' | sed 's///g' | grep -v protected
Como antes, você pode enviá-lo para um arquivo de texto, se desejar, adicionando “> ~/path/to/text.txt” ao final.
Obtenha uma lista de apenas uma versão específica do iOS da Apple
Semelhante à pesquisa de hardware específico do iOS, você também pode retornar versões específicas do iOS, se desejar. Por exemplo, a sintaxe a seguir retornará apenas todos os resultados IPSW que correspondem ao iOS 7.0.4, anotados por essa string de versão no segundo grep:
curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client .MZITunesClientCheck/versão | grep ipsw | grep 7.0.4 | ordenar -u | sed 's///g' | sed 's///g' | grep -v protegido | awk '{$1=$1}1'
A Apple é rápida em enviar atualizações e, devido ao mecanismo Over-the-Air, a maioria das pessoas percebe novas atualizações quase imediatamente quando elas são disponibilizadas. No entanto, alguns usuários usam uma variação do truque acima para monitorar novos lançamentos do iOS, consultando periodicamente várias strings de versão que ainda não existem nos servidores da Apple. Isso está um pouco além do escopo deste artigo.
Pode haver maneiras mais limpas e/ou melhores de fazer isso, entre em contato se tiver outra solução.