Magnet (standard)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Magnet.
Icône des liens magnets

Le standard magnet est une proposition de format ouvert définissant le schéma d'URI pour les liens de type magnet. Ils sont principalement utilisés pour référencer des ressources téléchargeables via les réseaux pair-à-pair. Typiquement, ces liens identifient un fichier non par son emplacement, mais par son contenu, en lui appliquant une fonction de hachage cryptographique.

Un lien magnet se référant au contenu, plutôt qu'à l'emplacement, il peut être considéré comme un Uniform Resource Name (URN) plutôt que comme un Uniform Resource Locator (URL), ce dernier étant plus commun. Il est particulièrement utile dans le cadre d'échanges peer-to-peer, la ressource pouvant être référencée sans nécessiter une disponibilité continue de l'hébergement source.

Historique[modifier | modifier le code]

Ce standard a été développé en 2002 pour proposer un standard en remplacement des schémas d'URI ed2k: et freenet: utilisés par eDonkey2000 et Freenet, et il essaie de suivre les standards IETF URI autant que possible.

Les applications suivantes supportent les liens magnet (liste non exhaustive): aMule, BitComet, BitSpirit, BitTorrent, DC++, Deluge, FrostWire, gtk-gnutella, KTorrent, MLDonkey, Morpheus, Qbittorrent, Shareaza, Transmission, μTorrent, rTorrent, I2P, Vuze.

Hachage du contenu[modifier | modifier le code]

L'utilisation la plus courante des liens magnet est de "pointer" vers un fichier particulier en se basant sur une fonction de hachage de son contenu, produisant un identifiant unique pour le fichier, comparable au numéro ISBN pour les livres. Contrairement aux identifiants traditionnels cependant, l'identifiant basé sur le contenu peut être généré par n'importe qui possédant le fichier et ne nécessite donc pas d'autorité centrale pour le fournir. Cela les rend populaires dans les communautés de partage de fichiers où n'importe qui peut distribuer un lien magnet car ils permettent de s'assurer que la ressource partagée est bien celle désirée. Bien qu'il soit théoriquement possible que deux fichiers aient la même valeur de hachage (ce que l'on appelle une "collision"), les fonctions de hachage cryptographiques sont conçues pour que ce soit improbable en pratique[réf. nécessaire], même de manière intentionnelle.

D'autres avantages des liens magnet sont leur nature ouverte et l'indépendance de plate-forme. Un même lien magnet peut être utilisé pour télécharger une ressource depuis une ou plusieurs applications sur n'importe quel système d'exploitation. Les liens magnets étant concis et en texte, il est possible pour les utilisateurs de les copier-coller dans des mails, de les échanger par messagerie instantanée, etc ... ce qui n'est pas le cas avec des fichiers torrent.

Description technique[modifier | modifier le code]

Un lien magnet consiste en une série d'un ou plusieurs paramètres dont l'ordre n'est pas significatif, formaté de la même manière que les paramètres passés dans une URL HTTP. Le paramètre le plus courant est "xt", signifiant "exact topic" qui est généralement un URN constitué du hash du contenu du fichier. Par exemple:

Magnet-icon.gif magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C

faisant référence au SHA-1 encodé en Base32 du fichier en question. À noter que ce n'est que la référence au fichier, une recherche étant nécessaire pour trouver les pairs auprès desquels le fichier peut être obtenu.

D'autres paramètres définis par le standard sont:

  • "dn" ("display name"): un nom de fichier à fournir à l'utilisateur
  • "kt" ("keyword topic"): une information plus générale, spécifiant des termes de recherche
  • "mt" ("manifest topic"): une URI pointant vers un "manifest"
  • des paramètres spécifiques à certains clients, devant commencer par "x."

Le standard suggère aussi que plusieurs paramètres du même type peuvent être utilisés en ajoutant ".1", ".2", etc ... au nom de paramètre. Par exemple:

Magnet-icon.gif magnet:?xt.1=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C&xt.2=urn:sha1:TXGCZQTH26NL6OUQAJJPFALHG2LTGBC7

Description[modifier | modifier le code]

Un lien magnet peut contenir un ou plusieurs paramètres, séparés les uns des autres par des '&'. L'ordre des paramètres est indifférent.

magnet:? xl = [Taille en octets] & dn = [Nom de fichier (Encodé au format d'URL)] & xt = urn: tree: tiger: [ hash TTH (Base32) ]

Paramètres[modifier | modifier le code]

  • dn (Display Name) - Nom de fichier
  • xl (eXact Length) - Taille en octets
  • xt (eXact Topic) - URN contenant le hash du fichier
  • as (Acceptable Source) - Lien web vers le fichier
  • xs (eXact Source) - Lien peer-2-peer
  • kt (Keyword Topic) - Mots clefs pour la recherche
  • mt (Manifest Topic) - Lien vers un fichier metafile contenant une liste de magneto (MAGMA - MAGnet MAnifest)
  • tr (address TRacker) - URL d'un tracker pour les téléchargements BitTorrent

Références[modifier | modifier le code]

Liens externes[modifier | modifier le code]