Металинк

Формат файла, описывающий один или несколько компьютерных файлов, доступных для загрузки.

Металинк
Логотип Metalink
Расширение имени файла
.meta4, .metalink
Тип интернет-СМИ
  • приложение/metalink4+xml,
  • приложение/metalink+xml
Тип форматаРаспространение файлов
Расширенный отXML , HTTP
СтандартRFC 5854, RFC 6249

Metalink — это расширяемый формат файла метаданных , который описывает один или несколько компьютерных файлов, доступных для загрузки . Он определяет файлы, соответствующие языку и операционной системе пользователя ; облегчает проверку файлов и восстановление после повреждения данных ; и перечисляет альтернативные источники загрузки ( зеркальные URI ).

Метаданные кодируются в полях заголовка HTTP и/или в XML- файле с расширением .meta4 или .metalink . Дублирующиеся места загрузки обеспечивают надежность в случае сбоя одного метода. Некоторые клиенты также достигают более высокой скорости загрузки, позволяя загружать различные фрагменты/сегменты каждого файла из нескольких ресурсов одновременно (сегментированная загрузка).

Metalink поддерживает перечисление нескольких частичных и полных хэшей файлов вместе с подписями PGP . Однако большинство клиентов поддерживают только проверку MD5 , SHA-1 и SHA-256 . Помимо местоположений зеркал FTP и HTTP и rsync , он также поддерживает перечисление методов P2P BitTorrent , ed2k , magnet link или любых других, которые используют URI .

История развития

Metalink 3.0 был публично выпущен в 2005 году. Он был разработан для помощи в загрузке образов Linux ISO и других больших файлов в день выпуска, когда серверы были перегружены (каждый сервер приходилось пробовать вручную), а также для восстановления больших загрузок путем замены только частей с ошибками вместо полной повторной загрузки. Первоначально он был принят менеджерами загрузок и использовался проектами с открытым исходным кодом, такими как OpenOffice.org и дистрибутивами Linux . Вокруг него развилось сообщество, его поддерживало больше программ загрузки (включая проприетарные), и он получил коммерческое признание. В 2008 году сообщество передало свою работу в Internet Engineering Task Force , что привело к появлению Metalink 4.0 в 2010 году, описанному в Standards Track RFC . [1] Metalink 3.0 (с расширением .metalink ) и Metalink 4.0 (с расширением .meta4 ) несовместимы, поскольку имеют немного другой формат. В 2011 году другой Standards Track RFC описал Metalink в полях заголовка HTTP . [2]

Клиентские программы

Инструментна основе DebianНа основе FedoraНа основе Archна основе BSDОкна
ария2 [3]ДаДаДа [4]Да [5]
cURLНет; curl больше не поддерживает Metalink [6]Нет; curl больше не поддерживает MetalinkНет; curl больше не поддерживает Metalink
WgetДа; v1.17 или более поздняя версия, созданная с поддержкой metalinkДа; v1.17 или более поздняя версия, созданная с поддержкой metalinkДа; v1.17 или более поздняя версия, созданная с поддержкой metalinkДа; v1.17 или более поздняя версия, созданная с поддержкой metalink
DownThemAllнет в репонет в репонет в репонет в репо
FlashGotнет в репонет в репонет в репонет в репо
Бесплатный менеджер загрузокнет в репонет в репонет в репонет в репо
GetRightнет в репонет в репонет в репонет в репо
jDownloaderнет в репонет в репонет в репонет в репо
KGetДаДаДаДаНет
Фекснет в репонет в репонет в репонет в репо
SmartFTPнет в репонет в репонет в репонет в репо
easyMuleнет в репонет в репонет в репонет в репо
ЗЫппнет в репонет в репонет в репонет в репо

Клиентские библиотеки

  • libmetalink ( Лицензия MIT ) — библиотека Metalink, написанная на языке C. Она обеспечивает разбор XML-файлов Metalink для программ, написанных на языке C, и использует Expat (библиотеку) или libxml2 . Она не обрабатывает фактическую загрузку файлов. Она используется cURL и другими клиентскими программами.
  • metalink-checker ( GPL ) — это загрузчик командной строки, написанный на Python , который поддерживает многоисточниковые загрузки и контрольные суммы кусков, а также проверку зеркал. Его также можно использовать как библиотеку Python .

В использовании

Mandriva Linux интегрировала Metalink в управление пакетами с помощью urpmi и aria2. Fedora интегрировала Metalink в управление пакетами с помощью yum . openSUSE интегрировала Metalink в управление пакетами с помощью ZYpp и aria2.

Wubi , установщик Ubuntu на базе Windows , использует Metadl ( LGPL ) для загрузки образов Ubuntu ISO и использует преимущества функций Metalink, таких как более высокая доступность и повышенная надежность. Если в загрузке есть ошибки, они исправляются, вместо того, чтобы перезапускать большую загрузку.

Appupdater ( GPL ) для Windows «аналогичен apt-get или yum в Linux. Он автоматизирует процесс установки и поддержания актуальных версий программ». [ необходима цитата ]

В настоящее время OpenOffice.org использует Metalinks для распространения своего бесплатного офисного пакета. cURL предлагает Metalinks своих загрузок. UniProt Consortium также предоставляет Metalink для своей большой базы данных белков. Dofus , Flash MMORPG, использует Metalinks для загрузок, как и SageMath , математическое программное обеспечение с открытым исходным кодом.

По данным основного сайта metalinker.org, платформа для хостинга и совместной работы с программным обеспечением Origo генерирует Metalinks для всех размещенных релизов. [7]

Следующие дистрибутивы Linux используют Metalink для распространения образов ISO : [ требуется ссылка ] Adios, Bayanihan Linux, BeleniX , Berry Linux , BLAG Linux и GNU , Bluewhite64 Linux, Damn Small Linux , Fedora , GoboLinux , Granular Linux , KateOS , Linux Mint , openSUSE , Pardus Linux , PCLinuxOS , PuppyLinux , Sabayon Linux , StartCom Enterprise Linux, SUSE Linux , Ubuntu .

Следующие дистрибутивы на базе FreeBSD используют Metalink для распространения образов ISO : DesktopBSD , MidnightBSD и TrueOS .

Руководство по поддержке клиентами тех или иных функций Metalink:

КлиентwgetcURLDownThemAllБесплатный менеджер загрузокGetRightKGetФексSmartFTP
ЛицензированиеСвободное программное обеспечение ( GNU General Public License )Бесплатное программное обеспечение (производная лицензия MIT/X)Свободное программное обеспечение ( GNU General Public License )Свободное программное обеспечение ( GNU General Public License )Собственная версия / $29,95 для Standard, $49,95 для ProСвободное программное обеспечение ( GNU General Public License )Свободное программное обеспечение ( GNU General Public License )Запатентованная / Бесплатная 30-дневная оценка

Несколько версий/$39.99 Professional

ИнтерфейсCLICLIграфический интерфейсграфический интерфейсграфический интерфейсграфический интерфейсграфический интерфейсграфический интерфейс
Металинк 4.0ДаДаДаНетНетДаНетДа
Работает на LinuxДаДаДаНетНетДаДаНет
Работает на WindowsДаДаДаДаДаНетДаДа
Работает на Mac OS XДаДаДаНетНетНетДаНет
Резюме Загрузки?ДаДаДаДаДаДаДа [8]
Сегментированные загрузки??ДаДаДаДаДаНет
Поддержка нескольких файлов??ДаДаДаДаДаДа
"расположение"??ДаНетНетНетНетНет
ОС??ДаДаНетНетНетНет
Язык??ДаНетНетНетНетНет
HTTP с прозрачным согласованием??ДаНетНетНетНетНет
Металинк/HTTP??НетНетНетНетНетНет
HTTPДаДаДаДаДаДаДаДа
ФТПДаДаДаДаДаДаДаДа
BitTorrent?НетДаДаДаНетНет
магнит??НетНетНетНетДаНет
MD5-хэши?ДаДаДаДаДаДа
SHA-1 хэши?ДаДаДаДаДаДа
SHA-256 хэши?ДаДаНетНетНетДа
Хэши частей??НетНетНетНетНетНет
Подписи PGP??НетНетНетНетНетНет

В настоящее время ни один клиент не поддерживает rsync .

Metalink отформатирован как XML, поэтому его можно либо создать вручную, либо с помощью библиотеки XML, что полезно для автоматизации. Эти инструменты предназначены специально для Metalink.

  • Bouncer — это «приложение для управления зеркалами на основе базы данных, которое состоит из трех основных компонентов: скрипта bounce, скрипта Sentry для проверки зеркал и файлов на целостность и набора веб-инструментов администрирования». Bouncer поддерживает Metalink через патч, который еще не был интегрирован в исходный код.
  • Geo McFly ( GPL ) — это генератор металинков «на лету», основанный на географическом местоположении загрузчика, написанный на Python .
  • Metalink Editor (GPL) — кроссплатформенный графический редактор Metalink, написанный на Python, позволяющий создавать и редактировать Metalink.
  • Metalink Library (GPL) — кроссплатформенная библиотека Metalink для Python и PHP на основе редактора Metalink с множеством автоматических функций и простым интерфейсом командной строки для создания файлов Metalink и Torrent.
  • Metalink Generator также можно использовать для создания Metalinks путем заполнения веб-формы.
  • Metalink tools (GPL) Инструменты командной строки Unix/Windows для создания Metalink с хэшами и списками зеркал/p2p.
  • Динамические онлайн металинки на основе метаданных. Автоматически созданные металинки на основе метаданных, опубликованных каждым зеркалом.
  • MirrorManager ( лицензия MIT X11 ) используется проектом Fedora для динамического составления списка зеркал.
  • MirrorBrain ( GPL , Apache License ) — это генератор Metalink в реальном времени и перенаправитель загрузок. Он может либо возвращать Metalink, либо автоматически перенаправлять не-Metalink-клиентов (через HTTP-перенаправление) на зеркальный сервер рядом с ними. Поддерживаются прозрачное согласование Metalinks, встраивание подписей PGP, Metalink/HTTP и другие расширенные функции. Он используется, например, openSUSE и OpenOffice.org .

Файлы Metalink 4.0 имеют расширение .meta4 и являются текстовыми файлами XML . Они обслуживаются с помощью типа интернет-носителя application/metalink4+xml .

 <?xml version="1.0" encoding="UTF-8"?> <metalink xmlns= "urn:ietf:params:xml:ns:metalink" > <published> 2009-05-15T12:23:23Z </published> < file name= " example.ext " > <size> 14471447 </size> <identity> Пример </identity> <version> 1.0 </version> <language> en </language> <description> Описание файла примера для загрузки. </description> <hash type= "sha-256" > 3d6fece8033d146d8611eab4f032df738c8c1283620fd02a1f2bfec6e27d590d </hash> <url location= "de" priority= " 1" > ftp://ftp.example.com/example.ext </url> <url location= "fr" priority= "1" > http://example.com/example.ext </url> <metaurl mediatype= "torrent" priority= "2" > http://example.com/example.ext.torrent </metaurl> </file> </metalink>                                

Пример полей заголовка Metalink/HTTP

Metalink в полях заголовка HTTP использует существующие стандартные поля заголовка HTTP , такие как ETags , поля заголовка Link (для зеркал и P2P) и Instance Digest (для хэшей).

Тег: "thvDyvhfIqlvFe+A9MYgxAfm1q5="Ссылка: <http://www2.example.com/example.ext>; rel=duplicateСсылка: <ftp://ftp.example.com/example.ext>; rel=duplicateСсылка: <http://example.com/example.ext.torrent>; rel=describedby; type="application/x-bittorrent"Ссылка: <http://example.com/example.ext.meta4>; rel=describedby; type="application/metalink4+xml"Ссылка: <http://example.com/example.ext.asc>; rel=describedby; type="application/pgp-signature"Дайджест: SHA-256=MWVkMWQxYTRiMzk5MDQ0MzI3NGU5NDEyZTk5OWY1ZGFmNzgyZTJlODYzYjRjYzFhOTlmNTQwYzI2M2QwM2U2MQ==

Файлы Metalink 3.0 имеют расширение .metalink и представляют собой текстовые файлы XML .

 <?xml version="1.0" encoding="UTF-8"?> <metalink version= "3.0" xmlns= "http://www.metalinker.org/" > <files> <file name= "example.ext" > <verification> <hash type= "md5" > example-md5-hash </hash> <hash type= "sha1" > example-sha1-hash </hash> <signature type= "pgp" /> </verification> <resources> <url type= "ftp" location= "us" preference= "90" > ftp://ftp.example.com/example.ext </url> <url type= "ftp" location= "uk" preference= "90" > ftp://ftp.example.net/example.ext </url> <url type= "http" location= "us" preference = " "90" > http://example.com/example.ext </url> <url type= "http" location= "de" preference= "90" > http://example.net/example.ext </url> <url type= "bittorrent" preference= "100" > http://example.org/example.ext.torrent </url> <url type= "rsync" /> <url type= "magnet" /> <url type= "ed2k" /> </resources> </file> </files> </metalink>                                             

Смотрите также

Ссылки

  1. Брайан, Энтони; Цудзикава, Тацухиро; Макнаб, Нил; Поэмл, Питер (июнь 2010 г.). Формат описания загрузки Metalink. IETF . doi : 10.17487/RFC5854 . RFC 5854 . Получено 30 мая 2022 г. .
  2. ^ Брайан, Энтони; Макнаб, Нил; Цудзикава, Тацухиро; Поэмл, Питер; Нордстром, Хенрик (июнь 2011 г.). Metalink/HTTP: Зеркала и хэши. IETF . doi : 10.17487/RFC6249 . RFC 6249 . Получено 30 мая 2022 г. .
  3. ^ Цудзикава, Тацухиро. "aria2: утилита загрузки следующего поколения". GitHub . Архивировано из оригинала 2021-07-27 . Получено 2022-05-30 .
  4. ^ "Поиск пакетов". Arch Linux . 2021-08-21. Архивировано из оригинала 2022-05-30 . Получено 2022-05-30 .
  5. ^ "Aria2 Client 1.36.0". Chocolatey . 2021-08-21. Архивировано из оригинала 2022-05-30 . Получено 2022-05-30 .
  6. ^ "metalink: удалить". GitHub . 2021-06-07.
  7. ^ https://www.metalinker.org/implementation.html [ пустой URL ]
  8. ^ "SmartFTP - Features". SmartFTP . Архивировано из оригинала 2022-05-30 . Получено 2022-05-30 .
  • Официальный сайт
Взято с "https://en.wikipedia.org/w/index.php?title=Metalink&oldid=1268098940"