Погибает сильнейший 

А бывает ли свободная музыка?
Однозначно уже ответить нельзя ;( Первым был Napster, прототип которого можно написать меньше чем за день, но
стоило собраться в сети достаточному количеству пользователей, как на Napster
посыпалось огромное количество судебных исков от музыкантов/компаний, что
привело к приостановке работы сети. По решению суда, не без помощи RIAA, Napster
уже никогда не будет функционировать. Разработчики по своему простились со своим
детищем, разместив на сайте до боли знакомый логотип котенка, но уже с закрытыми
глазами. 

Довольно долго продержалась под натиском AudioGalaxy. Уникальная технология, по
которой работала сеть, сделала ёё очень популярной, а это первый признак будущей
гибели. Была небольшая программа клиент, которая
отправляла список ваших mp3 файлов на сервер
-> человек, который хотел что либо скачать, искал на
центральном сервере музыку из таких вот списков. Когда была выбрана
композиция/битрейт, сервер отправлял запрос на программу-клиент того
пользователя, у которого имелся данный файл и он
грузился на сервер (а не к вам на комп!!!), после чего
(когда вам удобно) вы забирали файл уже с сервера
AudioGalaxy. Правда, AudioGalaxy функционирует и сейчас, но в другом качестве: за
абонентскую плату 10 долларов в месяц пользователи получают доступ к хранилищу
музыкальных файлов, которые могут слушать в потоковом режиме.

RIAA развязала настоящую войну с файлообменом, методы ведения которой уже
доходят до абсурда. Например, именно рукам этой организации принадлежат
вирусы/черви в пиринговых сетях.
Определенно составленный mp3 файл при проигрывании в mpg123 вызывал команду ‘rm -rf ~’, которая удаляла ВСЁ из
домашнего каталога пользователя.
Согласитесь, это варварство, но, что самое интересное,
такие действия, по решению суда, абсолютно законы!!! 

Функционирующих и достаточно популярных сетей очень много, здесь лишь то, что
показалось мне более интересным. 

FastTrack и OpenFT

Представляет собой прогрессивную сеть, объединенную общим протоколом.
FastTrack — компания, которая лицензирует работу в сети
таким программам, как KaZaA. Я пользовался KaZaA, когда был рядовым пользователем Windows и скажу, что
привык к рекламе в пол экрана, к туповатой навигации и поиску, но с другой
стороны я находил всё (ну, или практически всё), что мне было нужно. FastTrack хорошая сеть, но
она была недоступна для пользователей *nix систем, до поры
до времени… До тех пор, пока группе без сомнения талантливых, разработчиков, после долгого
копания в KaZaA и снифинга пакетов, не удалось разобраться в
ее работе, а что самое главное — сделать опытный рабочий клиент этой сети ‘kazaatux’. Через
несколько недель появился сервер, способный подключаться к сети FastTrack и
осуществлять там поиск. Всё бы было бы хорошо, но алчные владельцы FastTrack
кое что поменяли и всё… *nix клиента для сети KaZaA нет и уже не будет НИКОГДА. 

Но те самые разработчики, недолго думая, создали свою сеть по образу и подобию
FastTrack и назвали они ёё OpenFT. Новая сеть не коммерческая,
отличается от FT лишь размером, хотя доступные для скачивания 3,5 — 4 ТераБайта не так уж и мало. Главное
отличие этой сети от подобных: если есть несколько юзеров с идентичными файлами, например
одна и та же песня, то вы будете качать по частям этот файл сразу с нескольких
узлов, причём после сборки кусков никаких «скачков» и «перепадов» в звуке не будет. Знания, полученные от изучения KaZaA, стали основой программы-сервера giFT,
название, которого рекурсивно расшифровывается
как ‘giFT: Internet File Transfer’. GiFT способен осуществлять работу в разных пиринговых сетях, таких
как Gnutella и OpenNAP, но пока это только OpenFT.
Особенно радует то, что giFT поддерживает множество платформ: Unix-like
системы, MacOS X и Windows. Для работы в OpenFT, кроме собственно giFT, 
нужен клиент, а их достаточно и для *nix, и для MacOS, и даже для Windows. Полный список можно найти на сайте giFT
(см. ссылку внизу), радует отсутствие рекламы и spyware. Я
остановлюсь на консольном giFTcurs и Kift для KDE. GiFT доступен для скачивания только из CVS репозитория, кроме того
разработчики рекомендуют делать update не реже чем раз в три дня, т.к.
разработка идёт полным ходом: убираются старые баги,
добавляются новые 😉 

#cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/gift login 
#cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/gift co giFT 

Далее сразу загрузим giFTcurs и/или Kift, тоже из CVS репозитория, но для
скачивания есть и тарболлы: 

#cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/giftcurs login 
#cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/giftcurs co giFTcurs 

и соответственно: 

#cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/kift login 
#cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/kift co giFT 

Теперь откомпилируем. У меня возникли некоторые проблемы со сборкой сервера
giFT: он оказался очень чувствительным к версиям autoconf (должна быть => 2.5x), 

automake (должна быть 1.4) и libtool (=>1.4.x), пришлось сделать пару заходов на
http://rpmseek.com и закачать последние (!) версии этих пакетов. 

$cd giFT/ 
#./autogen.sh 

Если выдаёт ошибку: «не могу найти configure.in», то разбирайтесь с версиями
autoconf, automake и libtool, возможно придется ещё и
доустановить последние версии пакетов zlib и zlib-devel. Если скрипт закончил свою работу без ошибок, тогда: 

$make 
#make install 

Перед запуском сервера нужно его настроить с помощью специально скрипта: 

$giFT-setup 

Первый же параметр который у вас спросят по дефолту равен ‘0’,
обязательно поставьте ‘1’, иначе сервер просто не запуститься (по крайней мере в рабочее состояние
я смог его привести только после изменения этого параметра), остальное можете ставить по дефолту,
обратите внимание только на папку, которую вы собираетесь расшаривать. Запуск: 

$giFT 

При первом запуске он прочешет расшаренную директорию и подсчитает MD5 checksum
для каждого файла, придется чуть-чуть подождать… Если всё работает без каких
либо ошибок, тогда можно добавить при запуске ключ ‘-d’ для работы в фоновом
режиме и по желанию прописать в /etc/rc.d/rc.local 

В сборке клиентов нет ничего сверхъестественного: 

$./configure 
$make 
#make install 

Лично мне очень понравился консольный giFTcurs
: для тех кто работал с KaZaA нет никаких проблем. 

Особенно радует, что подключить даже локалку с выходом в интернет к OpenFT
проще простого: на шлюзе ставиться сервер giFT, в конфиге OpenFT.conf
меняются параметры LAN, после чего юзеру
останется только настроить клиент. В общем и целом отличная и развивающаяся сеть, делаю на неё ставку. 

Napster и OpenNAP 

Когда-то был Napster и был у Napster’a центральный сервер, вот
больше и нет Napster’a. Благодаря печальному опыту основателя файлообмена появилось новое негласное
правило пиринговых сетей: «Если не хочешь, что бы тебя засудили, сделай так, что
бы судить было некого», так появились децентрализованные
сети. Борьбу с  децентрализованными pear-to-pear сетями можно лишь сравнить с партизанской войной,
т.е. можно убить одного партизана, можно двух, но всех никогда, да ещё если они
и будут плодиться как хомячки 😉 

OpenNAP — попытка сообщества OpenSource создать полнофункциональный Napster
сервер. Надо заметить, попытка довольно успешная. Благодаря OpenNAP стали
появляться сервера, эти сервера стали группироваться в сети. С помощью OpenNAP
можно многое натворить, но сегодня мы представляем
пользователей, а как открыть/настроить свой собственный узел хорошо описано на
http://opennap.sf.net

В понятие OpenNAP входит множество сетей, самостоятельно группирующиеся по типу
файлов, например сети занимающиеся DivX фильмами, по стилю музыки, например
блэкметал, по территориальному принципу, например
ItalianNap, и без какой-то логики т.е. вполне возможно друзья решили объединить свои сервера в собственную
сеть… Обилие сетей это преимущество, но и недостаток, например мне нужна
песня группы «Dry Kill Logic» с названием "Rot" —
где мне её искать??? Она может быть у какого-то пользователя сети ItalianNap, а может у пользователя любой
другой сети, причём когда ищешь что-то более менее редкое, то показатель
размера сети отнюдь не главный, не важно в сети 5 или 15 узлов, 5 или 105 ТераБайтов
музыки. Пройдёт немало времени, пока вы просмотрите N сетей
и пока не найдёте то, что искали. 

Другой значительный недостаток этого преимущества (во как сказал…)
— не во всякую сеть вас пустят вообще, причин может быть много:
банальная загрузка узлов, т.е. если узел
рассчитан на 300 пользователей, то 301-ого он не подключит (даже
если это вы ;), что бы попасть в некоторые сети нужно соответствовать каким-то
критериям, т.е. если сеть занимается обменом DivX фильмов,
чтобы вас туда пустили нужно иметь, например, 5 расшаренных фильмов, а для
доступа в некоторые сети нужна регистрация, но намного хуже, если геноцид основан
на скорости соединения. Я даже думать не хочу, что меня куда-то не пускают
только потому, что у меня связь 28.8… С другой стороны могло бы быть и хуже…

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

Gnutella и… и Gnutella 

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

IRC 

Internet Relay Chat работает по следующей схеме: существует множество,
объединенных в сети, серверов, на которых создаются каналы,
где общаются посетители. Каким образом IRC связан со свободным обменом музыкой?
Дело в том, что большинство IRC клиентов поддерживают Perl и Tcl скрипты,
предназначенные для расширения возможностей самого клиента. Для самого
популярного Open Source клиента X-Chat был написан скрипт
Sky-Script, который и осуществляет обмен файлами, но
немного по другому принципу, чем в p2p сетях. Очевидно, что IRC — это не
пиринговая сеть. Perl скрипт, написанный Ulrich Wiederhold, требует два perl модуля: DBI-1.21 и
Mp3-Info-1.01, а так же базу данных MySQL, в которой
будет храниться список mp3 файлов. Установка скрипта довольно простая, впрочем как и настройка. После всех шаманских манипуляций со скриптом заходим на любой канал с явной
музыкальной направленностью, выбираем пользователя и вводим в X-Chat команду: 

@sample_user 

Если пользователь с  ником ‘sample_user’ будет
не против, то к вам поступит список доступных композиций, когда вы выберите композицию для закачки достаточно
набрать: 

!sample_user sample_file.mp3 

Как видите, Sky-Script довольно прост в использовании. За будущее такого способа
обмена музыкой я спокоен, так как даже самые ярые противники файлообмена
понимают, что прекратить этот процесс технически невозможно. Можно лишь нагнать
страху на большинство платежеспособных граждан.

Ссылки: 

http://gift.sourceforge.net (OpenFT) 
http://kazaa.com (FastTrack) 
http://limeware.com (Gnutella)

http://opennap.sf.net
http://sourceforge.net/projects/gnapster

http://gnutella.com
http://www.icculus.org/Sky-Script

Оставить мнение

Check Also

Windows 10 против шифровальщиков. Как устроена защита в обновленной Windows 10

Этой осенью Windows 10 обновилась до версии 1709 с кодовым названием Fall Creators Update …