Metalink

Metalink
Расширение .meta4, .metalink
MIME-тип application/metalink4+xml,
application/metalink+xml
Опубликован июнь 2010[1]
Тип формата Метаданные
Расширен из XML, HTTP
Стандарт(ы) RFC 5854, RFC 6249
Сайт metalinker.org (англ.)

Metalink — открытый формат файлов на основе XML, предназначенный для описания ссылок на файлы для загрузки по протоколам HTTP, FTP, BitTorrent и т. п.

Несколько адресов (FTP, HTTP, P2P), по которым расположен один и тот же файл для закачки, размещаются в одном метафайле с расширением .metalink. Использование файла подобного формата позволяет, с одной стороны, увеличить надёжность в случаях, когда файл по части адресов будет недоступен, с другой — для компьютеров с высокоскоростным подключением к сети — увеличить интенсивность процесса скачивания посредством закачки сегментов файла одновременно из разных источников (сегментированная закачка).

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

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

Клиенты

  • aria2 (GPL) — консольная Unix/Windows-утилита для закачки, поддерживающая BitTorrent и Metalink (HTTP/FTP/BitTorrent).
  • Download Master (за границей известен как Internet Download Accelerator) — менеджер закачек для Windows, поддерживает Metalink начиная с версии 5.6.2.1191.
  • DownThemAll (GPL) — расширение браузера Firefox, обеспечивающее функциональность менеджера закачек, с базовой поддержкой Metalink.
  • FlashGot (GPL) — расширение браузера Firefox, предназначенное для интеграции с большинством менеджеров закачек, с поддержкой Metalink.
  • Free Download Manager (GPL) — менеджер закачек для Windows, поддерживает Metalink (HTTP/FTP) начиная с версии 2.5.
  • GetRight 6 — менеджер закачек для Windows, поддерживает Metalink (HTTP/FTP/BitTorrent).
  • KGet (GPL) — родной менеджер закачек для KDE, поддерживает Metalink начиная с KDE 4.
  • libmetalink (MIT) — С-библиотека, предназначенная для реализации функционала Metalink (парсинг .metalink-файлов и др.) в программах на C.
  • Metadl (LGPL) — плагин для NSIS, основанный на cURL, с поддержкой Metalink (закачка идет только с одного URL), возобновления закачки, проверки контрольных сумм. Metadl используется в Wubi — установщике Ubuntu для Windows.
  • Metalink Checker (недоступная ссылка) (GPL) — кроссплатформенная консольная программа для закачки, написанная на Питоне, с поддержкой закачки из разных источников, в том числе и перечисленных в .metalink-файлах.
  • Opera — поддерживает Metalink.
  • Orbit Downloader — менеджер закачек для Windows, с поддержкой Metalink (HTTP/FTP).
  • Net Transport — менеджер закачек для Windows с поддержкой Metalink.
  • Phex (GPL) — клиент для сети Gnutella, работающий в Mac/Unix/Windows, с поддержкой закачек с помощью Metalink, экспорта в .metalink-файлы.
  • Retriever — кроссплатформенный менеджер закачек на Java с поддержкой Metalink и BitTorrent.
  • SmartFTP — графический FTP-клиент для Windows, поддерживающий Metalink для добавления файлов в очередь передачи по FTP и сверки контрольных сумм. Сегментированные закачки не поддерживаются.
  • Speed Download — менеджер закачек для Mac, с поддержкой Metalink (HTTP/FTP) начиная с версии 4.1.0.
  • TheWorld Browser — веб-браузер для Windows со встроенной поддержкой Metalink (HTTP/FTP).
  • VeryCD easyMule — версия eMule с поддержкой Metalink.
  • wxDownload Fast (GPL) — менеджер закачек для Mac/Unix/Windows с поддержкой Metalink (HTTP/FTP).

Использование

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

Appupdater (GPL) для Windows, автоматизирующий процесс установки и обновления программ до последних версий (по функциональности схож с apt-get и yum в GNU/Linux), использует Metalink. Тестируется работа Metalink с программой управления пакетами Pacman для Arch Linux.

OpenOffice.org использует Metalink для распространения выпускаемого им бесплатного пакета офисных программ. Также, Metalink используют для размещения адресов закачек cURL, UniProt, Dofus (MMORPG на Flash) и другие.

ISO-образы дистрибутивов многих открытых операционных систем распространяются, помимо прочего, с использованием Metalink. Среди них Arch Linux, BeleniX, Berry Linux, BLAG Linux and GNU, Damn Small Linux, DesktopBSD, KateOS, Linux Mint, openSUSE, PC-BSD, Pardus Linux, PuppyLinux, redWall Firewall, Sabayon Linux, StartCom Enterprise Linux, SUSE Linux, Ubuntu.

Сравнение поддержки клиентами

Таблица сравнения показывает для каждого из клиентов, какие из возможностей Metalink им поддерживаются:

aria2 DownThemAll Free Download Manager GetRight KGet Metadl Metalink Checker (недоступная ссылка) Orbit Downloader Phex Retriever SmartFTP Speed Download TheWorld wxDownload Fast
Лицензия Своб. (GPL) Своб. (GPL) Своб. (GPL) Собств. / Standard — 29,95 $, Pro — 49,95 $ Своб. (GPL) Своб. (LGPL) Своб. (GPL) Собств. / Freeware Своб. (GPL) Собств. / Freeware Собств. / Freeware для частных лиц, комм. — 36,95 $ Собств. / 25 $ Собств. / Freeware Своб. (GPL)
Интерфейс CLI GUI GUI GUI GUI GUI CLI GUI GUI GUI GUI GUI GUI GUI
Работает в Linux Да Да Нет Нет Да Нет Да Нет Да Да Нет Нет Нет Да
Работает в Windows Да Да Да Да Да Да Да Да Да Да Да Нет Да Да
Работает в Mac OS X Да Да Нет Нет Нет Нет Да Нет Да Да Нет Да Нет Нет
Докачка Да Да Да Да Да Да Да Да ? Да Да Да Да Да
Сегментированная закачка Да Да Да Да Да Нет Да Да ? Да Нет Да Да Да
Мультифайловая закачка Да Да Нет Да Да Да Да Да ? Да Да Да Да Да
Выбор геоположения Да Да Нет Нет Нет Нет Да Нет ? Да Нет Нет Нет Нет
Выбор ОС Да Да Нет Нет Нет Нет Да Нет ? Да Нет Да Нет Нет
Выбор языка Да Да Да Нет Нет Нет Да Да ? Да Нет Да Нет Нет
HTTP с прозрачным согласованием Да Да Нет Нет Нет Нет Да Нет Нет Да Нет Нет Нет Нет
HTTP Да Да Да Да Да Да Да Да ? Да Нет Да Да Да
FTP Да Да Да Да Да Да Да Да ? Да Да Да ? Да
BitTorrent Да Нет Да Да Да Нет Нет Нет ? Да Нет Нет Нет Нет
magnet Да Нет Да Нет Нет Нет Нет Да ? Нет Нет Нет Нет Нет
MD5 Да Да Да Да Да Да Да Да ? Да Да Да Нет Да
SHA-1 Да Да Да Да Да Да Да Да ? Да Да Да Нет Да
SHA-256 Да Да Нет Нет Нет Нет Да Нет ? Да Нет Нет Нет Нет
Piece Да Нет Нет Нет Нет Да Да Нет ? Да Нет Нет Нет Нет
PGP Нет Нет Нет Нет Нет Нет Да Нет Нет Нет Нет Нет Нет Нет

Клиентов, поддерживающих ed2k и rsync вместе с Metalink, пока ещё нет.

.metalink-файл — это обычный текстовый XML-файл.

 <?xml version="1.0" encoding="UTF-8" ?>
 <metalink version="3.0" xmlns="http://metalinker.org">
   <files>
     <file name="example.ext">
       <size>0</size>
       <verification>
         <hash type="tth">LWPNACQDBZRYXW3VHJVCJ64QBZNGHOHHHZWCLNQ</hash>
         <hash type="sha1">3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ</hash>
         <hash type="ed2k">31D6CFE0D16AE931B73C59D7E0C089C0</hash>
         <hash type="md5">D41D8CD98F00B204E9800998ECF8427E</hash>
         <hash type="aich">3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ</hash>
         <hash type="tiger">24F0130C63AC933216166E76B1BB925FF373DE2D49584E7A</hash>
         <hash type="crc32">00000000</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>http://example.info/example.ext</url>
         <url type="magnet">magnet:?xl=0&amp;dn=example.ext&amp;xt=urn:bitprint:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ.LWPNACQDBZRYXW3VHJVCJ64QBZNGHOHHHZWCLNQ</url>
         <url type="ed2k">ed2k://|file|example.ext|0|31D6CFE0D16AE931B73C59D7E0C089C0|h=3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ|/</url>
         <url type="rsync"/>
       </resources>
       <description>Это описание файла example.ext.</description>
     </file>
   </files>
 </metalink>

См. также

Примечания

Ссылки