8 votes

Comment recréer le défunt service "Back To My Mac" d'Apple avec des outils open-source spécifiques ?

Question : comment peut-on recréer le défunt service "Back To My Mac" d'Apple avec des outils open-source spécifiques ou, si nécessaire, avec un logiciel personnalisé (non commercial) limité ?

(Idéalement, cela serait fait de manière à préserver l'intégration avec les applications Apple telles que Finder ou Terminal ; cela pourrait toutefois se faire automatiquement dès qu'un VPN permettant la découverte du réseau est activé sur un ordinateur particulier).


Le contexte : Apple a cessé d'utiliser la fonction Retour à Mon Mac service en 2019 après douze ans d'exploitation.

D'après ce que j'ai compris, il s'agissait d'une combinaison de Wide-Area Bonjour, d'un VPN, et probablement d'une sorte de base de données/répertoire iCloud pour garder automatiquement tous les Macs connectés sous un AppleID particulier sur un VPN afin qu'ils puissent communiquer et utiliser des services intégrés tels que le partage de fichiers (AFP/SMB), le partage d'écran et SSH à travers les NATs et avec des adresses IP dynamiques. Aucune configuration réseau n'était nécessaire, une fois que l'on s'était connecté à un ordinateur avec son AppleID et que l'on avait coché la case "Retour à mon Mac" dans les paramètres.

Les autres ordinateurs sont apparus dans le Finder (et dans d'autres applications, comme Terminal) comme ils le font actuellement s'ils sont sur le même réseau.

Je crois que l'AppleTV (et peut-être d'autres appareils) a également été utilisé pour fournir la fonctionnalité Wake-on-LAN.


Conjecture : Il est possible qu'Apple ait cessé de le faire pour l'une ou l'autre de ces raisons (ou d'autres) :

  1. de minimiser leurs coûts d'ingénierie et de maintenance
  2. pour augmenter les revenus du stockage iCloud Drive
  3. ils avaient obtenu des licences pour une partie de la technologie sous-jacente depuis le début et voulaient éviter ces coûts.
  4. il s'est avéré qu'un composant clé était couvert par le brevet de quelqu'un d'autre, brevet(s) qu'ils ne voulaient ou ne pouvaient pas concéder sous licence

Il est à noter, cependant, qu'ils ont désactivé la fonctionnalité pour toutes les installations existantes des anciens systèmes d'exploitation, au lieu d'en faire une fonctionnalité non prise en charge / dépréciée.


Points de départ possibles :

  • si l'une des deux dernières raisons est vraie, quelqu'un connaît-il les numéros de brevet (ou les détenteurs de brevet) et les technologies qui ont fait l'objet d'une licence ?

  • existe-t-il des remplacements open-source pour cette fonctionnalité (au-delà de ce qu'Apple mentionne dans le lien ci-dessus) ?

  • quelles références techniques sont disponibles pour documenter l'implémentation d'Apple et qu'est-ce qui manque encore pour créer un remplacement open-source ?

  • Connaissez-vous d'autres discussions en ligne sur ce sujet qui peuvent être liées à cette question ?


Technologies utilisées par certaines itérations de BTMM :

  • Découverte de services basée sur le DNS (DNS-SD) ; RFC 6763 , RFC 8553 , RFC 8552 ) pour annoncer l'information sur l'accessibilité des hôtes

  • Mise à jour dynamique du DNS ( RFC 2136 ) pour rafraîchir les enregistrements de ressources (RR) du DNS lorsqu'un hôte détecte des changements dans le réseau.

  • DNS Long-lived Queries (LLQ / DNS-LLQ) pour informer immédiatement les hôtes lorsque les réponses à leurs requêtes DNS précédentes ont changé ( Wikipedia y IETF )

  • Adresse locale unique IPv6 (ULA) ; RFC 4193 ) comme identifiant de l'hôte

  • Protocole de mappage de port NAT (PMP / NAT-PMP ; RFC 6886 ) pour aider à la traversée du NAT

  • Kerberos ( RFC 4120 ) pour l'authentification de bout en bout

  • IPsec ( RFC 4301 ) pour sécuriser les communications de données entre deux hôtes finaux


Références :


Merci ! (et merci à jksoegaard pour les commentaires à la question précédente)

Note au(x) modérateur(s) : ceci est une reformulation d'une question précédente, " Quelles informations techniques et/ou brevets existent pour le service "Back to My Mac" (BTMM) d'Apple, qui a été abandonné, et/ou quels sont les remplacements possibles ? "Si vous fermez cette question à l'avenir, pensez à le faire de manière à ce qu'elle reste une référence consultable pour les utilisateurs futurs.

2 votes

J'aimerais bien voir une réponse à cette question qui implique a) une dépense zéro et b) une installation à un seul bouton. J'ai perdu la possibilité d'assister le Mac de mes parents lorsque cette fonction a été supprimée de MacOS. À 3 000 km de distance, sur un autre continent il est un peu difficile de les aider à distance, et je ne peux pas non plus me rendre sur place pour configurer quoi que ce soit de nouveau ; il faudrait que ce soit fait la prochaine fois que je suis là, ce qui, en 2020, ne semble pas être pour tout de suite :\\.

0 votes

@tetsujin Si je trouve une solution, je ne manquerai pas de la poster ici. Je ne pense pas que le fonctionnement de base doive être si compliqué : on pourrait relier chaque ordinateur au même VPN (ou chacun à un VPN séparé se terminant sur un réseau/routeur commun). Ce ou ces VPN devraient laisser passer les paquets de découverte mDNS, et vous voudriez probablement que seul un certain trafic réseau (c'est-à-dire PAS le trafic Internet normal) passe par ce VPN. Cela permettrait à tous les ordinateurs auxquels vous souhaitez vous connecter d'apparaître comme étant sur le même réseau physique.

0 votes

@tetsujin : pour ce qui est de les configurer ou de les prendre en charge maintenant, un outil gratuit tel que Zoom, Chrome Remote Destkop, ou TeamViewer (et peut-être encore FaceTime ??) devrait vous permettre de partager et de contrôler leur écran à distance tant que l'ordinateur est présent. Zoom est probablement la solution la moins contraignante à l'heure actuelle : l'utilisateur peut partager son écran (et vous permettre de le contrôler) pendant un appel vidéo avec vous, et vous pouvez d'abord partager le vôtre avec lui pour lui montrer comment faire. Une fois que vous avez accès à Zoom, vous pouvez configurer Chrome Remote Desktop, ce qui vous permet d'avoir un accès sans surveillance à l'avenir.

1voto

Jose Chavez Points 645

Votre question est vaste et contient de nombreux éléments, je vais donc devoir énumérer ma réponse en conséquence :

Point de départ 1 :

Je ne vois pas comment une quelconque technologie impliquée pourrait être brevetée, ni qu'une quelconque technologie en tant que telle soit licenciée ici. Apple pourrait bien sûr concéder une licence pour une implémentation, mais elle serait en mesure de la réimplémenter elle-même. Le système BTTM peut être réimplémenté de diverses manières, en utilisant différents protocoles et technologies, tout en conservant une fonctionnalité similaire - les brevets ne sont donc pas un problème pour recréer une fonctionnalité similaire.

Notez également que des versions modernes de systèmes similaires existent aujourd'hui sur le marché. Par exemple, vous pourriez simplement installer Tailscale et avoir un accès similaire à tous vos appareils. Tant que vous êtes un utilisateur unique et que vous avez moins de 100 appareils, c'est gratuit.

Point de départ 2 :

Il existe des versions open-source de presque tout ce qui est inclus dans le système BTTM d'Apple. Vous devrez cependant les intégrer vous-même et les rendre évolutives. Cela implique des choses comme l'automatisation d'une autorité de certification, un serveur DNS spécialisé, etc. Ce n'est pas de la science infuse, mais ce n'est pas non plus quelque chose que l'on fait en un dimanche après-midi.

Notez qu'il y a une grande différence entre la création d'un service comme le BTTM d'Apple, qui est censé prendre en charge des milliers (voire des millions) d'utilisateurs et encore plus d'appareils, et la création d'un service qui ne fonctionnera que pour vos propres besoins. Si vous cherchez simplement un moyen de créer une expérience de type BTTM pour vous-même, vous pouvez le faire beaucoup plus simplement qu'en essayant de reproduire le système BTTM d'Apple.

Point de départ 3 :

Pour une référence technique, vous pouvez simplement consulter la RFC6281. Elle contient suffisamment d'informations pour qu'un professionnel (ou un amateur motivé) puisse créer un système similaire. Cependant, si l'objectif est de le rendre interopérable avec le service BTTM d'Apple (c'est-à-dire utilisé avec les clients inclus dans les anciennes versions de MacOS) - c'est beaucoup plus difficile (à la limite de l'impossible) et cela ne vaut pas la peine de le faire. Le problème est que vous n'auriez pas accès aux clés secrètes d'Apple, à leur domaine me.com et aux protocoles personnalisés pour l'authentification AppleID.

0 votes

Tous les points justes. Bien que je sois sûr que quelque chose de convenable pour un seul utilisateur pourrait être bricolé, mon but n'était pas de réinventer la roue ... peut-être que quelqu'un l'a déjà fait (par exemple, écrire un script shell script pour configurer les outils applicables) et que je n'étais simplement pas au courant des termes de recherche corrects, ou peut-être que quelqu'un a une théorie (comme des brevets existants) qui empêcherait ceci d'être pratique à l'heure actuelle. S'il n'existe actuellement aucune roue, alors peut-être que moi ou quelqu'un d'autre essaiera d'en concevoir une au cours de l'hiver. Merci pour vos commentaires et le temps consacré à votre réponse, sincèrement !

0 votes

Oh, et en ce qui concerne les brevets , je sais que dans le passé, des sociétés comme Skype ont breveté des choses comme des méthodes spécifiques de contournement NAT ; quelqu'un comme Microsoft a sûrement envisagé le besoin d'une solution d'accès au Bureau à distance sans passerelle RD, mais pour des raisons commerciales ou techniques, ils ont choisi de ne pas offrir une fonction de type BTMM. (J'ai connu plusieurs personnes dont le choix entre MacOS et Windows 10 penchait du côté de MacOS). spécifiquement à cause de BTMM, généralement pour monter des partages de fichiers et non pour le partage d'écran).

0 votes

Je ne suis pas sûr d'avoir bien compris ce que je veux dire ici. 1) Pour un utilisateur unique, des solutions élégantes et finies existent en abondance - il n'y a rien de "bricolé" à ce sujet. 2) Beaucoup de gens ont implémenté ces choses. Il ne s'agit pas d'avoir à inventer une roue pendant un long hiver. Il s'agit d'outils couramment disponibles qui ont résisté à l'épreuve du temps.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X