LINUX.ORG.RU

Вышел ADC p2p сервер ADCHPP 2.5

 , , , ,


0

0

После полутора лет разработки состоялся релиз версии 2.5 файлообменного хаба для протокола Advanced Direct Connect (наследника NMDC) ADCHPP 2.5. Данный хаб позволяет организовать p2p сеть с использованием протокола ADC, обеспечивая поддержку основных расширений протокола ADC, такие как BLOM, TIGR, PING и др (расширение протокола BLOM (BLOOM filter) позволяет с десятки раз сократить поисковый TTH трафик от хаба, что для крупных хабов является критичным). Для управления демоном можно использовать отдельное кросплатформенное приложение ADCHpp GUI. Функционал хаба расширяем за счёт скриптов на языке LUA. В BZR уже ведётся работа по подержке скриптов от популярного ПО PtokaX. Ещё один из плюсов хаба является то, что он не поддерживает работу устаревших, содержащих критические уязвимости и «читерских» клиентов на ядре DC++ 0.6xx (Apex 0.4 и читерские моды на его основе; FlyLinks r3xx и GL 0.4x и тд), что положительно сказывается на качестве файлообмена. Для доступа к хабу необходимо использовать Jucy, LinuxDC++ (из BZR), EiskaltDC++ 2.х.х или клиенты на ядре DC++ 0.7x+

Основные изменения:

  • различные исправления в логике работы для соответвия актуальной версии спецификации ADC протокола.
  • исправлены проблемы со стабильностью при более 200 пользователях на хабе.
  • улучшена работа расширения BLOOM.
  • добавлен служебный бот.
  • устранены проблемы сборки в некоторых дистрибутивах Linux
  • устранены проблемы установки и работы в качестве сервиса в Win32 системах.
  • устранены утечки памяти в базовых LUA плагинах.
  • начата работа по подержке скриптов от PtokaХ

Хаб проекта: adcs://devpublic.adcportal.com:16591

Багзилла: https://bugs.launchpad.net/adchpp

BZR: bzr branch lp:adchpp

Сборки для Win32: builds.adcportal.com

P.S. Проекту требуются разработчики с опытом работы в Linux для улучшения функционирования хаба на Unix платформе и сборке пакетов.

Внимание! Спецификация ADC регламентирует что адрес хаба должен вводиться в клиенте в следующем формате: adc://<dns name/ip>:<port> (например: adc://adc3.san.ru:10000 )

>>> Сайт проекта

★★★

Проверено: mono ()

лично по мне софт требует основательной даже не допилки напильником (всё вроде работает), а именно дошлифовки. потому что на мелкие проблемы разработчик просто не обращает внимание, особенно если они Unix специфичные. Например досихпор нет пакетов ни для одного дистрибутива, нет init.d скриптов, хаб не пишет .pid файл и тд и тп.

lv77 ★★★ ()
Ответ на: комментарий от dhampire

>>Linuxdcpp (из SVN)

s/SVN/BZR/

А так же s/Linuxdcpp/LinuxDC++/

Ну и про FreeDC++ и Jucy автор зря забыл упомянуть.

anonymous ()

И самые главные вопросы:

Какие у него с требования к ОЗУ?

Сколько пользователей он может выдержать?

anonymous ()
Ответ на: комментарий от anonymous

1. сейчас на 220 - около 13 мегабайт. ( adc://adc3.san.ru:10000 ) 2. я смог протестировать на около 500 - больше не было людей с новыми клиентами.

lv77 ★★★ ()
Ответ на: комментарий от lv77

можешь попробовать ещё http://www.linux.org.ru/news/opensource/4747852 если будут проблемы со сборкой и запуском. там ресурсов потребляется в разы меньше и гарантированно несколько тысяч выдержит.

lv77 ★★★ ()

А это дело можно как-то использовать для корпоративных целей или только для распространения порнухи и вареза?

anonymous ()
Ответ на: комментарий от anonymous

>только для распространения порнухи и вареза?
Да именно поэтому (A)DC никому ненужен.

px ★★★ ()
Ответ на: комментарий от lv77

>толстоват (с) . в корпоративе есть самба сервер, нфс и тд что гораздо проще и удобнее.

Не, я серьезно... Для распределенной корпоративной сети оно пойдет? Шифрование там всякое, аутентификация и т.д.

anonymous ()
Ответ на: комментарий от anonymous

шифрование S-C есть. для C-C это решается на уровне поддержки клиентов. вопросы шифрования находится в процессе доработки в спецификации. лично я не занимался этим вопросом, но хаб разработчиков работает в шифрованном режиме adcs://....

lv77 ★★★ ()
Ответ на: комментарий от lv77

>шифрование S-C есть. для C-C это решается на уровне поддержки клиентов. вопросы шифрования находится в процессе доработки в спецификации. лично я не занимался этим вопросом, но хаб разработчиков работает в шифрованном режиме adcs://....

Ну чтобы типа распределенного кластера для обмена документами было, чтобы конкретного юзера можно было к определенным документам (файлам) допускать. Что-то типа www.collanos.com можно на этом ПО сделать?

anonymous ()
Ответ на: комментарий от lv77

> Например досихпор нет пакетов ни для одного дистрибутива, нет init.d скриптов, хаб не пишет .pid файл и тд и тп.

init.d-скрипт как раз и работает с .pid-файлом. Напиши сам и перешли автору. Думаю, у тебя получится :)

Solaris10 ()
Ответ на: комментарий от lv77

>шифрование S-C есть. для C-C это решается на уровне поддержки клиентов. вопросы шифрования находится в процессе доработки в спецификации. лично я не занимался этим вопросом, но хаб разработчиков работает в шифрованном режиме adcs://....

К сожалению, ответа на свой вопрос так и не дождался... Если будет что-то похожее на Collanos, то это имеет смысл... А так, то что имеется в функционале - только для порнухи и вареза... IMHO

anonymous ()
Ответ на: комментарий от Solaris10

init.d-скрипт как раз и работает с .pid-файлом. Напиши сам и перешли автору. Думаю, у тебя получится :)


я сделал инит скрипты, но они не работают как надо так как нет поддержки пид файлов. и мои умения лежат в стороне от С++,LUA и тд. мой вклад лежит в тестинге и багрепортинге, но реакция разработчива в две-три месяца не добавляет оптимизма..

lv77 ★★★ ()

//fixme позволяет с десятки раз

jeuta ★★★★ ()
Ответ на: комментарий от lv77

Это же работа дистрибьюторов(и pid наверно тоже), а в P.S. специально сказано, что требуются unix-специалисты.

jeuta ★★★★ ()
Ответ на: комментарий от jeuta

ни один дистрибутив не примет к себе в репозитарии демон который не может управляться (хотябы стоп-старт) через инитд скрипт. плюс «нестандартное» для unix систем расположение библиотек и модулей программы только добавляет проблем.

lv77 ★★★ ()

> «читерских» клиентов на ядре DC++ 0.6xx (Apex 0.4 и читерские моды на его основе; FlyLinks r3xx и GL 0.4x и тд)

Ты сам эту ложь придумал? С какого перепугу они читерские? За слова-то отвечать кто будет?

anonymoos ★★★★★ ()
Ответ на: комментарий от anonymoos

Видимо с того перепугу, что эксплуатируют дыры в ядре dc++-0.6xx. не знаю как FlyLink, но у GreyLink'a точно были такие чит-команды, за что он собственно и был забанен на подавляющем большинстве хабов в нашей локалке.

NegatiV ()
Ответ на: комментарий от anonymoos

«читерских» клиентов на ядре DC++ 0.6xx (Apex 0.4 и читерские моды на его основе; FlyLinks r3xx и GL 0.4x и тд)

ты сам эту ложь придумал? С какого перепугу они читерские? За слова-то отвечать кто будет?


флайлинк можно причислить к этой группе опосредованно по функционалу (хотя флудилок и спамилок в нём хватает), но полностью по тому что построен он на ядре 0.6хх. Дискутировать можно долго, но факт что с adchpp версия r3xx работать не будет - факт.

lv77 ★★★ ()
Ответ на: комментарий от lv77

Не знаю какие там флудилки. Только море опций защиты от флуда и отключения всяких надоедливых административных и бот-сообщений.

Хотя опция «посылать сообщения дропнутым юзерам с маленьким размером шары» - может флудить при включении.

Ну а что на базе старого ядра, то это да. Бесспорно.

anonymoos ★★★★★ ()

Буквально сегодня поднял dbhub в локалке, а тут оказалось, что я как бы некрофил.
Как у него с документацией? А гуй админский под unix тоже есть? В прочем на гуй плевать при наличии нормальной документации. Вообще даже как-то странно, что большинство dc++ серверов под винду, а для тех, что под unix куцая документация или они уже покрылись плесенью. Во всяком случае я так думал до этой новости. Инит скрипты, конечно, необходимы. Что до вспомогательных lua скриптов от PtokaX - похоже профит от этого только для винды.

DreamDragon ()
Ответ на: комментарий от DreamDragon

при сборке из adchpp_2.5.0_source.tar.gz выдает :

hecking for pthread_create() in C library pthread... yes
Checking for SSL_connect() in C library ssl... yes
IOError: [Errno 2] No such file or directory: '/usr/src/packages/BUILD/adchpp_2.5.0_source/.bzr/branch/last-revision':
  File "/usr/src/packages/BUILD/adchpp_2.5.0_source/SConstruct", line 249:
    dev.adchpp = dev.build('adchpp/')
  File "/usr/src/packages/BUILD/adchpp_2.5.0_source/build_util.py", line 108:
    return local_env.SConscript(source_path + 'SConscript', exports={'dev' : self, 'source_path' : full_path })
  File "/usr/lib64/python2.6/site-packages/SCons/Script/SConscript.py", line 553:
    return apply(_SConscript, [self.fs,] + files, subst_kw)
  File "/usr/lib64/python2.6/site-packages/SCons/Script/SConscript.py", line 262:
    exec _file_ in call_stack[-1].globals
  File "/usr/src/packages/BUILD/adchpp_2.5.0_source/adchpp/SConscript", line 62:
    rev = ['ADCHPP_REVISION=' + str(getRevision(env))]
  File "/usr/src/packages/BUILD/adchpp_2.5.0_source/adchpp/SConscript", line 14:
    f = open(env.Dir("#").abspath+"/.bzr/branch/last-revision",'r')
error: Bad exit status from /var/tmp/rpm-tmp.Qg8QKI (%build)

куда копат? каталога .bzr в архиве вообще нет

HighwayStar ★★★★★ ()
Ответ на: комментарий от HighwayStar

сейчас сделаем багрепорт. попробуй поставить базаар и сделай bzr branch lp:adchpp - у меня под fedora\centos собиралось.

lv77 ★★★ ()
Ответ на: комментарий от DreamDragon

> Буквально сегодня поднял dbhub в локалке, а тут оказалось, что я как бы некрофил.

dbhub уже как два года RIP и я его у себя заменил на adchpp, а verlihub на uhub.

lv77 ★★★ ()
Ответ на: комментарий от HighwayStar

[Branch ~dcplusplus-team/adchpp/trunk] Rev 348: fix compiling out of the bzr branch

ошибку компиляции исправили в последнем коммите. спасибо за информацию.

lv77 ★★★ ()
Ответ на: комментарий от lv77

спасибо, тот коммит помог

может тогда еще подскажешь корректное решение

https://answers.launchpad.net/adchpp/ question/108794 , а имено проблемы

Compiling build/debug-default/adchpp/adchpp.gch (shared precompiled header)
In file included from boost/boost/tr1/tr1/string:16,
                 from adchpp/adchpp.h:115:
boost/boost/tr1/detail/config_all.hpp:151:41: error: ../4.4.0/utility: No such file or directory

ln -s /usr/include/c++/4.4 /usr/include/c++/4.4.0

делать не предлагать, так как я пытаюсь собрать пакет и в этом случае вносить правки в систему невозможно, нужно починить систему сборки adchpp

HighwayStar ★★★★★ ()
Ответ на: комментарий от HighwayStar

моё предположение - потому что POY (основной разработчик) живёт под виндой. ты можешь лично задать ему этот вопрос на хабе, он иногда бывает после 21:00 по москве. все виндовые проекты клиентов для дц тоже тянут свой собственный boost в дереве проекта.

lv77 ★★★ ()
Ответ на: комментарий от HighwayStar

> https://answers.launchpad.net/adchpp/+question/108794

тут я понимаю надо делать полноценный багрепорт с описанием версий gcc swig scons и тд.если не хочется регистрироваться на лаунчпаде - пость описание сюда - я перенесу его в багзиллу.

lv77 ★★★ ()
Ответ на: комментарий от lv77

у меня все точь в точь как там описано, та же openSUSE 11.2

попробовал удалить этот буст, что идет в архиве, что-то началоа компилиться, но

Compiling build/debug-default/adchpp/adchpp.gch (shared precompiled header)
Compiling build/debug-default/adchpp/AdcCommand.os (shared)
In file included from adchpp/Buffer.h:22,
                 from adchpp/AdcCommand.h:25,
                 from adchpp/AdcCommand.cpp:21:
adchpp/intrusive_ptr.h:25: error: specialization of ‘template<class _Tp> struct std::hash’ in different namespace
/usr/include/c++/4.4/tr1_impl/functional_hash.h:38: error:   from definition of ‘template<class _Tp> struct std::hash’
adchpp/intrusive_ptr.h:26: error: definition of ‘size_t std::hash<boost::intrusive_ptr<T> >::operator()(const boost::intrusive_ptr<T>&) const’ is not in namespace enclosing ‘std::hash<boost::intrusive_ptr<T> >’
scons: *** [build/debug-default/adchpp/AdcCommand.os] Error 1
scons: building terminated because of errors.

гугл что-то не дает ни одной ссылки на подтверждение того, что кто-то сумел скомпилировать это под линуксом

причем до данной ошибки получилось добраться лишь после добавления в флаги компилятора '-std=c++0x', иначе сразу же выскакивала ошибка

Compiling build/debug-default/adchpp/adchpp.gch (shared precompiled header)
In file included from /usr/include/c++/4.4/unordered_map:35,
                 from adchpp/adchpp.h:123:
/usr/include/c++/4.4/c++0x_warning.h:31:2: error: #error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.
scons: *** [build/debug-default/adchpp/adchpp.gch] Error 1
scons: building terminated because of errors.

по-моему вообще не стоит мучаться с этим хабом, тот же Ptokax хотя бы собирается без каких-либо проблем, там правда потом куча проблем с кодировкой и путями в скриптах на lua, которые в большинстве своем являются быдлокодом под винду. думаю тут если даже удасться скомпилить, то со скриптами все будет еще хуже

HighwayStar ★★★★★ ()
Ответ на: комментарий от HighwayStar

я собирал\собираю и использую его под Fedora 12(там есть соответствующие версии gcc scons swig lua) и под CentOS после обновления swig и scons.

lv77 ★★★ ()
Ответ на: комментарий от lv77

птоха не поддерживает ADC и наверное никогда не будет. я знаю только FlexHub который может работать и в nmdc и ADC моде одновременно.

lv77 ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.