Пиринговые сети глазами OpenSource.

Ищем музыку без напряга!

Xakep, номер #055, стр. 055-062-3


Napster и OpenNAP

Благодаря печальному опыту основателя файлообмена появилось новое негласное правило пиринговых сетей: "Если не хочешь, чтобы тебя засудили, сделай так, чтобы судить было некого". Так появились децентрализованные сети. Борьбу с децентрализованными pear-to-pear сетями можно сравнить лишь с партизанской войной - можно убить одного партизана, можно двух, но всех никогда.

OpenNAP - это попытка сообщества OpenSource создать полнофункциональный Napster-сервер. Надо заметить, попытка довольно успешная. Благодаря OpenNAP начали появляться сервера, которые стали группироваться в сети. С помощью OpenNAP можно многое натворить, но эта статья рассчитана на пользователей, а как открыть/настроить свой собственный узел, хорошо описано на http://opennap.sf.net. В понятие OpenNAP входит множество сетей, сгруппированных по типу файлов, по территориальному принципу, например, ItalianNap, или вообще без какой-либо логики - просто друганы решили объединить свои сервера в собственную сеть... У такого обилия сетей есть свои плюсы и минусы. Скажем, мне офигенно нужна песня "Rot" группы "Dry Kill Logic" - и возникает вопрос: а где мне ее искать? Она с одинаковой вероятностью может быть у пользователя любой сети. Другой недостаток состоит в том, что не во всякую сеть нас пустят, этому может быть множество причин: банальная загрузка узлов, например. Кроме того, чтобы попасть в некоторые сети, нужно соответствовать определенным критериям. Другими словами, если сеть занимается обменом DivX-фильмов, то вполне возможно, что для входа в эту сеть нужно иметь несколько расшаренных фильмов DivX-качества. И самое смешное, что существуют сети, для которых решающим фактором выступает скорость твоего соединения. Хотя, всем известно, что бесплатный сыр бывает только в мышеловке.

Клиентов OpenNap множество: и для QT/KDE, и для GTK+/Gnome, и для Виндов, и многоплатформенные, написанные на Java, Perl и т.д. Самые популярные из них: gnapster, gtk-napster, gnap. Полный список можно посмотреть на официальном сайте проекта OpenNAP или самостоятельно поискать на sourceforge.net и freshmeat.org. Я использую gnapster (ссылка во врезке, см. скриншот). Его использование элементарно: устанавливаешь папку, которую хочешь расшарить, затем 'файл' -> 'Browse OpenNAP servers' -> 'Refresh List', потом просто прогулка по узлам...

Gnutella и... и Gnutella

Децентрализованная сеть Gnutella принадлежит Nullsoft, который, в свою очередь, принадлежит AOL. Последний же - противник для RIAA более серьезный, чем компания студентов-программистов. Схема работы примерно одинакова для всех децентрализованных сетей. Найти что-то примечательное в Gnutella мне не удалось, это просто еще одна сеть с еще одним протоколом передачи данных. Самые популярные OpenSource клиенты: Qtella, Mutella, а с закрытым кодом - LimeWire. Хороший список клиентов под Unix-like, MacOS, Windows и др. системы есть на официальном сайте Gnutella (см. врезку).

IRC

Да, да, не удивляйся: в этом списке есть и твой любимый IRC. Ты спросишь: но каким макаром IRC связан со свободным обменом музыкой? Дело в том, что большинство IRC-клиентов поддерживают Perl и Tcl-скрипты, предназначенные для расширения возможностей самого клиента. Для самого популярного OpenSource клиента X-Chat был написан Sky-Script (http://www.icculus.org/Sky-Script), который и осуществляет обмен файлами, но немного по другому принципу, чем в p2p-сетях. Очевидно, что IRC - это не пиринговая сеть, я включил его в обзор исключительно потому, что это тоже неплохой способ добычи музыки. Perl-скрипт требует два perl-модуля: DBI-1.21 и Mp3-Info-1.01, а также базу данных MySQL, в которой будет храниться список mp3-файлов. Установка скрипта несложная, впрочем, как и настройка. После всех шаманских манипуляций заходим на любой канал с явной музыкальной направленностью, выбираем пользователя и вводим в X-Chat команду:

Назад на стр. 055-062-2  Содержание  Вперед на стр. 055-062-4