эМул
Оригинальный автор(ы) | Меркурий |
---|---|
Разработчик(и) | Команда eMule |
Первоначальный выпуск | 13 мая 2002 г |
Финальный выпуск | 0.50a (7 апреля 2010 г [ 1 ] ) [±] |
Репозиторий | |
Написано в | С++ [ 2 ] |
Операционная система | Окна |
Доступно в | 43 языка [ 3 ] |
Тип | Одноранговый обмен файлами |
Лицензия | GNU GPLv2 |
Веб-сайт | эмуль-проект |
Разработчик(и) | лиса88 |
---|---|
Стабильная версия | 0,70а
/ 26 августа 2023 г [ 4 ] |
Репозиторий | github |
Веб-сайт | Ветка сообщества форума |
eMule — бесплатное приложение для однорангового обмена файлами для Microsoft Windows . Созданный в мае 2002 года в качестве альтернативы eDonkey2000 , eMule теперь подключается как к сети eDonkey , так и к сети Kad . Отличительными особенностями eMule являются прямой обмен источниками между клиентскими узлами, быстрое восстановление поврежденных загрузок и использование кредитной системы для вознаграждения тех, кто часто загружает файлы. Кроме того, eMule передает данные в сжатой zlib форме для экономии полосы пропускания.
eMule написан на C++ с использованием классов Microsoft Foundation . С июля 2002 года eMule является свободным программным обеспечением , распространяемым под лицензией GNU General Public License ; его популярность привела к тому, что кодовая база eMule стала использоваться в качестве основы кроссплатформенных клиентов aMule , JMule , xMule , а также к выпуску множества модов eMule (модификаций оригинального eMule) в Интернете.
По состоянию на октябрь 2023 г. [update] это пятый по популярности проект на SourceForge : его загрузили более 693 миллионов раз. [ 5 ]
Позже сообщество возобновило разработку под названием eMule Community ; последняя стабильная версия — 0.70a. [ 4 ]
История
[ редактировать ]Проект eMule был запущен 13 мая 2002 года Хендриком Брейткройцем (также известным как Меркур), который был недоволен исходным клиентом eDonkey2000 . Со временем к усилиям присоединились и другие разработчики. Исходный код был впервые выпущен в версии 0.02 и опубликован на SourceForge 6 июля 2002 года.
eMule был впервые выпущен в виде двоичного файла 4 августа 2002 года в версии 0.05a. «Кредитная система» была впервые реализована 14 сентября 2002 г. в версии 0.19a. Веб-сайт проекта eMule был запущен 8 декабря 2002 года.
В текущих версиях (v0.40+) eMule добавлена поддержка сети Kad . В этой сети реализован протокол Kademlia , который не опирается на центральные серверы, как сеть eDonkey , а представляет собой реализацию распределенной хеш-таблицы .
Также в последних версиях была добавлена возможность поиска с использованием unicode , позволяющая осуществлять поиск файлов нелатинским алфавитом, и возможность поиска на серверах файлов с полными исходниками незавершенных файлов в сети eDonkey .
В новых версиях добавлен «Список плохих источников». Приложение добавляет IP-адрес в этот список после одного неудачного подключения. После добавления IP в «Список неверных источников» приложение воспринимает этот IP как «мертвый» IP. Недоступные IP банятся на срок от 15 до 45 минут. Некоторые пользователи жаловались, что это приводит к потере активных источников и впоследствии замедляет скорость загрузки.
Другие недавние дополнения включают в себя: возможность запускать eMule из учетной записи пользователя с ограниченными привилегиями (таким образом повышая безопасность) и AICH (так что поврежденный фрагмент не нужно полностью повторно загружать).
В версии 0.46b добавлена возможность создания и управления файлами «коллекции eMule», которые содержат набор ссылок на файлы, предназначенные для загрузки в виде набора.
С 2007 года многие интернет-провайдеры использовали регулирование полосы пропускания для обычных портов P2P, что приводило к снижению производительности. [ 6 ] Версия 0.47b добавляет обфускацию протокола , и eMule автоматически выбирает два случайных номера порта в мастере запуска.
Основные понятия
[ редактировать ]Каждый файл, к которому предоставлен общий доступ с помощью eMule, хешируется в виде хэш-списка , состоящего из отдельных по 9500 КиБ, фрагментов с использованием алгоритма MD4 . Хэш MD4 верхнего уровня , размер файла, имя файла и несколько вторичных атрибутов поиска, таких как скорость передачи данных и кодек, хранятся на серверах eD2k и в бессерверной сети Kad .
Пользователи могут искать имена файлов на серверах/kad и получают имена файлов и уникальный идентификатор, состоящий из хеша MD4 верхнего уровня для файла и размера файла, который можно добавить к их загрузкам. Затем клиент спрашивает серверы, где другие клиенты используют этот хэш. Серверы возвращают набор IP-адресов/портов, указывающих расположение клиентов, совместно использующих файл.
Затем eMule запрашивает файл у пиров. После этого eMule будет поставлен в очередь до тех пор, пока не станет доступен слот для загрузки.
Когда полный фрагмент размером 9 728 000 байт (9 500 КиБ) загружается и проверяется, эти данные также передаются загрузчику, что помогает другим также загрузить файл.
Также возможно, что клиент знает других клиентов, которые также используют тот же файл. В этом случае осуществляется обмен источниками между клиентами. Этот обмен известными узлами осуществляется непосредственно между узлами.
Более новые версии 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 /порты не передаются между другими узлами, что ограничивает их возможности поиска источников через обмен источниками P2P в eMule.
Клиент с низким идентификатором также потребляет гораздо больше данных. [ 9 ] на сервере, чем на клиенте с высоким идентификатором, из-за обратных вызовов lowid. Кроме того, релизер или активный загрузчик, использующий мод релизера, такой как MorphXT или Xtreme, который вынужден работать с низким идентификатором (гостиничный номер, работа), также обнаружит, что у них мало контроля над своими приоритетами загрузки (особенно распределением мощности), поскольку серверы, по-видимому, ограничивают пересылку соединений для каждого клиента, тем самым превращая свою очередь загрузки в ситуацию конкуренции, когда первый, кто сможет получить пересылку и найти открытый слот, получает ее.
Кредитная система
[ редактировать ]Кредиты не являются глобальными; ими обмениваются два конкретных клиента. Кредитная система используется для вознаграждения пользователей, вносящих вклад в сеть, т.е. загружающих данные другим клиентам. Строгая система очередей в 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 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 ]
Версия сообщества
[ редактировать ]29 июля 2017 г. была выпущена «Версия сообщества» eMule. [ 16 ] поддерживается официальными пользователями форума. Эту версию можно загрузить в репозитории GitHub. Она основана на последней официальной версии или бета-версии, но содержит дополнительные функции и исправления ошибок, внесенные сообществом, отдавая приоритет более актуальной версии. [ 17 ]
См. также
[ редактировать ]- сеть eDonkey
- сеть кад
- Сравнение программного обеспечения eDonkey
- Сравнение приложений для обмена файлами
- aMule (версия для Mac)
Ссылки
[ редактировать ]- ^ «Проект eMule на SourceForge.net» . eMule.SourceForge.net. 07.04.2010 . Проверено 11 июля 2010 г.
- ^ Лекстрейт, Винсент (январь 2010 г.). «Маяк языков программирования, v10.0» . Архивировано из оригинала 30 мая 2012 года . Проверено 14 марта 2010 г.
- ^ Исходный код eMule 0.50a. Архивировано 13 июня 2011 г. на Wayback Machine : /srchybrid/lang/.
- ^ Перейти обратно: а б «Выпуски» . Гитхаб . 2021-05-13. Архивировано из оригинала 6 июня 2021 г. Проверено 1 июня 2021 г.
- ^ «Лучшие списки проектов» . sourceforge.net . Проверено 29 октября 2023 г.
- ^ «DailyTech – Еще больше признаний интернет-провайдеров: мы ограничиваем P2P-трафик» . Архивировано из оригинала 16 сентября 2009 г. Проверено 8 августа 2009 г.
- ^ forum.emule-project.net. Архивировано 27 сентября 2007 г. на Wayback Machine. Как рассчитывается низкий идентификатор.
- ^ «Увеличение количества клиентов с низким идентификатором - Официальный eMule-Board» . emule-project.net . Архивировано из оригинала 17 января 2023 г. Проверено 2 ноября 2007 г.
- ^ forum.emule-project.net. Архивировано 17 января 2023 г. в техническом посте lugdunummaster на Wayback Machine, посвященном прямому и побочному потреблению полосы пропускания в восходящем направлении клиентом с низким идентификатором и высоким идентификатором на RazorBack, в этом примере накладные расходы в 20 раз больше.
- ^ «eMule-Project.net — официальная домашняя страница eMule. Загрузки, помощь, документация, новости...» emule-project.net . Архивировано из оригинала 12 мая 2008 г. Проверено 22 мая 2008 г.
- ^ «eMule-Project.net — официальная домашняя страница eMule. Загрузки, помощь, документация, новости...» www.emule-project.net . Архивировано из оригинала 11 октября 2007 г. Проверено 12 октября 2007 г.
- ^ «Список файловых программ, зараженных шпионским ПО» . 10 ноября 2006 г. Архивировано из оригинала 26 февраля 2009 г. Проверено 11 марта 2009 г.
- ^ «Мошеннические сайты для eMule» . 11 декабря 2008 г. Архивировано из оригинала 7 марта 2009 г. Проверено 16 марта 2009 г.
- ^ «Яйца Чэнь Цзяо болят каждый понедельник»: искренне предлагаю переименовать «eDonkey» (на китайском языке). cnBeta. Архивировано из оригинала 20 июля 2010 г. Проверено 20 июля 2010 г.
- ^ «Анализ и доказательства запутанной пропаганды VeryCD на eMule/电竞/电MULE/VeryCD/EasyMule» (на китайском языке). Архивировано из оригинала 05 июля 2010 г. Проверено 17 сентября 2009 г.
- ^ «Выпуск eMule_v0.50b-неофициальный: .: Исправлено: сворачивание в трей после изменения масштаба дисплея» . irwir/eMule . 29 июля 2017 года. Архивировано из оригинала 11 декабря 2020 года . Проверено 7 апреля 2021 г.
- ^ «eMule-Project.net» . Архивировано из оригинала 9 августа 2020 года . Проверено 7 апреля 2021 г.
Внешние ссылки
[ редактировать ]- Официальный форум
- Официальная сеть IRC (MindForge)
- Спецификация протокола eMule , авторы Дэнни Биксон и Йорам Кульбак из Еврейского университета в Иерусалиме.
- Тест на гласность eMule Traffic Shaping ( Институт программных систем Макса Планка )
- eMule в Керли
- программное обеспечение 2002 года
- Бесплатная программа для обмена файлами
- Бесплатное программное обеспечение, написанное на C++.
- Бесплатное программное обеспечение только для Windows
- Портативное программное обеспечение
- Программное обеспечение для обмена файлами Windows
- Бета-версия программного обеспечения
- Бесплатное программное обеспечение с открытым исходным кодом
- Программное обеспечение, использующее лицензию GPL