Metalink
Metalink — открытый формат файлов на основе XML, предназначенный для описания ссылок на файлы для загрузки по протоколам HTTP, FTP, BitTorrent и т. п.
Metalink | |
---|---|
Расширение |
.meta4, .metalink |
MIME-тип |
application/metalink4+xml, application/metalink+xml |
Опубликован | июнь 2010[1] |
Тип формата | Метаданные |
Расширен из | XML, HTTP |
Стандарт(ы) | RFC 5854, RFC 6249 |
Сайт | metalinker.org (англ.) |
Несколько адресов (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-файл
.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&dn=example.ext&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>