EMule
Материал из Pro-Poser
Содержание |
Загрузка файлов из пиринговых обменных сетей
Что такое eMule?
EMule - новый Flesharing клиент,которыйявляетсяоснованным на eDonkey2000 сети, но имеет больше возможностей чем стандартный eDonkey клиент, потому что это - opensource проект, но согласно ограничениям Лицензии GNU General Public License
Зачем он нужен?
Итак, практика показывает, что не смотря на активное противодействие мультимедия кампаний в интернете полно развлекательного контента. Музыка, фильмы, клипы, а так же атласы, книги, CD-энциклопедии и программы...
Где же все это лежит?
А лежит это все, дорогие друзья, у нас с вами на жестких дисках . Системы обмена файлами между пользователями очень популярны. Обмен файлами подразумевает непостредственный контакт одного пользователя и другого. Образцом такого общения является ICQ и Skype, там вы можете посылать сообщения и даже файлы напрямую другому пользователю. Давайте кратко рассмотрим ситуацию с двумя пользователями - А и Б которые хотели бы скачать друг у друга по файлу. Первое препятствие на их пути - это найти друг друга в интренете. Если А и Б дружат с дества, вместе работают, или как то общаются в “офлайн”, то это не проблема, проблема если А не знает кого искать. Знает только что искать(например имя (название) файла). В этой ситуации необходима некоторая программа, которая может “поделиться сведениями” о том, что Б готов отдать кому угодно некий файл.
Эта программа должна быть расположенна в интернете и доступна всем. Фактически это сервер, к которому могут обращаться клиенты. Так работал Напстер (см ниже). Всем пользователям раздавались клиенты, а сам Напстер держал у себя сервер. Клиенты сообщали о файлах пользователей, выложенных “на раздачу”, сервер собирал эту информацию и делился ей (в виде результатов поискового запроса) с клиентами, эти запросы отправляющими. Напстер умер, попав под горячую руку, к тому же совершив серьезную ошибку, задавшись целью распространять в своей сети только музыкатьные файлы. По аналогичной схеме работают и другие службы (найти их можно по словам Peer to Peer File sharing) Приняв во внимание плачевный опыт Напстера, многие из них построены на распределенных серверах. Т.е. серверов много, и они обмениваются информацией друг с другом. Эта схема более живуча, особенно если и клиентское и серверное software распространяется свободно и бесплатно,а сами сервера разбросаны по всему миру.
eMule и eDonkey в чем разница?
Многие из вас в последнее время заметили резкое снижение эффективности работы сети. Просто на глаз видно, что при сохранившейся скорости аплоада, скорость скачивания резко упала. Связано это, прежде всего, с ростом сети. Сервера не справляются с возложенными на них функциями, клиенты eDonkey так-же не были оптимизированны для работы в подобных условиях. Как обычно это и случается в интернет мире, если чего то не хватает, то очень вероятно, что это уже написали или пишут. С осликом случилась та же история. Устав ждать от автора милостей в виде обновлений морально и физически устаревшей версии осла, группа европейских программистов летом 2002 года занялась расшифровкой протокола работы edonkey и созданием собственного клиента для этой сети. В качестве базового языка был взят C++ от .NET, и проект стартовал как Open Source. Т.е исходные коды клиента распостранялись вместе с готовым exe файлом. Буквально за 2 летних месяца проект достиг стадии публичного тестирования и оброс основной функциональностью. В настоящее время скорость развития стала ниже, но и основные возможности программы уже определены, идет процесс внесения улучшений, исправления багов, оптимизация.
Мул использует стандартные для осла порты 4661-4665, которые должны быть открыты. Со старыми клиентами eDonkey он прекрасно работает, но несомненно, отдает предпочтение родственникам - мулам. Не могу назвать его идеальной заменой ослу, но по множеству параметров он уверенно обходит прародителя.
Но по порядку - перечислим основные приемущества мула:
Сервера:
- возможность обновления списка серверов с заданных url при старте мула
- возможность обновления списка серверов с заданного url во время работы и по таймеру (mods*)
- возможность получения списка серверов не только от сервера, но и от клиентов, с которыми общается ваш мул
- возможность форсировать реконнект к серверу в случае получения LowID
- возможность сохранить “лучшие” сервера в специальном “постоянном” листе серверов, имеющем текстовый формат
Клиенты:
- рейтинговая система, обеспечивающая некий “паритет” между Upload and Download.
- Очередь клиентов, которые ожидают от вас доступа к файлам, движется в соответствии с рейтингом, скажем системы. Клиенты, которые отдали вам больше, двигаются быстрее. Рейтинг ведется не по ip адресу, а привязываетcя к конкретному клиенту (Надеюсь вернуться к более подробному рассмотрению рейтинговой системы позже)
- клиенты обмениваются не только адресами серверов, но и списками сорсов для скачиваемых файлов.
Таким образом заложена основа для безсерверной работы. К сожалению, клиенты с LowID не могут в полной мере воспользоваться всеми приемуществами безсерверной работы.
Файлы для закачки:
- Теперь при старте мула происходит ReHash только тех файлов, которые изменились с момента последнего выхода из программы. Т.е можно рестартовать мула так часто, как хочется, не нарываясь на получасовой процесс пересчета контрольной суммы для тех 10 гигабайт файлов, которые стоят в очереди на закачку.
- Источники для скачиваемых файлов теперь сохраняются на диске. Т.е. после рестарта мула, еще до коннекта к серверу ваш клиент может начинать опрос источников именно нужного вам файла.
- Скопировать “ed2k://” линк можно прямо в списке качаемых файлов.
- Встроенная функция предпросмотра фильмов, если скачены куски с нача-лом и концом фильма
- Для предыдущего пункта реализована возможность пытаться скачать эти
куски прежде всего.
- Скорость вашего Upload может быть разбита на примерно равные куски между заданным числом качающих. Т.е. ваши 30 килобайт аплоада будут разделены на 10 человек по 3 килобайта каждому, а не на 30 по 1 (mods*) вплоть до задания на сколько человек или по какой скорости нарезать.
- Клиент показывает не только скорость, с которой вы качаете каждый файл, но и скорость скачивания с каждого конкретного источника. (mods*) и на каком месте в очереди вы стоите у искочника, с которого пока не качаете.
- Можно посмотреть не только очередь уже качающих, но и тех, кто стоит к вам за файлами(и за каким). И эта очередь не ограничена 50 как в осле.
- Автоматический приоритет редких в сети файлов (mods*)
- При передачи от мула к мулу блоки могут сжиматься, что дает выигрыш в размере переданного файла.
- Интеллектуальный механизм проверки контрольной суммы позволяет в случае обнаружения битого блока перекачивать не весь 9Мб блок, а только его часть.
Shared файлы:
- Ввозможность задать приоритет и здесь, вплоть до приоритета “Релиз”, который будет форсировать вашу программу отдавать этот файл в первую очередь.
Там же можно посмотреть статистику - как скачивают этот файл. На мой взгляд, в этой статистике все неверно, но надеюсь, что эту багу поправят рано или поздно.
Поиск:
- Поиск может быть глобальным, по всем серверам или только по текущему серверу,
- Там же, в окне поиска можно поставить файл на закачку, указав его “ed2k://” линк,
- (mods*) реализован поиск по всем известным серверам с использованием web движков.
Общее:
- Приятный интерфейс, и никакой рекламы
- Поддержка разных языков, в том числе и русского
- Достаточно полная статистика о том, что происходит - скорости Upload и Download, средние скорости, количество использованных сокетов, графики.
- Встроенный IRC клиент
Терминологическая сноска
(mods*) означает, что возможность может быть не реализована в официальном emule, а реализована в одной или нескольких модификациях клиента. Причем, так как код клиента открыт, то штучки, реализованные в модах, и вызвавшие одобрение пользователей переползают в основной базовый клиент довольно быстро.
Форум модов мула есть здесь http://forum.emule-project.net/ Это я привел список наиболее общих изменений по отношению к edonkey клиенту. Как написано выше - существует достаточно много модификаций клиента, базирующихся на достаточно свежей официальной версии. В этих модификациях сторонние программисты пробуют свои силы в изменении отдельных возможностей программы. Большая часть из них направлена на попытку дать пользователю большую власть над настройками процесса ul/dl и интерфейса.
Есть моды, более жестко регламентирующие рейтинги клиентов, т.е “ты мне ничего не отдал, а скачал уже 10 мег - я тебе больше не дам”. Есть системы, ориентированные на определенную комьюнити, отдающие приоритет в первую очередь клиентам из этой комьюнити. Собственно активно развивающихся модов порядка десятка. Из них 2-3 наболее активных и продвинутых. По показаниям статистики более половины ослинной сети сейчас использует мул в качестве клиента.
Теперь пару слов о рейтинговой системе в базовом муле. Собственно рейтинг стоится на основании нескольких факторов, таких как:
- Тип клиента (мул/не мул)
- LowID / HighID
- Сколько уже скачал с меня /Сколько отдал мне
- Ссколько времени стоит в очереди
комбинация этих параметров дает возможность даже новичку в сети, посто-яв в очереди, начать что-то скачивать.
Ну, и напоследок то, что в муле пока реализовано плохо:
- Первое и наиболее часто возникающее нарекание - безобразная работа под LowID - если ваш комп за файрволом, или NAT сервером, вы не можете рассчитывать на высокую скорость DL Так было и с ослом, но мул ухитряется плохо работать даже на раздачу из под LowID.
- Второе нарекание - мул активно работает с сокетами, действительно активно. И при большом количестве коннектов негативно влияет на работу старых win9X систем. Возможно пользователям 95-98 виндов все же стоит подумать об обновлении системы до win2000 или winXP.
- Третье, и последнее - падает он временами. Не у всех, не всегда и не все время. Однако временами случается...
Несомненно другие пользватели мула могут дополнить этот ряд недостатков своими претензиями. Но это наиболее общие... Вот, коротенько о муле как таковом, и о том, что он нам может предложить. Переходить ли на него - решать вам. Я перешел. Уже с сентября 2004. Не жалею.
Если надумаете - мула можно поставить в отдельную директорию, скопировать в нее known.met и server.met из директории осла, запустить мула (осел должен быть выгружен) и указать ему фолдер с временными файлами и фолдер, куда класть скаченное - те же, что вы использовали для осла. Мул сразу начнет скачивать недокаченное ослом.
Установка и настройка в картинках:
Загрузка программы и установка
1 Закходим на этот сервер и скачиваем программу (около 3 МБ) E-Mule Plus
2 Выбираем установщик в виде файла EXE
3 Выбираем файловое зеркало откуда скачивать, немножечко ждем пока сервер выдаст прямую ссылку на файл
4 В появивщемся окне кликните на кнопке Сохранить
5 Загрузив, запустите установку программы (два раза кликнув на по полученному файлу) далее следуйте приведённой последовательности до кнопки Finish
Выберите логический диск где побольше мвободного места
Запуск, настройка и поиск файлов
6 В окне Серверы
- Кликните кнопку Обновить список серверов
- Далее Обновить
- Немного подождите пока скачается список
- Попробуйте скачать с разных URL, которые можно выбрать в выпадающем списке.
7 В окне Настройка, в разделе Общие активируйте указанную опцию (Следить за появлением ed2k-линков в буфере обмена)
8 В окне Настройка, в разделе Соединение подразделе Сервер поставьте голочки точно так же как на иллюстрации
9 Вернитесь на закладку Серверы и два раза кликните по названию у котрого в графе Файлов самое большое число (название может отличаться от того что на иллюстрации)
10 Ну, собственно говоря начинаем охотиться, переходим в окно Поиск в текстовое поле Имя введите названия издательств, авторов, названий книг, или в текстовое поле ed2k-линк вставьте скопированную (уже найденную кем либо) ссылку, и кликните Начать. Все, спасибо за Ваше внимание и терпение, надеюсь они будут вознаграждены тем, что вы для себя найдете.
Have Fun...