Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

eMule - это бесплатное приложение для однорангового обмена файлами для Microsoft Windows . Запущенный в мае 2002 года в качестве альтернативы eDonkey2000 , eMule теперь подключается как к сети eDonkey, так и к сети Kad . Часто используется клиентами, которые ищут чрезвычайно редкий контент, отличительными особенностями eMule являются прямой обмен источниками между клиентскими узлами, быстрое восстановление поврежденных загрузок и использование кредитной системы для вознаграждения тех, кто часто загружает файлы. Кроме того, eMule передает данные в zlib- сжатой форме для экономии полосы пропускания.

eMule написан на C ++ с использованием классов Microsoft Foundation . С июля 2002 года eMule является бесплатным программным обеспечением , выпущенным под Стандартной общественной лицензией GNU ; его популярность привела к тому, что кодовая база eMule используется в качестве основы для кроссплатформенных клиентов aMule , JMule , xMule , наряду с выпуском множества модов eMule (модификации исходного eMule) в Интернете.

По состоянию на август 2017 года это четвертый по величине проект на SourceForge с более чем 685 миллионами загрузок. [5]

В настоящее время разработка возобновляется по желанию сообщества для улучшения и обновления кода 10-летней давности версии 0.50a. Последняя стабильная версия сообщества - 0.60b.

История [ править ]

Проект eMule был запущен 13 мая 2002 года Хендриком Брейткройцем (также известным как Меркур), который был недоволен первоначальным клиентом eDonkey2000 . Со временем к усилиям присоединилось больше разработчиков. Исходный код был впервые выпущен в версии 0.02 и опубликован на SourceForge 6 июля 2002 года.

eMule был впервые выпущен в виде двоичного файла 4 августа 2002 года в версии 0.05a. «Кредитная система» впервые была внедрена 14 сентября 2002 года в версии 0.19a. Сайт проекта eMule был запущен 8 декабря 2002 года.

Узлы в сети Kad

В текущих версиях (v0.40 +) eMule добавлена ​​поддержка сети Kad . В этой сети реализован протокол Kademlia , который не полагается на центральные серверы, как сеть eDonkey , а является реализацией распределенной хеш-таблицы .

Также в последних версиях была добавлена ​​возможность поиска с использованием Unicode , позволяющая выполнять поиск файлов в нелатинских алфавитах, и возможность поиска на серверах файлов с полными источниками незавершенных файлов в сети eDonkey .

В новых версиях добавлен «Список плохих источников». Приложение добавляет IP-адрес в этот список после одного неудачного подключения. После добавления IP в «Список плохих источников» приложение рассматривает этот IP как «мертвый» IP. Недоступные IP-адреса забанены на срок от 15 до 45 минут. Некоторые пользователи жаловались, что это приводит к потере активных источников и, как следствие, снижает скорость загрузки.

Другие недавние дополнения включают: возможность запускать eMule из учетной записи пользователя с ограниченными привилегиями (таким образом, повышая безопасность) и Intelligent Corruption Handling (так что поврежденный фрагмент не нужно повторно загружать полностью).

Версия 0.46b добавила создание и управление файлами «коллекции eMule», которые содержат набор ссылок на файлы, предназначенные для загрузки в виде набора.

С 2007 года многие интернет-провайдеры использовали регулирование полосы пропускания для обычных портов P2P, что привело к снижению производительности. [6] Версия 0.47b добавляет обфускацию протокола, и eMule автоматически выбирает два номера порта случайным образом в мастере запуска.

Основные понятия [ править ]

Статистика передачи файлов v.048a

Каждый файл, который используется совместно с eMule, хэшируется как хэш-список, состоящий из отдельных блоков размером 9500 КиБ, с использованием алгоритма MD4 . Верхнего уровня MD4 хэш , размер файла, имя файла, и несколько вторичный поиск атрибутов , таких как битрейт и кодек хранятся на eD2k серверах и безсерверной сети Kad .

Параметры поиска в eMule v0.50a

Пользователи могут искать имена файлов на серверах / kad и получать имена файлов и уникальный идентификатор, состоящий из хеша MD4 верхнего уровня для файла и размера файла, который может быть добавлен к их загрузкам. Затем клиент спрашивает серверы, где другие клиенты используют этот хеш. Серверы возвращают набор IP / портов, которые указывают расположение клиентов, которые совместно используют файл.

Затем eMule запрашивает файл у партнеров. Затем eMule будет поставлен в очередь до тех пор, пока не станет доступным слот для загрузки.

Когда загружается и проверяется полный фрагмент размером 9 728 000 байт (9500 КиБ), эти данные также передаются загрузчику, помогая другим также загрузить файл.

Также возможно, что клиент знает других клиентов, которые также совместно используют тот же файл. В этом случае между клиентами производится обмен источниками. Этот обмен известными одноранговыми узлами осуществляется напрямую между одноранговыми узлами.

Новые версии eMule поддерживают AICH ( Advanced Intelligent Corruption Handling ). Это сделано для того, чтобы сделать борьбу с коррупцией в eMule конкурентоспособной с BitTorrent . Хеш- коды SHA-1 вычисляются для каждого фрагмента размером 180 КиБ, и формируется все хеш-дерево SHA-1 . AICH обрабатывается исключительно с помощью однорангового обмена источниками. eMule требует 10 согласованных одноранговых узлов относительно хэша SHA-1, поэтому для редких файлов обычно не используется AICH.

Низкий идентификатор [ править ]

Пользователи, которые недоступны извне, потому что они защищены брандмауэром , за устройством NAT , для которого неправильно перенаправлен порт или чей IP-адрес заканчивается нулем (например, 123.45.67.0) [7], получают «Низкий идентификатор» от серверы. Они по-прежнему могут выгружать и скачивать, но нуждаются в помощи серверов или других клиентов KAD, чтобы другие клиенты могли связаться с ними. Поскольку они не могут быть уведомлены о том, что находятся перед очередью выгрузки, они должны опросить одноранговые узлы, если доступен слот выгрузки. Поскольку они не могут подключиться ни к каким другим клиентам с низким идентификатором, они видят только 40% -60% [8] клиентов, которых может видеть высокий идентификатор. Их IP/ ports не обмениваются между другими одноранговыми узлами, что ограничивает их возможности поиска источников посредством обмена исходными кодами в чистом P2P eMule.

Клиент с низким идентификатором также потребляет намного больше данных [9] на сервере, чем клиент с высоким идентификатором, из-за lowidcallbacks. Кроме того, релизер или тяжелый загрузчик, который использует релиз-мод, такой как MorphXT или Xtreme, который вынужден работать с низким идентификатором (номер в отеле, работа), также обнаружит, что он будет мало контролировать свои приоритеты загрузки (особенно Powershares), поскольку серверы, похоже, ограничивают переадресацию соединений для каждого клиента, тем самым превращая его очередь загрузки в конфликтную ситуацию, когда ее получает первый, кто сможет получить пересылку и найти свободный слот.

Кредитная система [ править ]

Кредиты не глобальны; они обмениваются между двумя конкретными клиентами. Кредитная система используется для поощрения пользователей, которые вносят свой вклад в сеть, то есть загружают данные другим клиентам. Система строгой очереди в eMule основана на времени ожидания, которое пользователь провел в очереди. Кредитная система предоставляет основной модификатор этого времени ожидания, принимая во внимание загрузку и загрузку между двумя клиентами. Чем больше пользователь загружает клиенту, тем быстрее он продвигается в очереди этого клиента. Модификаторы рассчитываются на основе объема данных, переданных между двумя клиентами. Используемые значения можно увидеть в диалоговом окне сведений о клиенте. Чтобы просмотреть эту информацию, щелкните любого пользователя правой кнопкой мыши и выберите «Просмотреть подробности».

Все клиенты, загружающие к вам, получают вознаграждение по кредитной системе. Неважно, поддерживает ли клиент кредитную систему или нет. Не поддерживающие клиенты не будут предоставлять вам кредиты при загрузке на них. Кредиты хранятся в файле client.met. Уникальный хэш пользователя используется для идентификации клиента. Ваши собственные кредиты сохраняются клиентом, который должен вам кредит. Это предотвращает подделку кредитов. Ваши собственные кредиты не могут быть отображены.

Формула расчета для Официальной кредитной системы состоит из двух следующих соотношений: [10]

Затем оба отношения сравниваются, и меньшее из них используется в качестве модификатора. Существуют несколько условий:

  • Если общее количество загруженных файлов меньше 1 МБ, модификатор останется равным 1.
  • Если клиент загружает данные, но не загружает их, модификатор будет установлен на 10.
  • Модификатор может быть только от 1 до 10.

Исключение из этого правила применяется только тогда, когда одноранговому узлу назначается «Слот для друга» после того, как он был добавлен в список друзей клиента. Это автоматически назначает зарезервированный слот для загрузки для этого партнера, чтобы он / она мог начать загрузку независимо от кредитного рейтинга. Можно зарезервировать только одно место для друзей, чтобы предотвратить любые формы злоупотреблений, таких как дискриминация при загрузке. [11]

eMule по сравнению с другими приложениями P2P [ править ]

eMule считается наиболее полной реализацией протокола eD2k и его расширений [ кем? ] . eMule поддерживает AICH, что делает его борьбу с коррупцией конкурентоспособной с BitTorrent . eMule также поддерживает обмен исходными текстами, что позволяет существенно снизить нагрузку на серверы и Kad. Благодаря высокому идентификатору и загрузкам из качественных источников, предварительно полученным сервером и / или Kad, eMule может поддерживать одноранговые источники в этих файлах независимо дольше после отключения от eD2k и Kad.

моды для eMule [ править ]

Как популярная программа с открытым исходным кодом, eMule имеет множество вариантов, обычно называемых модами. Некоторые моды начинались как форки официальных версий eMule, а затем продолжали развиваться независимо, а не изменять более новые официальные версии. Примером этого типа мода является устаревший eMule Plus.. Поскольку eMule Plus был разветвлен до выпуска v0.30, первой официальной версии, включающей Kad, eMule Plus не поддерживает эту функцию, главным образом потому, что разработка проекта была прекращена примерно на 4 года. Другие текущие моды следуют за официальными выпусками eMule и выпускают свои собственные выпуски на основе каждого нового выпуска официальной версии. Поскольку распространяемые моды обязаны публично делиться своим исходным кодом в соответствии с Стандартной общественной лицензией GNU, полезные функции, созданные разработчиками модов, могут быть быстро включены в официальную версию.

Поддельные сайты eMule и вредоносное ПО [ править ]

Из-за популярности и открытого исходного кода eMule, некоторые третьи стороны создали его модифицированные версии, которые часто содержат шпионское ПО и другие вредоносные программы. Некоторые поддельные сайты запрашивают информацию о кредитной карте или требуют, чтобы пользователь подписался на платное членство. Официальный eMule бесплатен и не запрашивает такую ​​информацию.

Эти версии обычно находятся в чередующихся рекламных объявлениях, которые иногда размещаются на законных сайтах. [12] [13]

Китайские моды клиента eMule [ править ]

EasyMule от VeryCD - популярный клиент eMule среди китайских пользователей. У него упрощенный интерфейс и отсутствуют некоторые расширенные настройки, доступные в стандартном клиенте eMule. Начиная с версии 1.1 он поддерживает только поиск в базе данных VeryCD, хотя внешние ссылки на eD2k принимаются. Некоторые критиковали VeryCD за вводящее в заблуждение название «Dianlv» ( китайский :电 驴; пиньинь : Diàn Lǘ ; букв. «Электронный осел»; обычно китайское название eDonkey или eMule) и сайт emule.org.cn, который называется «Dianlv». (eMule) Китайский сайт "(电 驴 (eMule) 中文 网站). [14] [15]

См. Также [ править ]

  • сеть eDonkey
  • Кад сеть
  • Сравнение программного обеспечения eDonkey
  • Сравнение приложений для обмена файлами

Ссылки [ править ]

  1. ^ "Проект eMule на SourceForge.net" . eMule.SourceForge.net. 2010-04-07 . Проверено 11 июля 2010 .
  2. ^ «Тестирование Emule 0.60b (сборка 2)» . 2021-01-15 . Проверено 13 февраля 2021 .
  3. ^ Lextrait, Винсент (январь 2010). "Маяк языков программирования, v10.0" . Архивировано из оригинального 30 мая 2012 года . Проверено 14 марта 2010 года .
  4. ^ eMule 0.50a Источник : / srchybrid / lang /
  5. ^ "Лучшие листинги проектов" . sourceforge.net .
  6. ^ "Архивная копия" . Архивировано из оригинала на 2009-09-16 . Проверено 8 августа 2009 .CS1 maint: archived copy as title (link)
  7. ^ forum.emule-project.net Как рассчитывается низкий идентификатор.
  8. ^ "Увеличение числа клиентов с низким Id - Официальный eMule-Board" . emule-project.net .
  9. ^ forum.emule-project.net Технический пост lugdunummaster о прямом и сопутствующем потреблении полосы пропускания в восходящем направлении для клиентов с низким и высоким идентификаторами на RazorBack, в этом примере в 20 раз больше накладных расходов
  10. ^ "eMule-Project.net - Официальная домашняя страница eMule. Загрузки, Справка, Документы, Новости ..." emule-project.net .
  11. ^ "eMule-Project.net - Официальная домашняя страница eMule. Загрузки, Справка, Документы, Новости ..." www.emule-project.net .
  12. ^ «Список зараженных шпионским ПО программ обмена файлами» . 10 ноября 2006 Архивировано из оригинала 26 февраля 2009 года . Проверено 11 марта 2009 .
  13. ^ «Мошеннические сайты для eMule» . 11 декабря 2008 . Проверено 16 марта 2009 .
  14. ^ 陈 佼 "每周 一 蛋 疼" : 诚恳 建议 "电 驴" 改名(на китайском языке). cnBeta. Архивировано из оригинала 2010-07-20 . Проверено 20 июля 2010 .
  15. ^ «VeryCD 对 eMule / 电 驴 / 电 骡 / VeryCD / EasyMule 等 词 的 混淆 性 宣传 分析 与 证据» (на китайском языке). Архивировано из оригинала на 2010-07-05 . Проверено 17 сентября 2009 .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • eMule на SourceForge.net
  • Официальный форум
  • Официальная сеть IRC (MindForge)
  • Спецификация протокола eMule от Дэнни Биксона и Йорама Кульбака из Еврейского университета в Иерусалиме
  • Тест на гласность по формированию трафика eMule ( Институт программных систем Макса Планка )
  • eMule в Curlie