Клиент для файлообменной сети Gnutella.
Gtk-Gnutella — простой C (си) / GTK+ графический клиент для файлообменной сети Gnutella.
Gnutella — полностью децентрализованная файлообменная сеть, отличающаяся принципиальным отсутствием центрального сервера. Сеть является потомком первой в мире пиринговой файлообменной сети Napster работавшей в рамках Интернета, созданной Napster"ом (ник человека создавшего сеть). Сеть индексировала на своём центральном сервере в основном звуковые файлы зарегистрированных пользователей и позволяла скачивать их (была основана на протоколе IRC).
Название сети Gnutella первоначально было игрой слов GNU (так как разработчиками планировалось выпустить исходный код под лицензией GNU GPL) и "Nutella" (марка любимых конфет разработчиков). Однако ни самая первая версия клиента, ни большинство современных клиентов сети не являются свободным ПО.
Gnutella это прежде всего протокол взаимодействия узлов (такой же как HTTP например), а сеть формируется когда один пользователь Gnutella соединяется с другим пользователем, после этого они могут начать обмен информацией (изначально предназначалась для обмена звуковыми файлами).
Обмениваться в сети Gnutella можно файлами любых форматов, а в результате полной децентрализации сеть практически невозможно уничтожить, так как для этого потребуется вывести из строя каждый узел сети (устройство соединённое с другими устройствами как часть компьютерной сети).
Создавать сеть Gnutella начала американская компания America-on-Line (AOL), с корыстными целями. Были собраны лучшие сетевые программисты, из подразделения Nullsoft (компания разработчик ПО, купленная AOL и ставшая её подразделением), которые и придумали это непобедимое чудо сетевых технологий.
14 марта 2000 года появилась программа размером 104Кб, которая давала возможность пользователю искать и обмениваться всеми видами файлов с другими пользователями сети Gnutella без всяких серверов. Но получилось так что AOL объединилась со звукозаписывающей компанией и поняла какую ошибку совершила создав Gnutella.
Сеть сразу попытались закрыть, но она оказалась непобедимой! Плюс ко всему непосредственные создатели сети (Джастин Френкель, Том Пеппер и др..) воспротивились закрытию Gnutella, ушли из AOL и стали строить эту сеть сами.
Gnutella построена по собственной, особой технологии, позволяющей обходится без центральных узлов, узлами сети служат сами пользователи (поэтому пока у сети есть пользователи, сеть закрыть никто не сможет).
При первом запуске клиента сети, пользователь сообщает ему IP-адрес одного из функционирующих узлов (без адреса хотя бы одного из работающих в данный момент узла, пользователь не сможет подключится). При подключении клиент получает от узла, с которым ему удалось соединится, список из пяти активных узлов. Данная процедура может и не повторяться в будущем, но при первом запуске клиента она обязательна (это один из самых "скользких" моментов в реализации сети).
Gtk-Gnutella это простой, эффективный, надёжный и быстрый клиент для сети Gnutella. Он был оптимизирован для минимального потребления системных ресурсов, что бы обеспечить комфортную работу в сети даже на слабом оборудовании. Клиент имеет множество настроек, полную поддерживает работу в сети Gnutella (в том числе и многие её альтернативные реализации), DNT (класс децентрализованных распределённых систем), имеет поддержку протокола UPnP, поддержку Magnet-ссылок и TLS шифрования.
Для начала использования пользователь Gtk-Gnutella вводит поисковый запрос (определив формат файла), клиентом рассылается запрос на поиск файла всем узлам в списке, а далее просто ждёт входящих сообщений. Каждый узел, получивший запрос на поиск, ищет в своём фонде указанный файл. Если файл не найден, то узел просто не отвечает...
Если фал найден, то узел отсылает инициатору запроса ответ с информацией о файле и о себе (IP-адрес). Получив ряд ответов, выбирается один из узлов, устанавливается с ним стандартное HTTP-соединение и загружается файл. При этом все сообщения (от Ping-запроса до скачивания файла) посылаются по HTTP, что затрудняет их отслеживание и блокировку.
В Gtk-Gnutella можно задавать несколько поисков одновременно, ещё не получив результат поиска на один запрос (для экономии времени) можно задать другой запрос... Результаты поиска достаточно подробны и ограничивается только пользовательскими настройками.
Gtk-Gnutella имеет все функциональные возможности характерные для большинства файлообменных клиентов, интегрируется в область уведомлений (системный трей), поддерживает докачку, имеется возможность ограничения скорости загрузки и отдачи (глобально и по каждому файлу), каждый загружаемый файл может быть оценён, а по его оценке (баллам) можно приблизительно оценить как будет загружаться файл.
Gnutella является одной из самых популярных файлообменных сетей, но работа сети непрерывно совершенствуется, благодаря усилиям разработчиков множества клиентов сети. Сеть действительно большая, насколько пользователю её можно осмотреть, зависит только от скорости канала и мощности компьютера.
Лицензия: GNU General Public License (GPL)
Комментариев: 1 RSS
1kilzhlik24-09-2015 11:54
я делал свой любительский перевод для этой программы.
Кому нужен: //yadi.sk/d/7WL3QC1bjHfzF
Вы можете войти под своим логином или зарегистрироваться на сайте.