Esquema Magnet URI: es un borrador estándar abierto y en funcionamiento que define el llamado esquema URI . enlaces magnéticos, diseñados principalmente para apuntar a recursos disponibles para descargar a través de redes peer-to- peer . Dichos enlaces básicamente identifican los archivos no por su ubicación o nombre, sino por su contenido , o mejor dicho, por su código hash .
Debido a que dichos enlaces permiten ubicar un archivo en función de su contenido y metainformación , en lugar de su ubicación real, pueden considerarse una especie de URN en lugar de la URI más general . Aunque los enlaces magnéticos se pueden utilizar en otras áreas, son más demandados en redes peer-to-peer, ya que en dichas redes, vincularse a un recurso no significa que deba estar disponible constantemente.
El estándar se creó en 2002, en parte como un esquema de URI genérico independiente del proveedor y del proyecto , ed2k:y lo utilizan las freenet:redes eDonkey2000 y Freenet , respectivamente. La creación del estándar estuvo acompañada de un intento de seguir los estándares URI de IETF tanto como fuera posible.
Dado que no todos los analizadores tratan un enlace magnético de la misma manera que cualquier otro enlace de URL, dichos enlaces pueden aparecer en forma de texto (divididos en varias líneas); en este caso, deben ensamblarse previamente eliminando las líneas nuevas. Existen complementos especiales para navegadores que le permiten tratar un enlace magnético de la misma manera que cualquier otro.
Además, los enlaces magnéticos se pueden distribuir como archivos *.magnet .
El uso más común de los enlaces magnéticos es apuntar a un archivo específico por su identificador único, similar a un ISBN pero basado en el código hash del contenido del archivo. A diferencia de otros tipos de identificadores, cualquier propietario de un archivo puede generar un enlace magnético utilizando un algoritmo estándar, por lo que no hay necesidad de una organización centralizada responsable de asignarlos.
Dado que cualquier hash es una transformación de estrechamiento, las situaciones en las que dos archivos diferentes tendrán los mismos códigos hash son teóricamente posibles , pero en la práctica ocurren muy raramente.
Una de las ventajas de los enlaces magnéticos es su apertura e independencia de plataforma: se pueden usar para descargar un archivo usando una variedad de aplicaciones en casi todos los sistemas operativos. Debido al hecho de que un enlace magnético es una cadena corta de texto, se puede copiar fácilmente a través del portapapeles , enviar por correo electrónico , programa de mensajería instantánea , SMS o servicio de microblogging . También hay servicios en línea para generar enlaces cortos a partir de enlaces magnéticos de cualquier longitud.
Un enlace magnético puede contener uno o más parámetros separados por '&'. El orden de los parámetros no está documentado. Para algunos valores, la posición del parámetro es importante para que el cliente analice correctamente el enlace magnético.
Ejemplo magnet:?xl=Размер_в_байтах&dn=Имя_файла&xt=urn:tree:tiger:TTH-хеш_файла Opciones dn (Nombre para mostrar) — nombre de archivo. xl (longitud exacta): tamaño del archivo en bytes. dl (longitud de visualización) : tamaño mostrado en bytes. xt (tema eXact) - URN que contiene el hash del archivo. como (fuente aceptable) : un enlace web a un archivo en Internet. xs (Fuente eXact) - Enlace P2P . kt (Tema de palabras clave) : palabras clave de búsqueda. mt (Tema manifiesto) - enlace a un metarchivo que contiene una lista de imanes ( MAGMA ). tr (TRacker) — dirección del rastreador para clientes de BitTorrent .Esta parte del enlace magnético es la más importante. Es el hash especificado en él el que busca fuentes y verifica el archivo.
TTH (Tiger Tree Hash)Hash utilizado en las redes Direct Connect y Gnutella
xt= urna:árbol:tigre :[ hash del archivo TTH ( Base32 )] SHA-1 (Algoritmo hash seguro 1)El hash se usa en las redes Gnutella , Gnutella2 y también para crear un micro-torrent a partir de un enlace magnético.
xt= urna:sha1 :[ hash del archivo sha1 ( Base32 )] BitPrint [2]Esta es una notación secuencial del hash SHA-1 y TTH , separados por un punto. El hash se usa en Gnutella2 . Direct Connect solo usa la parte TTH de BitPrint
xt= urn:bitprint :[ hash del archivo sha1 ( Base32 )].[ hash del archivo TTH ( Base32 )] Hash ED2K (EDonkey2000)Hash ED2K (para archivos de hasta 9.728.000 bytes corresponde a MD4 ) utilizado en EDonkey2000
xt = urna: ed2k : [ hash del archivo ed2k ( hexadecimal )] AICH [3] (Advanced Intelligent Corruption Handler)URN no oficial para imán. Los clientes aún no leen eDonkey2000 . eDonkey2000 utiliza el hash para restaurar la integridad del archivo.
xt= urn:aich :[ hash de archivo aich ( Base32 ) ]Los enlaces magnéticos con AICH son creados, por ejemplo, por Rhash (rhash—aich— nombre de archivo magnético ).
Hachís KazaaHash utilizado en FastTrack
xt= urna:kzhash :[ Kazaa hash ( Hex )] BTIH (BitTorrent Info Hash)Hash utilizado en redes BitTorrent ( Azureus , µTorrent )
xt= urna:btih :[ BTIH ( Hexadecimal ) ] MD5 (Message Digest 5)Hachís utilizado en Gnutella2
xt= urna:md5 :[ MD5 hash ( Hexadecimal ) ] CRC-32 (Comprobación de redundancia cíclica)URN no oficial para imán. No se utiliza en redes P2P .
xt= urna:crc32 :[ CRC-32 ( Base10 )]Hay 3 tipos de enlaces que se pueden insertar en un enlace magnético.
Liso (como)Este enlace apunta a la dirección del archivo en un servidor web normal. El cliente no lo solicita inmediatamente, sino solo después de que haya pasado un tiempo; por lo tanto, este enlace se usa solo si el archivo no se pudo encontrar en las redes P2P, evitando así una carga innecesaria en el servidor.
as=[enlace web al archivo ( URL codificado)] BitTorrent Web Seed (ws)Este es un enlace directo a un archivo o directorio para descargar. GetRight admite descargas HTTP, HTTPS, FTP y FTPS. Es posible utilizar otros protocolos, por ejemplo, RTSP o MMS , si su soporte está implementado en el cliente.
ws=[enlace web al archivo/directorio ( codificado en URL )] P2P (x)Este enlace suele ser la dirección del archivo no en el servidor, sino en el cliente P2P o en la dirección del concentrador (en el caso de DC++). Usando este enlace, el cliente intenta conectarse inmediatamente y solicitar el archivo o sus fuentes. Los clientes P2P suelen utilizar este campo para almacenar la fuente. El enlace puede contener el hash del archivo.
Enlace web de direccionamiento de contenidoEste tipo de enlace es utilizado principalmente por el cliente de Shareaza solamente .
xs=http://[Dirección del cliente]:[Puerto del cliente]/uri-res/N2R?[ URN que contiene el hash del archivo] Enlace al concentrador de DirectConnect con fuentes de archivosEste enlace conecta el cliente de DirectConnect inmediatamente al concentrador especificado. Funciona correctamente solo en formato no codificado con URI al final de un enlace magnético. Le permite reunirse descargando el mismo archivo usando este enlace magnético en un concentrador.
xs=dchub://[Dirección del concentrador]:[Puerto del concentrador]Para insertar en un enlace magnético, se recomienda utilizar la dirección de un gran centro de conexión directa de acceso público en el que no haya restricciones en el tamaño de los recursos compartidos (archivos disponibles para descargar desde el cliente).
Enlace al caché de origen del archivo para Gnutella2En este caso, el enlace no apunta al cliente, sino al caché de origen. El caché no tiene un archivo, pero registra y da las direcciones de aquellos que tienen un puerto abierto para la distribución y se comunicaron con esta dirección. Por lo tanto, es posible que aquellos que solicitaron este archivo en esta dirección ya lo hayan recibido y ahora pueden transferirlo al siguiente solicitante. Este sistema funciona de forma similar a un rastreador de BitTorrent .
xs= http://cache.freebase.be/ Archivado el 3 de octubre de 2009 en Wayback Machine [ hash de archivo sha1 ] Enlace a la fuente ED2K xs=ed2kftp://[Dirección del cliente]:[Puerto del cliente]/[ed2k hash]/[tamaño del archivo]/Los enlaces magnéticos solo enlazan con un archivo. Algunos clientes de DC++ tienen una implementación funcional de enlaces de directorio. Dichas referencias son invariables con respecto al cambio de nombre de los archivos en el directorio, pero no invariantes con respecto a la eliminación, modificación o adición de archivos como Thumbs.db , program.ini y similares, por lo que es una forma más confiable de referirse a un directorio. es crear un metarchivo . Un metarchivo es un archivo que se puede enviar dentro de una aplicación o almacenar en un sitio web, pero también se puede hacer referencia a él mediante un enlace magnético, como en un chat. Sin embargo, el parámetro xl de dicho enlace caracteriza el tamaño del metarchivo, pero no el tamaño del directorio, lo cual es un inconveniente. El parámetro dl caracteriza exactamente el tamaño del directorio descrito por el metarchivo. El software que reconoce y presenta enlaces magnéticos de forma legible debería preferir la opción dl al mostrar el tamaño. dl no es un parámetro técnico que afecte las descargas o las búsquedas, por lo que este parámetro es aplicable en otros casos de uso , como los enlaces magnéticos a las distribuciones multiparte de BitTorrent .
Este es un enlace a una lista de enlaces (hoja de archivo). Puede ser como un enlace web,
mt=http://weblog.foo/all-my-favorites.rssy URN
mt= urna:sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJJunto con otros, se puede utilizar para obtener información adicional sobre un archivo.
Ejemplo:
imán:?xl=10826029&dn=mediawiki-1.15.1.tar.gz &xt= urna:árbol:tigre:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY &mt= urna:btih:QHQXPYWMACKDWKP47RRVIV7VOURXFE5QEste imán contiene los datos de un archivo y la parte mt contiene un archivo .torrent BTIH que contiene información adicional sobre el archivo.
Este campo establece la cadena de búsqueda en redes P2P.
kt=martin+lutero+rey+mp3URL del rastreador . Se utiliza para obtener fuentes de BitTorrent sin utilizar la red DHT . Le permite prescindir de un archivo torrent (se descarga de las fuentes recibidas) [4] .
tr=http://example.com/announceLa velocidad de descarga ( tasa de bits ) a la que se pueden solicitar secuencialmente partes de un archivo. La carga secuencial ocurre solo en una parte del archivo desde el principio hasta el punto de reproducción [5] . Si el par no tiene partes disponibles para descarga secuencial, se solicita una aleatoria de otra parte del archivo [6] .
br=192000Cálculo:
br=[tamaño del archivo en bytes]*8 / [duración del audio o video en segundos]Algoritmo para usar en cliente p2p:
1 Si (la velocidad de descarga del archivo es inferior a la tasa de bits especificada) luego el archivo se carga aleatoriamente; 2 De lo contrario Si (la velocidad de descarga de la sección continua desde el principio del archivo es menor o igual que la tasa de bits) luego el archivo se carga secuencialmente; De lo contrario el archivo se carga aleatoriamente;Para el autocompletado del formato con parámetros no oficiales, se proporciona el prefijo 'x.'
x.[nombre del nuevo parámetro]=[datos del nuevo parámetro ( codificado en URL )]El sufijo '.' se agrega a los nombres de parámetros de un grupo. (punto) e índice de grupo.
magnet:?xt.1= [ URN del primer archivo]&xt.2=[ URN del segundo archivo]Algunos programas que crean un enlace magnético no codifican caracteres especiales y nacionales en la representación URI (%20) y, por lo tanto, estos enlaces en una página web pueden causar errores. Esto es especialmente importante cuando el enlace insertado en el enlace magnético contiene signos "&"; deben ser reemplazados con "%26".
Codificación URILas referencias insertadas en los campos designados (as, xs, tr) deben codificarse con URI de antemano [7] .
URL del rastreador
http://tracker.example.org/announce.php ? _ _ _ _ reino unido = 1111111111 &en un enlace magnético debería verse así
imán:?tr= http %3A%2F%2F rastreador.ejemplo.org %2F anunciar.php %3F Reino Unido %3D 1111111111 %26" | # [8] | % | & [8] | ' | * | , [8] | : [8] | ; [ocho] | < | > | ? [ocho] | [ | ^ | ` | { | | | } | <espacio> |
%22 | %23 | %25 | %26 | %27 | %2a | %2c | %3a | %3b | %3c | %3e | %3f | %5b | %5e | %60 | %7b | %7c | %7d | %20 [9] |
Antes de insertar en el código HTML en el enlace, debe reemplazar todos los signos "&" con "&".
imán original
imán:?dn=file.ext & tr=http%3A%2F%2Ftracker.example.org%2Fannounce.php%3Fuk%3D1111111111%26cuando se pega en HTML , el código debería verse así
<a href=" magnet:?dn=file.ext & tr=http%3A%2F%2Ftracker.example.org%2Fannounce.php%3Fuk%3D1111111111%26 ">file.ext</a>Esto se puede hacer usando el programa Notepad ++ v5.4.5+, usando el elemento de menú TextFX -> TextFX Convert -> Codificar HTML (&<>")
Salto de líneaSi necesita dividir el enlace en líneas [10] , es mejor colocar la transición a una nueva línea antes del signo "&" (y comercial). En este caso, al encontrarlo al comienzo de la línea, puede comprender fácilmente que se trata de una continuación del enlace magnético.
imán:?xl=10826029&dn=mediawiki-1.15.1.tar.gz & xt= urna:árbol:tigre:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY & xt= urna:btih:QHQXPYWMACKDWKP47RRVIV7VOURXFE5Q PublicaciónAlgunos foros crean una etiqueta especial BBCode [magnet], pero si no existe, puede intentar usar la etiqueta [url].
Insertar un imán en una etiqueta [url] puede inutilizar el analizador del foro . Para sortear esta limitación, puede usar el sitio [11] , que le permitirá crear una URL a partir de un enlace magnético agregando su dirección al principio.
Ejemplo:
https://ivan386.github.io/#magnet:?xl=10826029&dn=mediawiki-1.15.1.tar.gz&xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY Archivado el 15 de enero de 2015 en Wayback Machine .Al hacer clic en dicho enlace, el usuario será llevado a una página que lo redirigirá al enlace magnético original. El enlace magnético en sí no se envía en una solicitud GET al servidor, lo que lo hace invisible para el proveedor y el servidor. Pero en las redes sociales, al publicar, dicho enlace puede cortarse debido a los símbolos "#" y ":" al símbolo "?". En este caso, al eliminarlos, puede eludir esta limitación, pero al mismo tiempo, estos enlaces magnéticos ya se transmitirán en una solicitud GET al servidor.
Ejemplo:
https://ivan386.github.io/magnet?xl=10826029&dn=mediawiki-1.15.1.tar.gz&xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJYEnlace magnético al archivo mediawiki-1.15.1.tar.gz (el enlace está dividido en líneas para facilitar la lectura):
imán:?xt=urna:ed2k:354B15E68FB8F36D7CD88FF94116CDC1 &xl=10826029 &dn=mediawiki-1.15.1.tar.gz &xt= urna:árbol:tigre:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY &xt= urna:sha1:XRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5 &xt= urna:aich:7ZDRR3ZQW4JMHUQZUMJGQN2VNGLV3CVN &xt= urna:btih7:QRRQVIKXPY &tr=http%3A%2F%2Ftracker.ejemplo.org%2Fannounce.php%3Fuk%3D1111111111%26 &tr=wss%3A%2F%2Ftracker.webtorrent.io &as=http%3A%2F%2Fdownload.wikimedia.org%2Fmediawiki%2F1.15%2Fmediawiki-1.15.1.tar.gz &ws=http%3A%2F%2Fdownload.wikimedia.org%2Fmediawiki%2F1.15%2Fmediawiki-1.15.1.tar.gz &xs=http%3A%2F%2Fcaché.ejemplo.org%2FXRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5 &xs=dchub://example.org Archivado el 28 de diciembre de 2021 en Wayback Machine [12]Este enlace se puede codificar como un código QR .
Este enlace también se puede acortar utilizando algunos servicios de acortamiento de URL que admiten un esquema de URI , magnet:como TinyURL o mgnet.me (se omite el esquema (protocolo) http:):
tinyurl.com/lr85y2gEsto puede ser útil en varios casos, como cuando se publica un enlace magnético en Twitter que está limitado a 140 caracteres, o cuando se codifica un enlace magnético como un código QR para reducir el tamaño de este último.
Este enlace contiene la información necesaria para poder descargarlo en cinco redes P2P : eDonkey2000 , Direct Connect , BitTorrent , Gnutella , Gnutella2 . Esto permite que los programas cliente que admiten múltiples redes P2P descarguen y compartan archivos entre redes.
La mayoría de los programas cliente no pueden procesar (analizar) correctamente un enlace universal y/o no admiten algunos protocolos y no pueden ignorar parámetros no admitidos, o son sensibles a la disposición mutua de parámetros en enlaces magnet. En tales casos, el enlace debe prepararse con anticipación: organice los parámetros en el enlace en el orden deseado y/o elimine los parámetros no admitidos.
También implementa un sistema similar a un rastreador de torrents para redes Gnutella2 y Direct Connect :
Universal | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Cliente | dn | SG | xt | como | xs | ws | kt | monte | tr | Interceptación | Insertar |
compartiraza | Sí | Sí | urna: sha1: urna: árbol: tigre: urna: bitprint: urna: ed2k: urna: md5: urna: btih: |
http: ftp: |
http: ftp: |
? | Sí | No | Sí | Sí | Sí |
mlburro | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Conexión directa | |||||||||||
ApexDC++ 1.0.1 | Sí | Sí | urna: árbol: tigre: urna: bitprint: |
dchub://[dirección del concentrador]: [puerto del concentrador] | dchub://[dirección del concentrador]: [puerto del concentrador] | ? | No | ? | No | Sí | No |
Lanzamiento de FlylinkDC++ r500 | Sí | Sí | urna: árbol: tigre: urna: bitprint: urna: btih: |
dchub://[dirección del concentrador]: [puerto del concentrador] adc ://[dirección del concentrador]: [puerto del concentrador] adcs://[dirección del concentrador]: [puerto del concentrador] |
dchub://[dirección del concentrador]: [puerto del concentrador] adc ://[dirección del concentrador]: [puerto del concentrador] adcs://[dirección del concentrador]: [puerto del concentrador] |
? | Sí | No | No | Sí | Sí |
EiskaltDC++ 2.2.6 | Sí | Sí | urna: árbol: tigre: urna: bitprint: solo cliente torrent: urna: btih: urna: btmh: |
dchub://[dirección del concentrador]: [puerto del concentrador] adc ://[dirección del concentrador]: [puerto del concentrador] adcs://[dirección del concentrador]: [puerto del concentrador] |
dchub://[dirección del concentrador]: [puerto del concentrador] adc ://[dirección del concentrador]: [puerto del concentrador] adcs://[dirección del concentrador]: [puerto del concentrador] |
? | Sí | No | No | Sí | Sí |
Enlace gris 0.39 | Sí | Sí | urna: árbol: tigre: urna: bitprint: |
? | ? | ? | ? | ? | No | Sí | Sí |
bittorrent | |||||||||||
Vuze (antiguo nombre: Azureus ) 3.0 | ? | ? | urna:btih: | ? | ? | ? | ? | ? | ? | ? | ? |
Leech Craft 0.5 | Sí | Sí | urna:btih: | ? | ? | ? | Sí | ? | Sí | Sí | Sí |
µTorrent 3.4 | Sí | Sí | urna:btih: | ? | ? | http: https: |
? | ? | http: upp: |
Sí | Sí |
BitComet | Sí | Sí | urna:btih: | No | No | ? | No | No | Sí | Sí | Sí |
Transmisión (a partir de v2.84) [15] [16] | Sí | No | urna:btih: | No | No | Sí | No | No | Sí | Sí | Sí |
Gnutella | |||||||||||
LimaAlambre | Sí | Sí | urna:sha1: | http: urna:guid: |
? | ? | No | No | No | Sí | Sí |
EBurro2000 | |||||||||||
aMule 2.2.1 | Sí | Sí | urna: ed2k: | ? | ? | ? | ? | ? | ? | Posible con el controlador de protocolo MLDonkey para FireFox | Sí |
WebTorrent ( BitTorrent sobre WebRTC ) | |||||||||||
instant.io | Sí | ? | urna:btih: | http: https: |
? | http: https: |
? | ? | wss:wss : |
Sí | Sí |
βTorrent (btorrent.xyz) | Sí | ? | urna:btih: | http: https: |
? | http: https: |
? | ? | wss:wss : |
No | Sí |
Cliente | dn | SG | xt | como | xs | ws | kt | monte | tr | Interceptación | Insertar |
"Sí" - compatible; "No" - no compatible; "?" - Se desconoce el soporte.
La mayoría de los clientes "interceptan" el enlace magnético solo desde el navegador. Por lo tanto, el enlace magnético debe insertarse en la barra de direcciones del navegador y seguirlo. Para otro tipo, simplemente haga clic en el enlace con el mouse. GreyLink y FlylinkDC++ le permiten ingresar enlaces magnéticos en el cliente (“Archivo → Ingresar enlace magnético…”, o “Ctrl+M”). EiskaltDC++ te permite copiar un enlace magnético a la barra de búsqueda rápida y pulsar Intro, abrir el enlace desde el portapapeles ("Archivo → Abrir enlace magnético", o "Ctrl + I") o pasar el enlace como argumento al iniciar el programa .
"Acepta" un enlace magnético solo si se inserta en la línea eD2k Link en la parte inferior del cliente. Por lo tanto, el enlace primero debe "recopilarse", copiarse, pegarse en este campo y hacer clic en el botón Agregar.
ED2K Hash , el tamaño y el nombre del archivo deben aparecer primero y en ese orden. El cliente comparte el enlace. Los datos del tamaño del archivo y su hash pueden estar en diferentes partes. Debido a esto, el enlace puede quedar inutilizable para la descarga.
URI | esquemas|
---|---|
Oficial | |
no oficial |