Advanced Direct Connect
Материал из MyDC's Wiki
Advanced Direct Connect (ADC) — протокол для файлообменных сетей, основанный на протоколе Direct Connect (DC). ADC-клиенты подключаются к центральному серверу и обмениваются файлами напрямую между участниками сети.
Содержание |
История создания
Протокол ADC был создан как логическое развитие протокола Direct Connect c целью устранения его недостатков. Инициатором создания нового протокола стали Jacek Sieka в сотрудничестве с Jan Vidar Krey’s DCTNG был подготовлены черновики стандарта. Первая версия протокола появилась в 2004 году, а первый официальный релиз состоялся 1 декабря 2007 года. 2 декабря 2007 года вышла окончательная версия протокола ADC 1.0[1].
Серверное ПО
ADCH++
ADCH++ — это хаб для сетей использующих ADC-протокол. Он работает на Windows / Unix платформах, поддерживает скрипты lua и python, а также плагины написанные на С++. Начиная с версии 2.5.2 добавлена поддержка выполнения плагинов от PtokaX
Для хаба активно разрабатывается графический интерфейс в проекте ADCH++ GUI.
DSHub
DSHub написан на кроссплатформенном языке программирования Java (требуется JRE 1.6 и новее). Может управляться через консоль на сервере, графический интерфейс, чат ADC клиента. Имеется возможность осуществлять фильтрацию чата\личных сообщений\поиска через механизм chatcontrol с использованием regex правил. Хаб находится в активной разработке. На данный момент ПО хаба достаточно стабильно и подходит для организации хабов до 1000 пользователей (на лето 2008 г.). Имеется интерфейс для расширений на языках Java и python. В январе 2009 года автор приостановил работу над данным хабом.
luadch
luadch — ADC-хаб, написанный на C, C++, Lua и функционирует в операционных системах MinGW/MSYS/NT/2000/XP и Linux/BSD/UNIX-like. Для сценариев используется язык Lua, что позволяет легко вносить дополнительный функционал. Имеются небольшие проблемы со стабильностью (в версии 0.08). Подходит для организации хабов до 1000 пользователей и выше.
µHub
µHub(micro-Hub) — ADC хаб написанный на C под лицензией GPLv3. Работает в операционных системах Linux, Solaris, BSD и других. В Windows работают до версии 3.х (работы по портированию ветки 0.4 ведутся). Имеет только базовый функционал для p2p. Крайне нетребователен к ресурсам — при 350 пользователях занимает в памяти несколько десятков килобайт ОЗУ. Возможна работа на устройствах поддерживающих ПО OpenWRT. Начиная с версии 3.2 поддерживает шифрование server-client, так называемую ADCS-mode. Начиная с версии 4.0 будет введена система плагинов с простым API. Тестовый хаб автора: adcs://adc.extatic.org:1511
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 123 uhub 15 0 5984 4636 1044 S 0.0 0.9 4:08.93 uhub
Инструкция по настройке и запуску | Быстрый запуск в Ubuntu
EADC
EADC-hub(Erlang ADC) — ADC хаб написанный на Erlang. Реализация ADC не является полной, есть команды чата и поддержка плагинов (на языке Erlang). Компиляция возможна на всех платформах поддерживаемых Erlang, включая Windows, Linux, Mac OS X. (Однако код хэш-функции TIGER написан на C, что требует установки компилятора C). Возможности языка Erlang позволяют хабу иметь свойства подобные Ejabberd, в частности кластеризацию и обновление кода не останавливая сервер.
StarLet ADC
StarLet ADC Hub — ПО ADC хаб-а под OpenVMS соответствие со спецификацией ADC 1.0, написан на C с использованием средств OpenVMS, что обуславливает высокую нагрузочную способность хаба, а также надёжность функционирования, в настоящий момент находится в разработке. Тестовая P2P-сеть, поддерживаемая StarLet ADC Хаб-ом — доступна по ссылке [adc://adc.deltatel.ru:412] (Nick/Username и пароль может быть любым и непустым). StarLet ADC — доступен в исходных текстах.
Одной из отличительных возможностей Хаб-а является «виртуальная P2P-сеть», что позволяет строить P2P-сети на одной платформе (OpenVMS Cluster) для различных групп пользователей.
Рабочий каталог проекта StarLet ADC
Клиентское ПО
См. также
Примечания
Ссылки
- The ADC Project
- ADC Protocol
- ADC Extensions
- ADCPortal — Discussion Forum for ADC Developers / Enthusiasts (English Speaking Community)