Come elencare tutti i file IPSW dai server Apple utilizzando la riga di comando

Molti utenti esperti preferiscono utilizzare i file del firmware quando aggiornano i loro dispositivi iOS alla versione più recente, e ogni volta che esce un aggiornamento iOS pubblichiamo i link per il download diretto per le ultime versioni. Di tanto in tanto riceviamo domande da parte di utenti che si chiedono come trovarli, poiché sono nascosti nei server di download di Apple, apparentemente nascosti alla vista pubblica. Bene, non c'è nulla di magico in questo ed è facilmente fatto attraverso la linea di comando con un semplice trucco che tira un elenco completo di file IPSW che sono disponibili direttamente da Apple. Nella sua forma più semplice elenca letteralmente tutto, ma con alcune modifiche minori alla sintassi del comando è possibile ordinare per specifiche versioni iOS o per file che corrispondono a un determinato hardware.



Questo probabilmente non sarà utile a tutti, ma per gli utenti che amano lavorare con IPSW, o per gli amministratori di sistema che hanno bisogno di scaricare diversi file firmware per eseguire aggiornamenti di massa su un mucchio di hardware, questo dovrebbe essere utile. Per tutti gli altri, può essere una lezione per dimostrare ulteriormente che noi di osxdaily siamo dei nerd che passano troppo tempo a pensare a questa roba.

Se hai intenzione di provare da solo, copia il blocco di sintassi completo e incollalo nella riga di comando. I comandi sembrano divisi sul web, ma dovrebbero incollare bene nella riga di comando come una singola stringa di comando su una singola riga.

Ottieni un elenco di tutti i file IPSW per tutti i dispositivi iOS

La seguente stringa di comando restituisce un elenco abbastanza pulito di praticamente ogni singolo file IPSW per ogni dispositivo iOS, iPad, iPhone, iPod, come lo chiami, ospitato dai server Apple:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client.MZITunesClientCheck/version | grep ipsw | sort -u | sed 's///g' | sed 's///g' | grep -v protected

Per scoprire la sintassi, arricciare l'accesso alla lista "versione" dall'URL del server di Apple (questo è lo stesso URL che viene colpito da iTunes quando rileva che un aggiornamento è disponibile, tra l'altro). Tale elenco viene quindi passato attraverso il comando grep in modo che corrisponda a "ipsw" ma lo sconto 'protetto', sort -u si assicura che gli elementi dell'elenco restituiti siano univoci, e infine i risultati vengono passati attraverso 'sed' per pulire alcuni XML inutili dai risultati Eseguendo questo comando è sufficiente scaricare tutto sulla riga di comando, è possibile passarlo attraverso "altro" per renderlo più leggibile, o forse preferibile ad alcuni utenti è di reindirizzare tale file in un file di testo in questo modo:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client.MZITunesClientCheck/version | grep ipsw | sort -u | sed 's///g' | sed 's///g'| grep -v protected > ~/Desktop/ipswlist.txt

Questo scaricherà tutto in un file di testo chiamato "ipswlist.txt" sul desktop.

Ottieni un elenco di tutti i file IPSW di iPhone dalla riga di comando

Non ti importa degli altri file iOS e vuoi solo un elenco di iPhone IPSW? Usa grep per iPhone e il resto del comando rimane lo stesso:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client.MZITunesClientCheck/version | grep ipsw | grep iPhone | sort -u | sed 's///g' | sed 's///g' | grep -v protected

Aggiungi "> ~ / Desktop / iPhoneIPSW.txt" alla fine per inviare i risultati a un file di testo sul desktop.

Recupera un elenco di tutti gli IPSW per iPad disponibili su server Apple

Simile all'utilizzo di grep per la ricerca di iPhone, specificando "iPad" verranno restituiti solo i file del firmware dell'iPad:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client.MZITunesClientCheck/version | grep ipsw | grep iPad | sort -u | sed 's///g' | sed 's///g' | grep -v protected

Come prima, è possibile inviarlo in un file di testo, se desiderato, aggiungendo "> ~ / percorso / a / testo.txt" fino alla fine.

Ottieni un elenco di solo una specifica versione iOS di Apple

Simile alla ricerca di hardware iOS specifico, puoi anche restituire specifiche versioni iOS se lo desideri. Ad esempio, la seguente sintassi restituirà solo tutti i risultati IPSW che corrispondono a iOS 7.0.4, rilevato da tale stringa di versione nel secondo grep:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client.MZITunesClientCheck/version | grep ipsw | grep 7.0.4 | sort -u | sed 's///g' | sed 's///g' | grep -v protected | awk '{$1=$1}1'

Apple è pronta a lanciare gli aggiornamenti e, a causa del meccanismo Over-the-Air, la maggior parte delle persone notano quasi subito nuovi aggiornamenti quando diventano disponibili. Ciononostante, alcuni utenti usano una variante del trucco sopra per monitorare le nuove versioni di iOS interrogando periodicamente per varie stringhe di versioni che non esistono ancora sui server Apple. Questo è un po 'oltre lo scopo di questo articolo.

Potrebbero esserci modi più puliti e / o migliori per farlo, emettere un suono nei commenti se si dispone di un'altra soluzione.