Кіріспе

Microsoft Windows үшін тегін файл ортақтастыру бағдарламасы. eMule - Microsoft Windows үшін тегін файл ортақтастыру бағдарламасы. 2002 жылдың мамыр айында eDonkey2000-ге балама ретінде басталған eMule қазір eDonkey желісіне де, Kad желісіне де қосылады. eMule-дің ерекшеліктері - клиенттік тораптар арасындағы көздерді тікелей алмасу, бүлінген жүктемелерді тез қалпына келтіру және жиі жүктеушілерді марапаттау үшін кредит жүйесін пайдалану. Бұдан басқа, eMule жолақты үнемдеу үшін zlib сығылған түрінде деректерді жібереді. eMule Microsoft Foundation Class бағдарламасын қолдана отырып, C++ тілінде кодталған. 2002 жылдың шілдесінен бастап eMule GNU General Public License лицензиясы бойынша шығарылған еркін бағдарламалық жасақтама болып табылады; оның танымалдығы eMule код базасының платформааралық клиенттер aMule, JMule, xMule негіздері ретінде қолданылуына әкелді, сонымен қатар көптеген eMule модтары (түпнұсқа eMule-дің модификациялары) Интернетте шығарылды. 2023 жылы 693 миллионнан астам жүктемесімен SourceForge-де ең көп жүктелетін бесінші жоба. Кейіннен eMule Community ретінде дамуды қайта бастады; соңғы тұрақты нұсқасы 0.70a. 0.47b нұсқасы протоколды бүлдіруді қосады және eMule автоматты түрде бастау шеберінде екі порт нөмірін кездейсоқ таңдайды.

Негізгі түсініктер

eMule арқылы бөлінетін әрбір файл MD4 алгоритмі арқылы 9500 КиБ-ты құрайтын бөлек хэш тізім ретінде хэштеледі. Жоғары деңгейдегі MD4 хэші, файлдың көлемі, файл атауы және біт-пайыз және кодек сияқты бірнеше екінші іздеу атрибуттары eD2k серверлерінде және серверсіз Kad желісінде сақталады. Пайдаланушылар файл атауларын серверлерде/kad-да іздестіре алады және файл атаулары мен файлдың жоғарғы деңгейлі MD4 хэші мен файлдың көлемінен тұратын бірегей идентификаторымен танысады, оларды жүктеулеріне қосуға болады. Клиент серверден басқа клиенттердің осы хэш-тегіні қайда пайдаланып жатқанын сұрайды. Серверлер файлды бөлісетін клиенттердің орналасуын көрсететін IP/порттар жиынтығын қайтарады. eMule кейін әріптестерден файлды сұрайды. eMule жүктеп беру орны бос болғанша кезекке тұрады. 9,728,000 байт (9500 КиБ) толық жүктеліп, тексерілген кезде, бұл деректерді жүктеуші де бөліседі, бұл басқаларға файлды жүктеуге көмектеседі. Сондай-ақ, клиенттің сол файлды бөлісетін басқа клиенттерді білуі мүмкін. Бұл жағдайда клиенттер арасында көз алмасу жүргізіледі. Бұл таныс теңгерімдер алмасуы тікелей теңгерімдер арасында жүзеге асырылады. eMule-дің жаңа нұсқалары AICH (Advanced Intelligent Corruption Handling) бағдарламасын қолдайды. Бұл eMule-дің жемқорлықты басқаруын BitTorrent-пен бәсекеге қабілетті етуге бағытталған. SHA 1 хэштері әр 180 КиБ-дық субблок үшін есептеледі және бүкіл SHA 1 хэш ағашы құрылады. AICH тек қана ресурстарды өзара алмасу арқылы өңделеді. eMule-ге SHA 1 хэшіне қатысты 10 келісетін әріптестер қажет, сондықтан сирек файлдар әдетте AICH-ден пайда таппайды.

Төмен ID

Сыртқы желіден қол жеткізуге болмайтын пайдаланушылар, себебі олар өрт қабырғасымен қорғалған, порттары дұрыс жіберілмеген NAT құрылғысының артында немесе IP-дарегі нөлмен аяқталатын (мысалы, 123.45.67.0) пайдаланушылар серверлерден "Low ID" алады. Олар әлі де жүктеу мен жүктеуді жүзеге асыра алады, бірақ басқа клиенттерге жету үшін серверлердің немесе басқа KAD клиенттерінің көмегіне мұқтаж. Олар жүктеу кезегінің алдында екендіктерін хабарлай алмайтындықтан, егер жүктеу слоты болса, олар әріптестерін сауалнамалауға мәжбүр. Олар басқа Low ID клиенттермен байланыса алмайтындықтан, олар High ID көре алатын клиенттердің 4060% ғана көреді. Олардың IP/порттары басқа әріптестермен алмаспайды, бұл олардың eMule-дің таза P2P-көз алмасуы арқылы көздерді табу мүмкіндігін шектейді. Low ID клиенті lowwidcallback-қа байланысты High ID клиентіне қарағанда серверде көбірек деректерді тұтынады. Сондай-ақ, MorphXT немесе Xtreme сияқты релизерлік модульді пайдаланатын релизер немесе ауыр жүктеуші төменгі идентификатормен (мейманхана бөлмесі, жұмыс) жұмыс істеуге мәжбүр болады, сонымен қатар олардың жүктеу басымдықтарына (әсіресе powershares) бақылау аз болады, өйткені серверлер әр клиент үшін қосылымды қайта жіберуді шектейді, осылайша жүктеу кезегін бірінші болып жіберуді және ашық слотты таба алатын дау жағдайына айналдырады.

eMule басқа P2P қолданбалармен салыстырғанда

eMule - eD2k протоколының және оның кеңейтулерінің ең толық іске асырылуы. eMule AICH-ті қолдайды, яғни оның жемқорлықпен күресуін BitTorrent-пен бәсекеге қабілетті етеді. eMule сонымен қатар бастапқы ресурстарды алмастыруды қолдайды, бұл серверлер мен Kad-тің жүктемесін айтарлықтай азайтуға мүмкіндік береді. Сервер және / немесе Kad-тің алдын ала алған жоғары ID-і және жақсы жүктемелері бар eMule бұл файлдардағы әріптестік көздерді eD2k және Kad-тан ажыратылғаннан кейін ұзақ уақыт бойы дербес ұстай алады.

eMule модульдері

Популярлы ашық бастапқы кодты бағдарлама ретінде eMule-дің көптеген нұсқалары бар, олар әдетте модтар деп аталады. Кейбір модтар ресми eMule нұсқаларынан бұрамалар ретінде басталды, содан кейін жаңа ресми нұсқаларды өзгертудің орнына өз бетінше дамуын жалғастырды. Модтың осы түрінің мысалы ескі eMule Plus. eMule Plus Kad-ты қамтитын алғашқы ресми нұсқасы v0.30 шығарылғанға дейін бұрқалып кеткендіктен, eMule Plus бұл мүмкіндікті қолдамайды, себебі жобаның дамуы шамамен 4 жыл бойы тоқтатылған. Басқа да қазіргі заманғы модтар ресми eMule релиздерін жалғастырады және ресми нұсқаның әрбір жаңа релизіне негізделген өз релиздерін жасайды. Таратылған модтар GNU General Public License бойынша бастапқы кодын ашық түрде бөлісуге міндетті болғандықтан, мод әзірлеушілері жасаған пайдалы мүмкіндіктер ресми нұсқаға тез енгізілуі мүмкін.

Жалған eMule сайттары мен зиянды бағдарламалар

eMule-дің танымалдылығы мен ашық бастапқы кодына байланысты кейбір үшінші тараптар оның өзгертілген нұсқаларын жасады, олар жиі шпиондық бағдарламаларды және басқа да зиянды бағдарламаларды қамтиды. Кейбір жалған сайттар несие картасының мәліметтерін сұрайды немесе пайдаланушыдан төлем төлейтін мүшелікке жазылуды талап етеді. Ресми eMule тегін және мұндай ақпаратты сұрамайды. Бұл нұсқалар әдетте заңды сайттарда орналастырылған жарнамалар арқылы кездеседі.

eMule клиенттің қытайлық модификациялары

VeryCD-дің easyMule - қытайлық пайдаланушылар арасында танымал eMule клиенті. Ол қарапайым интерфейске ие және стандартты eMule клиентіне қол жетімді кейбір жетілдірілген параметрлер жоқ. 1.1 нұсқасынан бастап ол VeryCD деректер қоры арқылы іздеуді ғана қолдайды, бірақ сыртқы eD2k сілтемелері қабылданды. Кейбіреулер VeryCD-ді "Dianlv" (әдетте eDonkey немесе eMule-дің қытайша атауы) және сайт эмульінің қате атауы үшін сынға алды. org. cn, оның атауы "Dianlv (eMule) Chinese Site" (电驴(eMule) 中文网站).

Қоғамдастық нұсқасы

2017 жылдың 29 шілдесінде eMule-дің ресми форум пайдаланушылары қолданатын "Қоғамдық нұсқасы" шығарылды. Бұл нұсқаны GitHub қоймасынан жүктеуге болады және соңғы ресми нұсқаға немесе бета-версияға негізделген, бірақ қауымдастық жасаған қосымша мүмкіндіктер мен қателерді түзетулер бар, бұл ең соңғы нұсқаға басымдық береді.