Введение
Бесплатное приложение для обмена файлами для Microsoft Windows. eMule - это бесплатное приложение для обмена файлами для Microsoft Windows. Начатый в мае 2002 года как альтернатива eDonkey2000, eMule теперь подключается как к сети eDonkey, так и к сети Kad. Отличительными особенностями eMule являются прямой обмен источниками между клиентскими узлами, быстрое восстановление поврежденных загрузок и использование кредитной системы для вознаграждения частых загрузчиков. Кроме того, eMule передает данные в сжатой форме zlib для экономии пропускной способности. eMule кодируется на C++ с использованием Microsoft Foundation Classes. С июля 2002 года eMule является свободным программным обеспечением, выпущенным под лицензией GNU General Public License; его популярность привела к тому, что кодовая база eMule использовалась в качестве основы кроссплатформенных клиентов aMule, JMule, xMule, а также к выпуску многих модов eMule (модификаций оригинального eMule) в Интернете. По состоянию на 2023 год, это пятый по популярности проект на SourceForge, с более чем 693 миллионами загрузок. Позже сообщество возобновило разработку как сообщество eMule; последняя стабильная версия - 0.70a. Версия 0.47b добавляет протокол запуски и eMule автоматически выберет два номера порта случайным образом в мастере запуска.
Основные понятия
Каждый файл, который используется с помощью eMule, хэшируется как хеш-список, содержащий отдельные куски 9500 КиБ с использованием алгоритма MD4. Хеш MD4 верхнего уровня, размер файла, имя файла и несколько вторичных атрибутов поиска, таких как битовая частота и кодек, хранятся на серверах eD2k и бессерверной сети Kad. Пользователи могут искать имена файлов на серверах / KAD и получают имена файлов и уникальный идентификатор, состоящий из хеш-кода MD4 верхнего уровня для файла и размера файла, который может быть добавлен к их загрузкам. Затем клиент спрашивает серверы, где другие клиенты используют этот хэш. Серверы возвращают набор IP-адресов/портов, которые указывают местоположение клиентов, которые делятся файлом. eMule затем просит коллег о файле. eMule будет стоять в очереди до тех пор, пока не станет доступным место для загрузки. Когда загружается и проверяется полный блок из 9 728 000 байтов (9500 КиБ), эти данные также передаются загрузчику, помогая другим загружать файл. Также возможно, что клиент знает других клиентов, которые также используют тот же файл. В этом случае происходит обмен источниками между клиентами. Этот обмен известными коллегами осуществляется непосредственно между коллегами. Новые версии eMule поддерживают AICH (Advanced Intelligent Corruption Handling). Он призван сделать eMule, занимающийся коррупцией, конкурентоспособным с BitTorrent. Для каждого подчастика 180 КиБ вычисляются хэши SHA 1, и образуется целое хэш-дерево SHA 1. AICH обрабатывается исключительно с помощью обмена источниками между равными. eMule требует 10 согласующихся сходных лиц в отношении хэша SHA 1, поэтому редкие файлы обычно не получают выгоды от AICH.
Низкий идентификатор
Пользователи, которые не могут быть достигнуты извне, потому что они защищены защитной стеной, за устройством NAT, которое не было правильно перенаправлено, или чей IP-адрес заканчивается нулем (например, 123.45.67.0), получают "низкий идентификатор" от серверов. Они все еще могут загружать и загружать, но нуждаются в помощи серверов или других клиентов Kad, чтобы быть доступными для других клиентов. Поскольку они не могут быть уведомлены о том, что они находятся в очереди для загрузки, они должны опросить сверстников, если есть свободный слот для загрузки. Поскольку они не могут подключиться к другим клиентам с низким идентификатором, они видят только 4060% клиентов, которые может видеть высокий идентификатор. Их IP/порты не обмениваются между другими партнерами, что ограничивает их возможности поиска источников через чистый обмен источниками eMule P2P. Клиент с низким идентификатором также потребляет гораздо больше данных на сервере, чем клиент с высоким идентификатором из-за обратных вызовов с низким уровнем. Кроме того, релизер или тяжелый загрузчик, использующий релизерный модуль, такой как MorphXT или Xtreme, который вынужден работать на низком идентификаторе (гостиничный номер, работа), также обнаружит, что у них будет мало контроля над приоритетами загрузки (особенно powershares), поскольку серверы, похоже, ограничивают переадресацию соединения для каждого клиента, таким образом, превращая их очередь загрузки в ситуацию ссоры, когда первый, кто сможет получить переадресацию и найти открытый слот, получает его.
eMule по сравнению с другими P2P-приложениями
eMule, как говорят, является наиболее полной реализацией протокола eD2k и его расширений. eMule поддерживает AICH, что делает его обработку коррупции конкурентоспособной с BitTorrent. eMule также поддерживает обмены исходных данных, что позволяет существенно снизить нагрузку на серверы и Kad. С высоким идентификатором и хорошо источником загрузок, предварительно полученных сервером и / или Kad, eMule может поддерживать независимые источники на этих файлах дольше после отключения от eD2k и Kad.
Моды eMule
Как популярная программа с открытым исходным кодом, eMule имеет много вариантов, обычно называемых модами. Некоторые моды начались как вилки из официальных версий eMule, а затем продолжали развиваться независимо, а не модифицировать более новые официальные версии. Примером такого типа мод является устаревший eMule Plus. Поскольку eMule Plus разделился до выпуска версии 0.30, первой официальной версии, включающей Kad, eMule Plus не поддерживает эту функцию, главным образом потому, что разработка проекта была остановлена около 4 лет. Другие текущие моды следуют за официальными релизами eMule и делают свои собственные релизы на основе каждого нового релиза официальной версии. Поскольку распределенные моды обязаны публично делиться своим исходным кодом по GNU General Public License, полезные функции, созданные разработчиками модов, могут быть быстро включены в официальную версию.
Поддельные сайты eMule и вредоносные программы
Из-за популярности и открытого кода eMule некоторые третьи стороны создали модифицированные версии, которые часто содержат шпионские и другие вредоносные программы. Некоторые поддельные сайты требуют сведений о кредитной карте или платного членства. Официальный eMule бесплатный и не запрашивает такую информацию. Эти версии обычно можно найти через ротационные объявления, иногда размещенные на законных сайтах.
Китайские модификации клиента eMule
EasyMule от VeryCD является популярным клиентом eMule среди китайских пользователей. Он имеет упрощенный интерфейс и не имеет некоторых расширенных настроек, доступных в стандартном клиенте eMule. Начиная с версии 1.1, он поддерживает только поиск в базе данных VeryCD, хотя внешние ссылки eD2k принимаются. Некоторые критиковали VeryCD за их вводящее в заблуждение название "Dianlv" (обычно китайское название для eDonkey или eMule) и сайт эмулятора. - Что? cn, который называется "Dianlv (eMule) Chinese Site" (电驴(eMule) 中文网站).
Версия для Сообщества
29 июля 2017 года была выпущена "версия сообщества" eMule, поддерживаемая официальными пользователями форума. Эта версия доступна для загрузки в репозитории GitHub и основана на последнем официальном релизе или бета-версии, но содержит дополнительные функции и исправления ошибок, сделанные сообществом, отдавая приоритет более современной версии.