gtk-gnutella — это приложение для обмена файлами по пиринговой сети , работающее в сети gnutella . gtk-gnutella использует набор инструментов GTK+ для своего графического пользовательского интерфейса . Выпущенный под лицензией GNU General Public License , gtk-gnutella является свободным программным обеспечением .
Изначально gtk-gnutella был написан так, чтобы выглядеть как оригинальный клиент Nullsoft Gnutella. Первоначальный автор Янн Гроссель прекратил работу над клиентом в начале 2001 года. Через некоторое время Рафаэль Манфреди занял пост главного архитектора программного обеспечения, и с тех пор клиент находится в активной разработке. Версии, выпущенные после июля 2002 года, не похожи на оригинальный клиент Nullsoft. [2]
gtk-gnutella запрограммирован на C с упором на эффективность и переносимость, не будучи минималистичным, но, скорее, прямо в ногу с большинством современных функций сети gnutella. Поэтому он требует меньше ресурсов (таких как ЦП и/или ОЗУ ), чем основные клиенты gnutella. Его также можно использовать как headless- клиент gnutella, вообще не требующий GTK+ .
gtk-gnutella имеет механизм фильтрации, который может сократить количество спама и других нерелевантных результатов. gtk-gnutella поддерживает большой спектр функций современных клиентов gnutella. gtk-gnutella был первым клиентом gnutella, поддерживающим IPv6 и шифрование с использованием TLS . Он может обрабатывать и экспортировать magnet-ссылки . Он имеет мощные функции интернационализации , поддерживая английский, немецкий, греческий, французский, венгерский, испанский, японский, норвежский, голландский и китайский языки. gtk-gnutella также имеет поддержку для предотвращения спама и другой враждебной активности одноранговых пользователей.
Несколько дистрибутивов программного обеспечения предоставляют предварительно скомпилированные пакеты, но они обычно устаревшие, так как многие версии дистрибутивов замораживают старые стабильные выпуски. Сеть gnutella выигрывает от запуска последней версии, доступной по мере быстрого изменения списков одноранговых и враждебных IP-адресов, что делает сборку последнего снимка SVN лучшим вариантом. Также в сети доступны предварительно скомпилированные пакеты для многих дистрибутивов Linux. Лица, обеспокоенные безопасностью, могут захотеть скомпилировать свои собственные. Исходные коды gtk-gnutella используют dist в качестве системы сборки и конфигурации вместо Autoconf . Большинство пользователей знакомы только со скриптами конфигурации, сгенерированными последним. Еще одной опасностью для новичков является настройка устройств NAT для включения полного сетевого подключения для gtk-gnutella. gtk-gnutella, как и любой клиент gnutella, по-прежнему можно использовать за брандмауэром или маршрутизатором , но с некоторой ограниченной функциональностью, если он не может принимать входящие TCP -соединения или UDP- пакеты. В попытке смягчить проблему для новичков gtk-gnutalla реализует клиентские протоколы UPnP и NAT-PMP .
gtk-gnutella поддерживает функции загрузки больших файлов (видео, программы и образы дисков). Версия 0.96.4 поддерживает обслуживание хэшей Tiger Tree , а версии после 0.96.5 поддерживают хэши Tiger Tree для загрузок и скачиваний. Хеширование Tiger Tree и другие функции gtk-gnutella делают передачу файлов такой же эффективной, как BitTorrent . В частности, gtk-gnutella поддерживает частичный обмен файлами, [3] удаленную организацию очередей [4] и файлы размером более 4 GiB . [5] Проверка перекрытия была единственным механизмом защиты от неверных данных до версии 0.96.4. Проверка перекрытия не защищает от вредоносного повреждения, как хеширование Tiger Tree .
Версия 0.96.6 представила предварительную поддержку Kademlia DHT, которая была завершена в версии 0.96.7. [6] DHT заменяет поиск по SHA-1 при поиске альтернативных источников для известного файла или поиске push-прокси. В версии 0.96.7 DHT включен по умолчанию. LimeWire первым разработал DHT и назвал его [7] Mojito DHT.
Версия 0.96.9 представила полную собственную поддержку UPnP и NAT-PMP , что значительно упростило использование за совместимым маршрутизатором, поскольку больше нет необходимости вручную перенаправлять порты на брандмауэре. В этой версии код также был перенесен на Microsoft Windows , однако порт Windows все еще считается бета-версией из-за отсутствия широкого тестирования.
В версии 0.96.9 также была введена важная защита DHT от атак Сивиллы , использующая алгоритмы, основанные на статистических свойствах. [8]
Версия 0.97 была основным релизом, в котором была представлена поддержка HTTP-конвейера на стороне клиента , запросы "Что нового?", фильтрация запросов типа MIME , поддержка GUESS (расширение Gnutella UDP для масштабируемого поиска) и частичный запрос файлов. Хотя многие поставщики Gnutella уже поддерживали GUESS на стороне сервера, gtk-gnutella представила и клиентскую сторону, также улучшив исходные спецификации протокола, чтобы сделать его по-настоящему пригодным для использования.
Версия 0.98.2 использует небольшой патч для исправления выделения памяти malloc и проблем с несколькими потоками, в основном в операционных системах Ubuntu 11.10. Эта версия gtk-gnutella 2011 года также была посвящена памяти Денниса Ритчи , 1941–2011.
В версии 0.98.4 добавлен RUDP (надежный UDP ) и улучшена частичная передача файлов. [9]
Версия 1.1 — это основной релиз, в который добавлена поддержка G2 : gtk-gnutella теперь будет подключаться к сети G2 в режиме листа. Это позволяет выполнять поиск с узлов G2 и распространять локальные запросы в сеть G2. Обмен файлами с хостами G2 полностью совместим и разрешен без ограничений.
gtk-gnutella не входит в число самых популярных клиентов в обзорах GnutellaNet. Предложения разработчиков gtk-gnutella были включены во многие клиенты Gnutella.
В 2011 году расширения gtk-gnutella стали третьими по популярности на GDF (форум разработчиков Gnutella) после Limewire и Bearshare. [10] [11]
Salon включил gtk-gnutella в пятерку самых популярных приложений Gnutella в 2002 году. [12] XoloX и Toadnode , также входящие в список, больше не разрабатываются активно.
{{cite web}}
: Отсутствует или пусто |title=
( помощь )