В этой статье есть несколько проблем. Помогите улучшить ее или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения )
|
Расширение имени файла | .meta4, .metalink |
---|---|
Тип интернет-СМИ |
|
Тип формата | Распространение файлов |
Расширенный от | 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]
Этот раздел нуждается в дополнительных цитатах для проверки . ( Октябрь 2016 ) |
Инструмент | на основе 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 | нет в репо | нет в репо | нет в репо | нет в репо | |
ЗЫпп | нет в репо | нет в репо | нет в репо | нет в репо |
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:
Клиент | wget | cURL | DownThemAll | Бесплатный менеджер загрузок | GetRight | KGet | Фекс | 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 |
Интерфейс | CLI | CLI | графический интерфейс | графический интерфейс | графический интерфейс | графический интерфейс | графический интерфейс | графический интерфейс |
Металинк 4.0 | Да | Да | Да | Нет | Нет | Да | Нет | Да |
Работает на Linux | Да | Да | Да | Нет | Нет | Да | Да | Нет |
Работает на Windows | Да | Да | Да | Да | Да | Нет | Да | Да |
Работает на Mac OS X | Да | Да | Да | Нет | Нет | Нет | Да | Нет |
Резюме Загрузки | ? | Да | Да | Да | Да | Да | Да | Да [8] |
Сегментированные загрузки | ? | ? | Да | Да | Да | Да | Да | Нет |
Поддержка нескольких файлов | ? | ? | Да | Да | Да | Да | Да | Да |
"расположение" | ? | ? | Да | Нет | Нет | Нет | Нет | Нет |
ОС | ? | ? | Да | Да | Нет | Нет | Нет | Нет |
Язык | ? | ? | Да | Нет | Нет | Нет | Нет | Нет |
HTTP с прозрачным согласованием | ? | ? | Да | Нет | Нет | Нет | Нет | Нет |
Металинк/HTTP | ? | ? | Нет | Нет | Нет | Нет | Нет | Нет |
HTTP | Да | Да | Да | Да | Да | Да | Да | Да |
ФТП | Да | Да | Да | Да | Да | Да | Да | Да |
BitTorrent | ? | Нет | Да | Да | Да | Нет | Нет | |
магнит | ? | ? | Нет | Нет | Нет | Нет | Да | Нет |
MD5-хэши | ? | Да | Да | Да | Да | Да | Да | |
SHA-1 хэши | ? | Да | Да | Да | Да | Да | Да | |
SHA-256 хэши | ? | Да | Да | Нет | Нет | Нет | Да | |
Хэши частей | ? | ? | Нет | Нет | Нет | Нет | Нет | Нет |
Подписи PGP | ? | ? | Нет | Нет | Нет | Нет | Нет | Нет |
В настоящее время ни один клиент не поддерживает rsync .
Metalink отформатирован как XML, поэтому его можно либо создать вручную, либо с помощью библиотеки XML, что полезно для автоматизации. Эти инструменты предназначены специально для Metalink.
Файлы 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 использует существующие стандартные поля заголовка 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>