Comment répertorier tous les fichiers IPSW des serveurs Apple à l'aide de la ligne de commande

Table des matières:

Anonim

De nombreux utilisateurs avancés préfèrent utiliser des fichiers de micrologiciel lors de la mise à jour de leurs appareils iOS vers la dernière version, et chaque fois qu'une mise à jour iOS est publiée, nous publions des liens de téléchargement direct pour les dernières versions. De temps en temps, nous recevons des questions d'utilisateurs qui se demandent comment nous trouvons ces liens de fichiers, car ils sont cachés sur les serveurs de téléchargement d'Apple, apparemment cachés à la vue du public.Eh bien, il n'y a rien de magique à cela et cela se fait facilement via la ligne de commande avec une astuce simple qui extrait une liste complète des fichiers IPSW disponibles directement auprès d'Apple. Dans sa forme la plus basique, il répertorie littéralement tout, mais avec quelques modifications mineures de la syntaxe de la commande, vous pouvez trier des versions iOS spécifiques ou des fichiers correspondant à un matériel spécifique.

Cela ne sera probablement pas utile à tout le monde, mais pour les utilisateurs qui aiment travailler avec IPSW, ou pour les administrateurs système qui ont besoin de télécharger un tas de fichiers de firmware différents pour effectuer des mises à jour en masse sur un tas de matériel , cela devrait être utile. Pour tout le monde, cela peut être une leçon pour prouver davantage que nous, à osxdaily, sommes des nerds qui passent trop de temps à penser à ce genre de choses.

Si vous allez les essayer vous-même, copiez le bloc de syntaxe complet et collez-le dans la ligne de commande. Les commandes semblent séparées sur le Web, mais elles doivent être collées correctement dans la ligne de commande sous la forme d'une seule chaîne de commande sur une seule ligne.

Obtenez une liste de tous les fichiers IPSW pour tous les appareils iOS d'Apple

La chaîne de commande suivante renvoie une liste assez propre de littéralement chaque fichier IPSW pour chaque appareil iOS, iPad, iPhone, iPod, etc., hébergé par les serveurs d'Apple :

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

Pour parcourir la syntaxe, curl accède à la liste des "versions" à partir de l'URL du serveur d'Apple (c'est d'ailleurs la même URL qui est frappée par iTunes lorsqu'il détecte qu'une mise à jour est disponible). Cette liste est ensuite transmise via la commande grep pour correspondre à « ipsw » mais réduit « protégé », sort -u s'assure que les éléments de la liste renvoyés sont uniques, et enfin, les résultats sont transmis via « sed » pour nettoyer certains XML inutiles. à partir des résultats.L'exécution de cette commande vide tout sur la ligne de commande, vous pouvez la passer par "plus" pour la rendre plus lisible, ou peut-être préférable pour certains utilisateurs de la rediriger dans un fichier texte comme ceci :

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

Cela va tout vider dans un fichier texte nommé "ipswlist.txt" sur le bureau.

Obtenez une liste de tous les fichiers iPhone IPSW à partir de la ligne de commande

Vous ne vous souciez pas des autres fichiers iOS et vous voulez juste une liste d'iPhone IPSW ? Utilisez grep pour iPhone et le reste de la commande reste le même :

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

Ajoutez "> ~/Desktop/iPhoneIPSW.txt" à la fin pour envoyer les résultats dans un fichier texte sur le bureau.

Récupérer une liste de tous les iPad IPSW disponibles sur les serveurs d'Apple

Similaire à l'utilisation de grep pour rechercher un iPhone, spécifier "iPad" renverra uniquement les fichiers du firmware de l'iPad :

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

Comme précédemment, vous pouvez l'envoyer dans un fichier texte si vous le souhaitez en ajoutant "> ~/path/to/text.txt" à la fin.

Obtenez une liste d'une seule version iOS spécifique d'Apple

Semblable à la recherche d'un matériel iOS spécifique, vous pouvez également renvoyer des versions iOS spécifiques si vous le souhaitez. Par exemple, la syntaxe suivante renverra uniquement tous les résultats IPSW qui correspondent à iOS 7.0.4, notés par cette chaîne de version dans le second 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 | trier -u | sed 's///g' | sed 's///g' | grep -v protégé | awk '{$1=$1}1'

Apple diffuse rapidement les mises à jour et, grâce au mécanisme Over-the-Air, la plupart des gens remarquent les nouvelles mises à jour presque immédiatement lorsqu'elles sont disponibles. Néanmoins, certains utilisateurs utilisent une variante de l'astuce ci-dessus pour surveiller les nouvelles versions d'iOS en interrogeant périodiquement diverses chaînes de version qui n'existent pas encore sur les serveurs d'Apple. C'est un peu au-delà de la portée de cet article cependant.

Il peut y avoir des moyens plus propres et/ou meilleurs de le faire, écrivez dans les commentaires si vous avez une autre solution.

Comment répertorier tous les fichiers IPSW des serveurs Apple à l'aide de la ligne de commande