Радио для всех
АрхивКомментарий дняВ ответ на введение тарифов на ретрансляцию музыкальных произведений в Сети, разработана программа, позволяющая запускать сетевые радиостанции, контролировать работу которых невозможно.
Последние события в мире цифрового звука не просто настораживают: окончательное принятие в США тарифов на трансляцию музыки в Сети с последовавшим за ним закрытием множества мелких веб-станций, непрекращающиеся атаки на файлообменные системы с фактическим остановом работы очередной популярной системы такого рода, Audiogalaxy - всё это прекрасно позволяет прочувствовать действие "пресса", что построен одними участниками современного музыкального рынка для воздействия на других. К счастью, новые идеи появляться не перестают - и тем, кто внезапно оказался под давлением (а это - среди прочих - владельцы вещательных сетевых станций), есть что противопоставить. Последним инструментом противодействия стала разработка с не слишком оригинальным названием Streamer - впрочем, слабина в названии с лихвой компенсируется возможностями этой программы, предназначенной для построения веб-станций, контролировать работу которых невозможно физически.
Невозможность отследить откуда ведётся передача - одно из главных свойств Streamer'a. Но не единственное - благодаря интересной идее, программа также позволяет организовать вещание аудиоконтента на множество пользователей через обычный модемный канал.
Говоря строго, Streamer представляет собой программу-клиент, которая, взаимодействуя со своими копиями на компьютерах других пользователей, формирует узкоспециализированную децентрализованную P2P-сеть. Она имеет форму дерева: к каждому существующему в сети узлу подключаются ещё два - и так до бесконечности. Каждый узел (клиент) ведёт регулярный опрос своих соседей на предмет выяснения, с какими узлами они ещё "знакомы" - ширина этого системного потока сведена к минимуму (около ста байт в секунду), так что он не нагружает даже самые узкие каналы модемных пользователей.
Важно, что сам Streamer - лишь средство для организации P2P-сети. Информация, в ней передающаяся, генерируется и обрабатывается при помощи ставших стандартами де-факто приложений сторонних производителей: аудиопоток, передаваемый от одного узла к другому, порождается обычным генератором потокового MP3 вроде Shoutcast. Прослушивание же ведётся при помощи любого плейера, такой формат понимающего (Winamp, к примеру).
Впрочем, вернёмся к устройству сети Streamer. В самом начале её "дерева" находится, естественно, компьютер, с которого и ведётся вещание. К нему могут подключиться лишь несколько (обычно двое) слушателей - каждый из которых затем становится самостоятельным ретранслятором: он передаёт принятые данные двум новым слушателям, если, конечно, таковые появляются. О том, какой узел находится в основании "дерева", знает лишь его владелец: для каждого нового клиента, подключившегося к сети, источником данных становится предыдущий узел. Возможно, такая техника далека от идеала - но пока способов обойти её и отследить источник вещания ещё не предложено. Кроме того, поскольку каждый клиент вносит свою лепту в работу сети в виде собственного Интернет-канала, то и число слушателей теоретически ничем не ограничено.
Исходный код Streamer'a опубликован под лицензией GPL. И - любопытный факт: сделал это автор не столько потому, что боится за судьбу проекта, сколько из-за опасений относительно собственной безопасности. В обществе, где выдвигаются законопроекты, легализующие насилие против участников файлообменных систем, где всеми возможными способами душат любой технологический стартап, в основание которого положена оригинальная техническая идея - эта предосторожность отнюдь не кажется лишней. В настоящее время Streamer существует в виде сырой бета-версии для Windows. Но главное - начало, основа для построения нового сетевого коммьюнити, положено, код открыт - и дело наверняка пойдёт, пойдёт так же, как когда-то у Gnutella.
Обсудите материал в форуме