Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Pourquoi la Russie ne peut pas bloquer iMessage

Y’a un truc que j’adore avec Apple, c’est quand ils nous font des petits moves de génie en douce, sans que personne s’en rende compte. Et en voici un que John Gruber de Daring Fireball vient de débusquer.

Vous ne le savez peut-être pas mais la Russie vient de bloquer des tas de services comme Whatsapp, Snapchat ou encore FaceTime sur son territoire. Officiellement, c’est parce que le FSB (les services secrets russes) ne peut pas espionner les appels chiffrés de bout en bout.

Toutefois, bizarrement, iMessage continue de fonctionner là-bas.

Alors pourquoi ?

Hé bien parce qu’Apple a conçu iMessage de façon à ce qu’il soit techniquement impossible à bloquer sans casser toutes les notifications push de l’iPhone. Et ça, les amis, c’était apparemment prévu dès le départ, car quand Apple a lancé iMessage en 2011, les opérateurs télécom ne désiraient qu’une chose : LE BLOQUER !

Pensez donc, un service de messagerie gratuit qui allait tuer leur poule aux SMS d’or ! Sauf qu’Apple avait anticipé le coup et a fait en sorte qu’iMessage utilise le même canal que le service APNs (Apple Push Notification Service), c’est à dire celui qui gère TOUTES les notifications de TOUTES vos apps. Ainsi, si vous bloquez iMessage sur un réseau, vous bloquez aussi les notifs de Gmail, Twitter, WhatsApp, et absolument tout le reste. Et pour les opérateurs, c’était inacceptable commercialement car ils auraient perdu des millions de clients en plus de se prendre un procès au cul de la part d’Apple.

Et c’est exactement pour cette même raison que iMessage fonctionne encore aujourd’hui contre les régimes autoritaires. La Russie peut donc bloquer FaceTime parce que c’est un service séparé avec ses propres ports mais iMessage c’est tellement imbriqué dans l’infrastructure de base d’iOS que le bloquer reviendrait à rendre les iPhone à moitié inutilisables.

Et aucun pays ne peut se permettre ça, même pas la Chine.

Après, la Russie n’est pas tendre avec le reste des messageries. Facebook, Instagram, Twitter, Discord, LinkedIn , tous sont bloqués et YouTube est tellement ralenti qu’il est devenu inutilisable. WhatsApp et Telegram ont perdu les appels vocaux quand à Signal et Viber, ils sont bannis.

Et ce qui est malin dans le design d’Apple, c’est que tout passe par le port 5223 en TLS (ou le 443 en fallback) et les messages sont chiffrés de bout en bout avec des clés que même Apple ne possède pas. Donc le gouvernement russe peut regarder passer les paquets si ça l’amuse, il ne verra que du bruit. Et s’il veut filtrer ce bruit spécifiquement, il coupera aussi les notifs de toutes les apps russes.

Bref, Apple a construit un bouclier anti-censure directement dans l’architecture d’iOS, et personne ne s’en était rendu compte jusqu’à aujourd’hui. Bien joué !

Tous les détails sont sur Daring Fireball

iMessage Exporter - Pour faire un backup de vos conversations iMessage

Vous avez combien de messages iMessage sur votre Mac ?

10 000 ? 50 000 ? Plus ????

Vous en avez des amis, dites moi ! Et maintenant, petite question piège : Combien de ces messages pouvez-vous réellement exploiter en dehors de l’app Messages d’Apple ?

Hé bien la réponse va vous surprendre (non) : zéro !

Hé oui, car vos conversations sont stockées dans une base SQLite quelque part sur votre disque dur , mais Apple a fait en sorte que vous ne puissiez rien en faire. Les pièces jointes sont planqués dans des dossiers obscurs avec des noms aléatoires, les métadonnées sont éclatées sur une quinzaine de tables, et les timestamps sont au format Apple (pas Unix). Vous pouvez donc ouvrir la base avec DB Browser si vous voulez, mais vous allez juste pleurer du sang devant votre écran et perdre votre joie de vivre.

Et le plus beau dans tout ça c’est qu’Apple ne propose AUCUN moyen d’exporter vos messages. Y’a rien. Y’a des boutons d’export pour vos photos, pour vos mails, pour vos contacts, mais pour vos SMS et iMessages, c’est podzob !

Donc si vous voulez quitter l’écosystème Apple et migrer vers Android (mais qui fait ça ??? lol), bonne chance pour récupérer ces 10 ans de conversations torrides avec Monique de la compta. Et si vous avez besoin d’archiver des échanges professionnels pour raisons légales, à part faire des centaines de captures écran ou de copier coller, j’vois pas.

Heureusement, un dev nommé ReagentX en a eu marre de cette situation et a créé imessage-exporter, un outil open source en Rust qui fait exactement ce qu’Apple refuse de faire à savoir vous donner accès à VOS propres données dans un format lisible et portable.

L’outil tourne sur macOS évidemment, mais aussi sur Linux et Windows. Comme ça, même si vous avez viré votre Mac depuis 3 ans, vous pouvez quand même récupérer votre ancienne base iMessage et l’exporter tranquillement depuis votre machine Ubuntu ou Windows.

Et au niveau des formats d’export, vous avez le choix entre du txt et du html. Le format html est particulièrement bien foutu parce qu’il recrée l’interface visuelle d’iMessage avec vos bulles bleues et grises, les heures d’envoi, et surtout il préserve tous les médias : photos, vidéos, audios, tout y passe. Vous vous retrouvez avec un site html statique que vous pouvez ouvrir dans n’importe quel navigateur et parcourir comme si vous étiez dans l’app Messages, sauf que là c’est rien qu’à vous et personne peut vous le reprendre (sauf le karma ^^).

Pour l’install, si vous êtes à l’aise avec Rust, hop, un simple cargo install imessage-exporter fera l’affaire. Sinon y’a un package Homebrew (brew install imessage-exporter) ou des binaires précompilés sur la page du projet pour Mac Intel et Apple Silicon.

Notez qu’il vous faudra aussi installer ImageMagick et ffmpeg pour la conversion des pièces jointes, mais rien de sorcier. Ensuite, côté utilisation, c’est de la ligne de commande pure et dure. Par exemple, pour exporter toutes vos conversations en html avec les médias dans votre dossier personnel, vous tapez :

imessage-exporter -f html -c clone

Si vous voulez exporter uniquement les conversations avec un contact spécifique, vous pouvez filtrer par numéro de téléphone :

imessage-exporter -f html -c clone -t "0612345678"

Et si votre base iMessage est corrompue ou que vous soupçonnez des problèmes, l’outil intègre aussi une fonction diagnostic qui va scanner la base et vous remonter les anomalies.

Et l’outil gère iMessage, RCS, SMS, MMS, les conversations de groupe, les messages formatés, les threads de réponse, les messages édités, les traductions, les sondages, les votes, et même les arrière-plans de chat custom. C’est ouf ! Et ça c’est parce que ReagentX maintient ce projet depuis des années et suit les updates Apple en temps réel, ce qui n’est franchement pas une mince affaire vu qu’Apple change régulièrement le schéma de leur base.

Normal que ce projet cartonne !

Voilà si vous tenez un minimum à vos données, allez faire un tour sur le repo GitHub d’imessage-exporter … çaa prend 10 minutes à installer, et vous dormirez mieux en sachant que vos échanges et autres souvenir seront conservés bien au chaud sur votre prochain backup.

Et un grand merci à Lorenper de m’avoir signalé ce projet.

❌