Magnet es un esquema de URI que define el formato de los enlaces magnéticos , un estándar de facto para identificar archivos ( URN ) por su contenido, a través del valor hash criptográfico en lugar de por su ubicación.
Aunque los enlaces magnéticos se pueden usar en varios contextos, son particularmente útiles en redes de intercambio de archivos de igual a igual porque permiten que se haga referencia a los recursos sin la necesidad de un host continuamente disponible, y pueden ser generados por cualquier persona que ya esté disponible. tiene el expediente, sin necesidad de que una autoridad central los emita. Esto los hace populares para su uso como términos de búsqueda "garantizados" dentro de la comunidad de intercambio de archivos donde cualquiera puede distribuir un enlace magnético para asegurarse de que el recurso recuperado por ese enlace sea el previsto, independientemente de cómo se recupere.
Historia
El estándar para Magnet URI fue desarrollado por Bitzi en 2002, en parte como una "generalización neutral del proveedor y del proyecto" de los esquemas ed2k:
y freenet:
URI utilizados por eDonkey2000 y Freenet , respectivamente, e intenta seguir los estándares oficiales IETF URI lo más fielmente posible. BitTorrent introdujo el btmh:
protocolo en 2020 como parte de sus cambios BitTorrent v2. [1]
Formato
Los URI magnéticos consisten en una serie de uno o más parámetros, cuyo orden no es significativo, formateados de la misma manera que las cadenas de consulta que normalmente terminan las URL HTTP . El parámetro más común es "xt" ("tema exacto"), que generalmente es un URN formado a partir del hash de contenido de un archivo en particular, por ejemplo:
magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a
Esto se refiere a la hexagonal codificados con SHA-1 de hash (btih, "BitTorrent info-hash") de la sección de información del archivo torrent en cuestión. Tenga en cuenta que, aunque se indica un archivo en particular, la aplicación cliente aún debe realizar una búsqueda de disponibilidad.
Parámetros
Se admiten los siguientes parámetros:
Parámetro | Nombre | Descripción |
---|---|---|
dn | Nombre para mostrar | Un nombre de archivo para mostrar al usuario, por conveniencia. |
SG | eXact longitud | Tamaño (en bytes) |
xt | Tema eXact | URN que contiene el hash del archivo . Esta es la parte más importante del enlace magnético y se utiliza para buscar y verificar el archivo especificado. La URN es específica del protocolo, por lo que una URN de hash de archivo en btih (BitTorrent) sería completamente diferente que la URN de hash de archivo para ed2k
|
ws | Semilla Web | Los datos de carga útil servidos a través de HTTP (S) |
como | Fuente aceptable | Se refiere a una descarga directa desde un servidor web. Considerado solo como una fuente alternativa en caso de que un cliente no pueda ubicar y / o descargar el archivo vinculado en su (s) red (s) P2P admitidas
|
xs | Fuente eXact | Una fuente de descarga HTTP (o HTTPS, FTP, FTPS, etc.) para el archivo al que apunta el enlace Magnet, la dirección de una fuente P2P para el archivo o la dirección de un concentrador (en el caso de DC ++ ), por que un cliente intenta conectarse directamente, solicitando el archivo y / o sus fuentes. Los clientes P2P suelen utilizar este campo para almacenar la fuente y puede incluir el hash del archivo. |
kt | Tema de palabra clave | Especifica una cadena de palabras clave de búsqueda para buscar en redes P2P, en lugar de un archivo en particular.
|
monte | Tema manifiesto | Enlace al metarchivo que contiene una lista de magneto (MAGMA - MAGnet MAnifest ); es decir, un enlace a una lista de enlaces
|
tr | dirección TRacker | URL del rastreador ; se utiliza para obtener recursos para descargas de BitTorrent sin necesidad de soporte DHT . [2] El valor debe estar codificado en URL.
|
El estándar también permite parámetros experimentales específicos de la aplicación, que deben comenzar con "x".
xt tema exacto
El parámetro xt especifica el URN para un protocolo p2p dado. Su propósito es proporcionar un parámetro de búsqueda para encontrar los metadatos del torrent. Esto actúa efectivamente como un reemplazo de un archivo .torrent, que a su vez contiene los metadatos de torrent, al buscar en su lugar esos metadatos en la red p2p (usando la URN). Cada protocolo maneja un URN de forma única; por ejemplo, xt=urn:btih:FFC7E738EAA4CD4ECF51EC6FD669C6CDE2C281A8
usa el btih (protocolo BitTorrent v1), por lo que un cliente BitTorrent puede tomar el hash y buscar los metadatos del torrent en BitTorrent DHT. En el caso de DHT, el cliente busca a través de un conjunto de nodos previamente conocidos y solicita los metadatos para un infohash; esos nodos harán la misma solicitud a otros nodos conocidos hasta que finalmente se encuentre y se devuelva un enjambre.
xt también permite una configuración de grupo. Se pueden incluir varios archivos agregando un número de recuento precedido por un punto (".") A cada parámetro de enlace.
magnet:?xt.1=[ URN of the first file]&xt.2=[ URN of the second file]
- Hash de árbol de tigre (TTH)
- Estos hashes se utilizan en Direct Connect y G2 (Gnutella2), entre otros.
xt=urn:tree:tiger:[ TTH Hash (Base32) ]
- Algoritmo hash seguro 1 (SHA-1)
- Estas sumas hash se utilizan en gnutella y G2 (Gnutella2).
xt=urn:sha1:[ SHA-1 Hash (Base32) ]
- BitPrint
- Estas sumas de hash consisten en un hash SHA-1, seguido de un hash TTH, delimitado por un punto; se utilizan en gnutella y G2 (Gnutella2).
xt=urn:bitprint:[ SHA-1 Hash (Base32) ].[ TTH Hash (Base32) ]
- Hash ED2K (eDonkey2000)
- Estas sumas hash se utilizan en eDonkey2000 .
xt=urn:ed2k:[ ED2K Hash (Hex) ]
- Controlador inteligente avanzado de corrupción (AICH)
- No son URN formales para enlaces Magnet; eDonkey2000 utiliza estas sumas de hash para restaurar y controlar la integridad de los archivos descargados y ya descargados.
xt=urn:aich:[ aich Hash (Base32) ]
- Hachís kazaa
- Utilizadas en FastTrack , estas sumas hash son vulnerables a los ataques de colisión hash .
xt=urn:kzhash:[ Kazaa Hash (Hex) ]
- Hash de información de BitTorrent (BTIH)
- Se trata de sumas hash SHA-1 codificadas en hexadecimal de las secciones de "información" de los metarchivos de BitTorrent tal como las utiliza BitTorrent para identificar archivos descargables o conjuntos de archivos. Para la compatibilidad con versiones anteriores de los enlaces existentes, los clientes también deben admitir la versión codificada en Base32 del hash. [2]
xt=urn:btih:[ BitTorrent Info Hash (Hex) ]
Algunos clientes requieren Base32 de info_hash (por ejemplo, Vuze ).
- Resumen de mensajes 5 (MD5)
- Con el apoyo de G2 (Gnutella2), dichos hashes son vulnerables a los ataques de colisión de hash .
xt=urn:md5:[ MD5 Hash (Hex) ]
Enlaces web al archivo
Hay dos tipos de enlaces de descarga que un enlace Magnet puede incluir como fuente directa o de respaldo.
- "como" ("fuente aceptable")
- La mayoría de los clientes tratan "como" como igual al token "xs" cuando se trata de prioridad, e ignoran el tiempo de espera antes de contactar a las fuentes "como" indicadas por las especificaciones.
- URL web direccionable por contenido
- Este tipo de enlace basado en RFC 2168 es utilizado tanto por gnutella como por las aplicaciones G2 . [3]
xs=http://[Client Address]:[Port of client]/uri-res/N2R?[ URN containing a file hash ]
xs=http://192.0.2.27:6346/uri-res/N2R?urn:sha1:FINYVGHENTHSMNDSQQYDNLPONVBZTICF
- Enlace a un concentrador de DirectConnect para buscar fuentes para un archivo
- Este tipo de enlace conecta un cliente DirectConnect inmediatamente al concentrador en cuestión.
xs=dchub://[hub address]:[hub port]
- Referencia a una caché de origen basada en web para un archivo en Gnutella2
- En este caso, el enlace incluido apunta, no a una IP de cliente o fuente directa, sino a una caché de fuente que almacena las IP de otros clientes que lo contactan para descargar el mismo archivo. Una vez que un cliente se conecta a la caché, recibe direcciones IP para fuentes alternativas, mientras que su propia IP se almacena dentro de la caché y se reenvía al siguiente que se conecta a la caché. Este sistema funciona de manera similar a un rastreador de BitTorrent .
xs=http://cache.freebase.be/[ SHA-1 hash ]
- Referencia a una fuente de eD2k
xs=ed2kftp://[client address]:[client port]/[ed2k hash]/[file size]/
Formato del suplemento (x.)
Para opciones informales experimentales y autocomplementarias, x.
se puede utilizar el prefijo seguido de una letra de sufijo elegida. Se garantiza que estos nombres nunca se estandarizarán.
x.[name of the new parameter]=[data of the new parameter (URL encoded)]
Clientela
Cliente | dn | SG | xt | tr | xs | como | kt | monte | ws |
---|---|---|---|---|---|---|---|---|---|
Una mula | sí | sí | urn:ed2k: | No | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido |
ApexDC ++ | sí | sí | urn:bitprint: urn:tree:tiger: | No | dchub: [Nota 1] | dchub: [Nota 1] | No | No | Desconocido |
BitComet | sí | sí | urn:btih: | sí | sí1.76 | No | No | No | Sí 1.74 [4] |
Bitflu | sí | No | urn:btih: | sí | No | No | No | No | Desconocido |
Diluvio | sí | No | urn:btih: | sí | No | No | No | No | Desconocido |
EiskaltDC ++ | sí | sí | urn:tree:tiger: urn:bitprint: urn:btih: [Nota 2] urn:btmh: [Nota 2] | No | dchub: [Nota 1] adc: [Nota 3] adcs: [Nota 4] | dchub: [Nota 1] | sí | No | Desconocido |
FlylinkDC ++ | sí | sí | urn:tree:tiger: urn:bitprint: urn:btih: | No | dchub: [Nota 1] adc: [Nota 3] adcs: [Nota 4] | dchub: [Nota 1] | sí | No | Desconocido |
gtk-gnutella | sí | sí | urn:sha1: | No | http: empujar: | sí | sí | No | Desconocido |
KTorrent | sí | No | urn:btih: | sí | No | No | No | No | Desconocido |
LimeWire | sí | sí | urn:sha1: | No | http: urn: guid : | Desconocido | No | No | Desconocido |
MonoTorrent | sí | sí | urn:btih: | sí | No | sí | No | No | Desconocido |
μTorrent | sí | No | urn:btih: | sí | No | No | No | No | Desconocido |
qBittorrent | sí | No | urn:btih: | sí | Desconocido | Desconocido | No | No | Desconocido |
Shareaza | sí | sí | urn:bitprint: urn:btih: urn:ed2k: urn:md5: urn:sha1: urn:tree:tiger: | Sí [Nota 5] | http: ftp: | http: ftp: (Misma prioridad que xs) | sí | No | Desconocido |
Tixati | sí | sí | urn:btih: | sí | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido |
Transmisión [5] [6] | sí | No | urn:btih: | sí | No | No | No | No | Desconocido |
Vuze | sí | sí | urn:btih: urn:sha1: | sí | sí5.7.5.0 | sí5.7.5.0 | No | No | sí |
Ver también
- BitTorrent
- De igual a igual
- Burnbit
- esquema de URI de ed2k
- Metalink
- Redes de datos con nombre
- Sistema de archivos interPlanetario
Notas
- ^ a b c d e f dchub: // [hubaddress]: [hubport]
- ^ a b Pasa el enlace a un software externo
- ^ a b adc: // [hubaddress]: [hubport]
- ^ a b adcs: // [hubaddress]: [hubport]
- ^ Desde v2.5.1.0
Referencias
- ^ "BitTorrent v2" . BitTorrent . Consultado el 7 de septiembre de 2020 .
- ^ a b BEP-9: Extensión para que los pares envíen archivos de metadatos
- ^ Chapweske, Justin (29 de noviembre de 2001). "Extensiones HTTP para una Web de contenido direccionable" . www-talk . W3C.
- ^ "Mejora del núcleo v1.74: admite el parámetro ws en Magnet URI, para agregar semilla web" . bitcomet . bitcomet.
- ^ "magnet-test.c en trunk / libtransmission; Revisión 9531" . Transmisión.
- ^ "magnet.c en trunk / libtransmission; Revisión 9979" . Transmisión.
enlaces externos
- Proyecto Magnet-URI en SourceForge.net , una definición temprana del formato (última actualización 2002)
- Utilidad CHK Freeware Checksum con compatibilidad con SHA1-Base32 y ED2K
- RHash en SourceForge.net , una herramienta de línea de comandos de código abierto , que puede calcular enlaces Magnet