Что такое метафайлы dcls?
Читайте статью Метафайл на викисправочнике Тум Су.
Как этим пользоваться?
Установка
Это так называемый bookmarklet — скрипт, который добавляется в закладки и из закладок активируется. В Mozilla Firefox делается проще всего: вы просто перетаскиваете эту кнопку на панель закладок. При перетаскивании в Opera нужно удерживать Shift.
В других браузерах, таких, как Internet Explorer, вы правой кнопкой мыши кликаете по этой кнопке и выбираете «Добавить в закладки», затем выбираете, в какую папку закладок его добавить. И Internet Explorer, и Opera предлагают добавить закладку в меню Избранное, которое на панели Избранного не отображается.
В Internet Explorer при добавлении нужно выбрать именно панель Избранного. В Internet Explorer, возможно, нужно включить панель закладок, если она не отображается: Вид » Панели » Панель избранного.
В Opera нужно нажать на «Подробнее» и поставить галочку «Отображать на личной панели». В Opera, возможно, нужно включить панель закладок, если она не отображается: Вид » Панели инструментов » Личная панель.
Вы, конечно, можете пользоваться закладкой не с панели, а из меню, но, если вы активно пользуетесь порталом, предпочтительнее разместить на панели.
Использование
На любой странице, где есть магнитные ссылки, вы нажимаете кнопку «Скачать всё» на панели закладок или в меню закладок.
Из всех магнитных ссылок, найденных на странице, генератор создаёт метафайл, который вам будет предложено сохранить или сразу открыть в GreyLink. Выбираем «Открыть».
Mетафайл открывается в GreyLink и, вуаля, теперь можно скачать все файлы так же удобно, как из чужого списка файлов. Ведь метафайл по формату и есть список файлов.
Зачем это нужно?
Метафайлы — это одна из полезных возможностей GreyLink, использование которой положительно скажется на развитии файлообменных сетей Direct Connect. Многие каталоги магнитных ссылок, к сожалению, на уровне магнитных ссылок так и остались. Если нужно скачать раздачу, состоящую из нескольких файлов, создатели порталов предлагают ставить на закачку каждый файл по отдельности. На одном из порталов сделана «оптимизация» этого процесса: JavaScript запускает каждую магнитную ссылку, при этом, по–видимому, в админских сборках отключены подтверждения. Естественным результатом использования этого треугольноколёсного велосипеда является превращение папки для закачек в гораздо большее месиво, чем она обычно является.
Три альбома в одной папке — это так весело.
Сложно придумать что–то лучшее, чем метафайлы.
Проблема
Проблема в том, что поддержка метафайлов реализована только в GreyLink и в нескольких гораздо менее популярных клиентах, таких, как IceDC++.
доля пользователей GreyLink низка —> метафайлы мало, кто сможет открыть
метафайлы мало, кто сможет открыть —> вебмастера не поддерживают метафайлы
вебмастера не поддерживают метафайлы —> переход на GreyLink не столь критичен
переход на GreyLink не столь критичен —> доля пользователей GreyLink низка
вебмастера не поддерживают метафайлы —> поддержка метафайлов в клиентах не столь критична
поддержка метафайлов в клиентах не столь критична —> разработчики других клиентов не реализуют метафайлы
разработчики других клиентов не реализуют метафайлы —> вебмастера не поддерживают метафайлы
Первое известное появление поддержки метафайлов относится к IceDC++ с той лишь разницей, что в IceDC++ расширение .DcLst, а в GreyLink — .dcls. И было это году в 2006м, но метафайлы до сих пор не набрали желаемую популярность.
Онлайн генератор метафайлов — это, во–первых удобная фича для всех, кто пользуется GreyLink, но вынужден был мириться с ограничениями безметафайловых порталов. Во–вторых, если метафайлы, созданные этим генератором входят в обиход, известность фичи растёт, и либо становится больше пользователей GreyLink, либо эта фича появляется в других клиентах. Как следствие первого или второго, на порталах появляется нормальная поддержка метафайлов, без всяких дополнительных навесок. На одном из порталов метафайлы уже одержали маленькую победу: dcmagnets.ru.
Исходники
dclsgen.php — делает только одну задачу: принимает POST запросы, архивирует текст в bzip2 и даёт скачать под нужным именем файла.
http://magnet.octagram.name/dcls/dclsgen.js — делает всё самое интересное: вычёсывает магнитные ссылки, слепляет из них XML, а также эвристически угадывает подходящее имя метафайла и имя директории. Под каждый портал нужно затачивать эвристику отдельно.
И, наконец, чтобы добавить скрипт в закладки, надо разместить закладку где–нибудь на странице. Для этого нужно разместить код такого вида:
<script type="text/javascript">
<!--
(function (){
var dclsgenBookmarklet = document.getElementById("dclsgenBookmarklet");
dclsgenBookmarklet.appendChild(document.createTextNode("Перетащите эту кнопку мышкой на панель закладок или добавьте через контекстное меню в Избранное: "));
var dclsgenA = document.createElement("a");
dclsgenA.setAttribute("onclick", "alert('По этой кнопке не кликнуть нужно, а сначала перетащить мышкой в закладки или в Избранное'); return false;");
dclsgenA.setAttribute("href", "javascript: void(function(){var s=document.createElement('script'),sa='setAttribute';s[sa]('type','text/javascript');s[sa]('src','http://magnet.octagram.name/dcls/dclsgen.js');s[sa]('charset','utf8');document.body.appendChild(s); })();");
// dclsgenA.setAttribute("title", "Перетащите эту кнопку мышкой на панель закладок или в Избранное");
dclsgenA.setAttribute("title", "Скачать всё");
dclsgenA.setAttribute("style", "cursor: crosshair;");
dclsgenA.appendChild(document.createTextNode("Скачать всё"));
dclsgenBookmarklet.appendChild(dclsgenA);
})();
-->
</script>
Скрипт со своим URL
Для пущего удобства я даже размещу здесь формочку, посредством которой можно скрипт с любым URL добавить в свои закладки. Введите адрес и нажмите Enter, чтобы обновить кнопку.