Металинк
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
![]() | |
Расширение имени файла |
.meta4, .metalink |
---|---|
Тип интернет-СМИ |
|
Тип формата | Распространение файлов |
Расширено с | XML , HTTP |
Стандартный | RFC 5854, RFC 6249 |
Metalink — это расширяемый метаданных формат файлов , описывающий один или несколько компьютерных файлов, доступных для загрузки . пользователя Он определяет файлы, соответствующие языку и операционной системе ; облегчает проверку файлов и восстановление после повреждения данных ; и перечисляет альтернативные источники загрузки ( зеркальные URI ).
Метаданные кодируются в полях заголовка HTTP и/или в XML- файле с расширением .meta4 или .металинк . Дублирующиеся места загрузки обеспечивают надежность в случае сбоя одного метода. Некоторые клиенты также достигают более высокой скорости загрузки, позволяя одновременно загружать разные фрагменты/сегменты каждого файла из нескольких ресурсов (сегментированная загрузка).
Metalink поддерживает перечисление нескольких частичных и полных хэшей файлов вместе с подписями PGP . Однако большинство клиентов поддерживают только проверку MD5 , SHA-1 и SHA-256 . FTP и HTTP Помимо расположения зеркал и rsync , он также поддерживает список P2P-методов BitTorrent , ed2k , Magnetic Link или любых других, использующих URI .
История развития
[ редактировать ]Metalink 3.0 был публично выпущен в 2005 году. Он был разработан для помощи в загрузке ISO-образов Linux и других больших файлов в день выпуска, когда серверы будут перегружены (каждый сервер придется проверять вручную), а также для восстановления больших загрузок путем замены только части с ошибками вместо их полной повторной загрузки. Первоначально он был принят менеджерами загрузок и использовался в проектах с открытым исходным кодом, таких как OpenOffice.org и дистрибутивы Linux . Вокруг него сформировалось сообщество, его поддерживало все больше программ для загрузки (в том числе проприетарных), и он получил коммерческое распространение. В 2008 году сообщество передало свою работу Целевой группе по проектированию Интернета , в результате чего в 2010 году появился Metalink 4.0, описанный в стандартах RFC . [1] Металинк 3.0 (с расширением .metalink ) и Metalink 4.0 (с расширением .meta4 ) несовместимы, поскольку имеют немного другой формат. Standards Track В 2011 году в другом RFC описывался Metalink в полях заголовка HTTP . [2]
Клиентские программы
[ редактировать ]Этот раздел нуждается в дополнительных цитатах для проверки . ( Октябрь 2016 г. ) |
Инструмент | на основе Debian | на базе Fedora | Основанный на арке | на базе BSD | Окна |
---|---|---|---|---|---|
ария2 [3] | Да | Да | Да [4] | Да [5] | |
КУЛЬ | Нет; построен без поддержки Metalink | Нет; построен без поддержки Metalink | |||
Wget | Да; v1.17 или более поздняя версия с поддержкой Metalink | Да; v1.17 или более поздняя версия с поддержкой Metalink | Да; v1.17 или более поздняя версия с поддержкой Metalink | Да; v1.17 или более поздняя версия с поддержкой Metalink | |
DownThemAll | нет в репо | нет в репо | нет в репо | нет в репо | |
FlashGot | нет в репо | нет в репо | нет в репо | нет в репо | |
Бесплатный менеджер загрузок | нет в репо | нет в репо | нет в репо | нет в репо | |
Получить право | нет в репо | нет в репо | нет в репо | нет в репо | |
jDownloader | нет в репо | нет в репо | нет в репо | нет в репо | |
KПолучить | Да | Да | Да | Да | Нет |
Фекс | нет в репо | нет в репо | нет в репо | нет в репо | |
СмартFTP | нет в репо | нет в репо | нет в репо | нет в репо | |
easyMule | нет в репо | нет в репо | нет в репо | нет в репо | |
ZYpp | нет в репо | нет в репо | нет в репо | нет в репо |
Клиентские библиотеки
[ редактировать ]- 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 для Windows , установщик Ubuntu , использует Metadl ( LGPL ) для загрузки ISO-образов Ubuntu и использует возможности Metalink, обеспечивающие более высокую доступность и повышенную надежность. Если при загрузке есть ошибки, они исправляются вместо перезапуска большой загрузки.
Appupdater ( GPL ) для Windows «похож на apt-get или yum в Linux. Он автоматизирует процесс установки и поддержания актуальных версий программ». [ нужна ссылка ]
В настоящее время OpenOffice.org использует Metalinks для распространения своего бесплатного офисного пакета. cURL предлагает Metalinks свои загрузки. Консорциум UniProt также предоставляет Metalink для своей большой базы данных белков. Dofus , Flash MMORPG, использует Metalinks для загрузки, как и SageMath , математическое программное обеспечение с открытым исходным кодом.
По данным основного сайта metalinker.org, платформа хостинга программного обеспечения и совместной работы Origo генерирует Metalinks для всех размещенных выпусков. [6]
Следующие дистрибутивы 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
[ редактировать ]Руководство по тому, какие клиенты поддерживают какие функции Metalink:
Клиент | wget | КУЛЬ | DownThemAll | Бесплатный менеджер загрузок | Получить право | KПолучить | Фекс | СмартFTP |
---|---|---|---|---|---|---|---|---|
Лицензирование | Бесплатное программное обеспечение ( стандартная общественная лицензия GNU ) | Бесплатное программное обеспечение ( производная лицензия MIT/X ) | Бесплатное программное обеспечение ( стандартная общественная лицензия GNU ) | Бесплатное программное обеспечение ( стандартная общественная лицензия GNU ) | Собственная версия / 29,95 долларов США за стандартную версию, 49,95 долларов США за версию Pro | Бесплатное программное обеспечение ( стандартная общественная лицензия GNU ) | Бесплатное программное обеспечение ( стандартная общественная лицензия GNU ) | Собственная собственность / Бесплатная 30-дневная пробная версия
Несколько выпусков/39,99 долл. США для профессионалов |
Интерфейс | интерфейс командной строки | интерфейс командной строки | графический интерфейс | графический интерфейс | графический интерфейс | графический интерфейс | графический интерфейс | графический интерфейс |
Металинк 4.0 | Да | Да | Да | Нет | Нет | Да | Нет | Да |
Работает на Linux | Да | Да | Да | Нет | Нет | Да | Да | Нет |
Работает в Windows | Да | Да | Да | Да | Да | Нет | Да | Да |
Работает на Mac OS X | Да | Да | Да | Нет | Нет | Нет | Да | Нет |
Возобновить загрузку | ? | Да | Да | Да | Да | Да | Да | Да [7] |
Сегментированные загрузки | ? | ? | Да | Да | Да | Да | Да | Нет |
Поддержка нескольких файлов | ? | ? | Да | Да | Да | Да | Да | Да |
"расположение" | ? | ? | Да | Нет | Нет | Нет | Нет | Нет |
ТЫ | ? | ? | Да | Да | Нет | Нет | Нет | Нет |
Язык | ? | ? | Да | Нет | Нет | Нет | Нет | Нет |
HTTP с прозрачным согласованием | ? | ? | Да | Нет | Нет | Нет | Нет | Нет |
Металинк/HTTP | ? | ? | Нет | Нет | Нет | Нет | Нет | Нет |
HTTP | Да | Да | Да | Да | Да | Да | Да | Да |
FTP | Да | Да | Да | Да | Да | Да | Да | Да |
БитТоррент | ? | Нет | Да | Да | Да | Нет | Нет | |
магнит | ? | ? | Нет | Нет | Нет | Нет | Да | Нет |
MD5-хеши | ? | Да | Да | Да | Да | Да | Да | |
SHA-1 хеши | ? | Да | Да | Да | Да | Да | Да | |
SHA-256 хеши | ? | Да | Да | Нет | Нет | Нет | Да | |
Кусочные хэши | ? | ? | Нет | Нет | Нет | Нет | Нет | Нет |
Подписи PGP | ? | ? | Нет | Нет | Нет | Нет | Нет | Нет |
ни один клиент не поддерживает rsync В настоящее время .
Поколение Металинк
[ редактировать ]Metalink отформатирован как XML, поэтому его можно создать вручную или создать с помощью библиотеки XML, что полезно для автоматизации. Эти инструменты предназначены специально для Metalink.
- Bouncer — это «приложение для управления зеркалами, управляемое базой данных, которое состоит из трех основных компонентов: сценария возврата, сторожевого сценария для проверки целостности зеркал и файлов и набора веб-инструментов администрирования». Bouncer поддерживает Metalink через патч, который еще не интегрирован в основную версию.
- Geo McFly ( GPL ) — это генератор металинков на лету, основанный на географическом местоположении загрузчика, написанный на Python .
- Metalink Editor (GPL) — это кроссплатформенный редактор Metalink с графическим интерфейсом, написанный на Python, который позволяет создавать и редактировать Metalink.
- Metalink Library (GPL) — это кроссплатформенная библиотека Metalink для Python и PHP, основанная на редакторе Metalink Editor, со множеством автоматических функций и простым интерфейсом командной строки для создания файлов Metalink и Torrent.
- Metalink Generator также можно использовать для создания Metalink, заполнив веб-форму.
- Инструменты Metalink (GPL) Инструменты командной строки Unix/Windows для создания Metalink с хэшами и зеркальными/p2p-списками.
- Динамические онлайн-металинки, основанные на метаданных. Автоматически создаются металинки на основе метаданных, опубликованных каждым зеркалом.
- MirrorManager ( лицензия MIT X11 ) используется проектом Fedora для динамического перечисления зеркал.
- MirrorBrain ( GPL , лицензия Apache ) — генератор Metalink в реальном времени и перенаправитель загрузок. Он может либо возвращать Metalinks, либо автоматически перенаправлять клиентов, не являющихся Metalink (за перенаправление HTTP), на ближайший к ним зеркальный сервер. Поддерживаются прозрачное согласование Metalinks, встраивание подписей PGP, Metalink/HTTP и другие расширенные функции. Он используется, например, openSUSE и OpenOffice.org .
Пример файла Metalink 4.0 .meta4
[ редактировать ]Файлы 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>Example</identity>
<version>1.0</version>
<language>en</language>
<description>
A description of the example file for download.
</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) и дайджесты экземпляров (для хешей).
Etag: "thvDyvhfIqlvFe+A9MYgxAfm1q5=" Link: <http://www2.example.com/example.ext>; rel=duplicate Link: <ftp://ftp.example.com/example.ext>; rel=duplicate Link: <http://example.com/example.ext.torrent>; rel=describedby; type="application/x-bittorrent" Link: <http://example.com/example.ext.meta4>; rel=describedby; type="application/metalink4+xml" Link: <http://example.com/example.ext.asc>; rel=describedby; type="application/pgp-signature" Digest: SHA-256=MWVkMWQxYTRiMzk5MDQ0MzI3NGU5NDEyZTk5OWY1ZGFmNzgyZTJlODYzYjRjYzFhOTlmNTQwYzI2M2QwM2U2MQ==
Пример файла Metalink 3.0 .metalink
[ редактировать ]Файлы 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>
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Брайан, Энтони; Цудзикава, Тацухиро; Макнаб, Нил; Поемл, Питер (июнь 2010 г.). Формат описания загрузки Metalink . IETF . дои : 10.17487/RFC5854 . РФК 5854 . Проверено 30 мая 2022 г.
- ^ Брайан, Энтони; Макнаб, Нил; Цудзикава, Тацухиро; Поемл, Питер; Нордстрем, Хенрик (июнь 2011 г.). Metalink/HTTP: зеркала и хэши . IETF . дои : 10.17487/RFC6249 . РФК 6249 . Проверено 30 мая 2022 г.
- ^ Цудзикава, Тацухиро. «aria2: утилита загрузки нового поколения» . Гитхаб . Архивировано из оригинала 27 июля 2021 г. Проверено 30 мая 2022 г.
- ^ «Поиск пакетов» . Арч Линукс . 21 августа 2021 г. Архивировано из оригинала 30 мая 2022 г. Проверено 30 мая 2022 г.
- ^ «Клиент Aria2 1.36.0» . Шоколадный . 21 августа 2021 г. Архивировано из оригинала 30 мая 2022 г. Проверено 30 мая 2022 г.
- ^ https://www.metalinker.org/implementation.html.
- ^ «SmartFTP — Возможности» . СмартFTP . Архивировано из оригинала 30 мая 2022 г. Проверено 30 мая 2022 г.