Direct Connect
Материал из Википедии — свободной энциклопедии
Direct Connect — это децентрализованная файлообменная (P2P) сеть, в основе работы которой лежит проприетарный протокол, разработанный фирмой NeoModus.
Содержание |
[править] История
NeoModus была основана Джонатаном Хессом (Jonathan Hess) в ноябре 1999 года как компания, зарабатывавшая на adware-программе «Direct Connect». Первым сторонним клиентом стал «DClite», который никогда полностью не поддерживал протокол. Новая версия Direct Connect уже требовала простой ключ шифрования для инициализации подключения, этим он надеялся блокировать сторонние клиенты. Ключ был взломан и автор DClite выпустил новую версию своей программы, совместимой с новым программным обеспечением от NeoModus. Вскоре, код DClite был переписан, и программа была переименована в Open Direct Connect. Кроме всего прочего, её пользовательский интерфейс стал многодокументным (MDI), и появилась возможность использовать плагины для файлообменных протоколов (как в MLDonkey). У Open Direct Connect также не было полной поддержки протокола, но появился под Java. Немногим позже, начали появляться и другие клиенты: DCTC (Direct Connect Text Client), DC++ и др.
[править] Клиенты
Оригинальный клиент назывался NeoModus Direct Connect (сокращённо NMDC). В настоящее время подавляющее большинство пользователей сети пользуется многочисленными клиентами на базе клиента DC++, являющегося продолжателем NMDC версии 1.0.
| Название | Описание | OS | Читы | Поддержка клиентских скриптов | Исходные коды | Версия | Сайт |
|---|---|---|---|---|---|---|---|
| NeoModus Direct Connect | (он же NMDC) Первый клиент DC. Использовал Adware-баннеры. | Windows | нет | Нет | Нет | ||
| DC++ | «отец» всех DC-клиентов | Windows | нет | Да | 0.75 — 6 марта 2009 | ||
| ApexDC++ | (ранее назывался PeerWeb DC++) — модификация StrongDC++, отличается изменённым интерфейсом, набором смайликов. | Windows | нет | Да | 1.2.0 — 11 апреля 2009 | http://www.apexdc.net/ | |
| StrongDC++ | наиболее популярный в России и динамично развивающийся из всех модов. Поддерживает многопотоковое скачивание, смайлики и множество полезных дополнительных настроек. Его (модификацию) используют на большинстве русских хабов. | нет | Да | 2.22 - 12.2.2009 | http://strongdc.sourceforge.net/ | ||
| ApexDC++ speed mod | модификация ApexDC++, позволяющая устанавливать лимит скорости скачивания для любого пользователя, банить пользователей, игнорировать личные сообщения, автоматически выпрашивать слоты, есть функция автобана по размеру расшаренных данных и количеству открытых на отдачу слотов ниже заданного минимума и т. д. В настоящий момент разработка замедлилась, последняя версия (устойчивая к эксплоиту-падению клиента и с отключенной проверкой версии апекса на сайте) — S16.4 от 12.06.2008. Многие наработки клиента были взяты за основу разработчиками GreyLink и FlyLink. | Да | s16.4 - 2008-06-12 | http://sourceforge.net/projects/apexdcspeedmod/ | |||
| AvaLinkDC++ | модификация ApexDC++ speed mod, содержащая также ряд отсутствующих в других клиентах возможностей. По функциональности сравнима с PeLinkDC++. Клиент создан для хаба локальной сети avangard-dsl. | Windows | да | Нет | http://www.avangard-hub.ru/AvaLink.html | ||
| DeltaDC++ | |||||||
| FakeDC | |||||||
| StrgDC++ | |||||||
| GreyLinkDC++ | клиент на базе ApexDC++ speed mod, содержащий как ряд отсутствующих в других клиентах возможностей (например, поддержка частичных списков файлов, анимированные смайлы), так и множество читов (fake share, ограничения скорости, симуляция других клиентов и т. п.). Запрещён к использованию на многих хабах. Из-за введения новой функции, эксплуатирующей баг в большинстве клиентов, приводящий к вылету программы, сайт программы временно закрыт, а разработчики ушли в подполье. Нарушая лицензию GPL, распространяется без исходных текстов. | да | Нет | http://home.tula.net/greylink_dc/ | |||
| PeLinkDC++ | аналог GreyLinkDC++. Также распространяется без исходных кодов. | да | Нет | http://pepelink.narod.ru/ | |||
| LinkDC++ | аналог GreyLinkDC++ для работы в сети oln. Также распространяется без исходных кодов. | да | Нет | ||||
| RayLinkDC++ | аналог GreyLinkDC++. Распространяется без исходных кодов. | да | Нет | ||||
| FlyLinkDC++ | (ранее DomolinkDC++) — основан на ApexDC++ speed mod, специализируется на работе в ADSL и LAN сетях. | Windows | Да | r386 :: 11.6.2009 | http://www.flylinkdc.ru/ | ||
| RevConnect | мод DC++, главным отличием является возможность многопоточного скачивания файлов с пользователей, что позволяет увеличить скорость в несколько раз. Использует свою модификацию сетевого протокола Kademlia. | Windows | Да | 0.674p - 2006-09-17 | http://www.revconnect.com/ | ||
| BCDC++ | один из самых старых модов, поддержка ограничений скорости, поддержка клиентских скриптов на языке lua. | Да, lua | Да | 0.750b | http://utrum.dyndns.org:8000/ | ||
| DCDM++ | клиент на базе BCDC++, одна из основных функций которого — облегчить работу операторам хаба. Умеет выявлять нарушителей, использующих запрещённые типы клиентов. | ||||||
| LinuxDC++ | клиент для OC GNU/Linux. | Linux | Да | 1.0.3 - 2 февраля 2009 | https://launchpad.net/linuxdcpp | ||
| Valknut | (ранее DCGUI, и dcgui-qt) открытый кросс-платформенный клиент на базе библиотеки qt | Linux/FreeBSD/MacOSX/Windows/OS/2 | Да | 0.3.23 (Qt3), 0.4.9 (Qt4) - февраль, 2009 | wxdcgui.sourceforge.net | ||
| MediaDC.Net++ | Альтернативный клиент, НЕ клон DC++, из основных преимуществ — быстрый просмотр музыки/фильмов без скачки. | http://mdc.505.ru/ | |||||
| Плагин DC++ в MLDonkey | клиент для Windows/Linux/Unix/MacOSX/Solaris/MorphOS на базе MLDonkey | Windows/Linux/Unix/MacOSX/Solaris/MorphOS | Да | http://mldonkey.sourceforge.net/MLdonkeyPlugin | |||
| directKonnect | клиент для OC GNU/Linux, основан на Qt3 | Linux | Да | 0.1.1 - 2008-12-21 | http://sourceforge.net/projects/directkonnect/ | ||
| MobileDC | клиент DC для смартфонов на базе SymbianOS 7.0 UIQ | SymbianOS | http://mobiledc.sourceforge.net/ | ||||
| fulDC | один из первых модов оригинального DC++. Разработка прекращена. | Windows | Да | 6.78 - 2006-06-02
6.79 Beta 8 - 2007-04-01 |
http://www.fuldc.net/ | ||
| DC-QT | клиент для ОС Linux и MacOSX с раздельной архитектурой ядро-gui | Linux/MacOSX | Да | 0.2.0-alpha - 2006-05-20 | http://sourceforge.net/projects/dc-qt/ | ||
| NanoDC | DC-клиент с ncurse интерфейсом (Linux) | Linux | Да | alpha - 2007-09-19 | http://sourceforge.net/projects/nanodc/ | ||
| PHP DC++ | написанный на PHP с применением AJAX DC-клиент | Платформонезависимая | Да | http://sourceforge.net/projects/phpdccli/ | |||
| AirDC++ | реинкарнация клиента fulDC++ | Windows | Да | 2.05 - 2009-01-18 | http://sourceforge.net/projects/airdc/ | ||
| QuantumDC | DC-клиент с поддержкой протоколов NMDC, ADC и QSDC | Windows | Да | 0.002 - 2008-04-21 | http://sourceforge.net/projects/quantumdc/ | ||
| SababaDC | клиент, основанный на исходниках DC++, поддержка нескольких источников, интеграция с IE | Windows | Да | s1.02 - 2007-11-03 | http://sourceforge.net/projects/sababadc/ | ||
| CuRZed DC++ | клиент для Windows, Linux с поддержкой скриптов (lua/shell scripting), читов и спам-хаков | Windows/Linux | да | Да, lua | http://sourceforge.net/projects/crzdc/ | ||
| Shakespeer | клиент для MacOSX, с поддержкой основных функций, разработка Google | MacOSX | Да | 0.9.11 | http://code.google.com/p/shakespeer/ | ||
[править] Хабы
Клиенты подключаются к одному или нескольким серверам, т. н. хабам для поиска файлов, которые обычно не связаны между собой (некоторые типы хабов можно частично или полностью связать в сеть, используя специализированные скрипты или программу Hub-Link) и служат для поиска файлов и источников для их скачивания. В качестве хаба чаще всего используются PtokaX, Verlihub, YnHub, Aquila, DB Hub.
[править] Отличия от других P2P-систем
Отличия от некоторых P2P-систем, построенных на других протоколах (eDonkey, Gnutella и её форка Gnutella2):
- Обусловленные структурой сети
- Развитый многопользовательский чат
- Сервер сети (хаб) может быть посвящён определённой теме (например музыке конкретного направления), что позволяет легко находить пользователей с требуемой тематикой файлов
- Присутствие привилегированных пользователей — операторов, обладающих расширенным набором возможностей управления хабом, в частности, следящих за соблюдением пользователями правил чата и файлообмена
- Просто зависящие от клиента
- Возможность скачивать целые директории
- Ограничения на минимальное количество расшаренного материала
- Поддержка скриптов с потенциально безграничными возможностями как на клиентской стороне, так и на стороне хаба (верно не для всяких хабов и клиентов)
- Возможность получить список файлов пользователя в виде древовидной структуры каталогов
[править] Протокол ADC
Несмотря на все достоинства, протокол DirectConnect на практике имеет множество специфических проблем, в том числе мешающих эффективному файлообмену. Большое количество разработанных расширений протокола неспособно разрешить все недостатки Direct Connect. Разработчики клиента DC++ занимаются разработкой принципиально нового протокола, называемого Advanced Direct Connect (ADC), призванного повысить надёжность, эффективность и безопасность файлообменной сети и позволяющего также реализовывать принципиально новые расширения протокола. 2 декабря 2007 года вышла окончательная версия протокола ADC 1.0 [1]
В первую очередь он позволит:
- Разные шары на каждом хабе
- Реальная идентификация каждого пользователя
- Смена ника без переподсоединения
- Поиск напрямую между клиентами
- Большая вместимость Хаба (сейчас около 13000 пользователей на YnHub)
- Защищённая паролем передача(Tiger Hash)
Несмотря на выход в свет ADC 1.0, в этом протоколе остаётся много неясностей в реализации и потенциальных уязвимостей. Как правило они связаны с тем, что изначальный протокол DirectConnect не предполагал возможности отправки сообщения (или вообще какого-либо элемента протокола) ограниченной группе пользователей или одному пользователю, так как все сообщения посылались через сервер (главный чат и приваты). В ADC возможность посылать ограниченные сообщения есть, что приводит к появлению уязвимостей. Например — клиент может публично объявить, что находится в пассивном режиме, но при потребности скачать что-либо с другого пассивного пользователя тайно сообщить ему свой внешний IP-адрес и порт[2]. Также теоретически возможно посылать определённому клиенту приватное сообщение, которое будет проинтерпретировано как сообщение в общем чате и отображено соответствующим образом[3].
[править] Примечания
[править] Ссылки
- Описание протокола DC(англ.)
- Описание протокола ADC v1.0(англ.)
- Список российских DC++ хабов(рус.)
- Российское сообщество DC++(рус.)
- Русский форум DC++ на сайте Процентра(рус.)
- Direct Connect info(рус.)
- Adrium DC++ Forum(рус.)
- Российский форум DC++(рус.)
- DCzone(рус.)
- Документация к хабам на русском, скрипты(рус.)

