µHub (micro-Hub) — ADC хаб написанный на C под лицензией GPLv3. Работает в операционных системах Linux, Windows, BSD и других. Имеет только базовую функциональность для p2p. Крайне нетребователен к ресурсам — при 350 пользователях занимает в памяти несколько десятков килобайт ОЗУ. Возможна работа на устройствах поддерживающих ПО OpenWRT.
Advanced Direct Connect (ADC) — протокол для файлообменных сетей, основанный на протоколе Direct Connect (DC). ADC-клиенты подключаются к центральному серверу и обмениваются файлами напрямую между участниками сети.
Начиная с версии 3.2 поддерживает шифрование server-client, так называемую ADCS-mode. Начиная с версии 4.0 будет введена система плагинов с простым API. Тестовый хаб автора: adcs://adc.extatic.org:1511
Что нового в версии 0.5.0:
Use TLS 1.2 and strong ciphers by default, but made this configurable.
Fix TLS event handling which caused some busy loops
TLS: Support certificate chains
Fix bug #211: Better Hublist pinger support by adding the AP flag of the INF message.
Fix bug #198: Timers could cause infinite loops
Sqlite3 is now mandatory
Added mod_chat_history_sqlite and mod_chat_is_privileged.
Support for systemd notify and journal logging
Improved flood control counting to strictly not allow more than the given amount of messages in the configured interval.
Optimize lookups by CID and nick.
Added an NMDC and ADC hub redirectors written in Python.
Fix all Clang compile warnings.
Install uhub-passwd also.
Add support for detecting HTTP connections to the hub. Enough to tell browsers to stop calling.
Compile fixes for OpenBSD, including warnings about strcat.
Fix crashing autotest due to wrong initialization of the usermanager.
mod_topic: check argument for NULL
rename !cleartopic to !resettopic
Первый запуск хаба
Если вот такая ошибка:
root@LEDE:~# uhub
2019-01-30 12:38:17 ERROR: Unable to open file /etc/uhub/users.conf: No such file or directory
2019-01-30 12:38:17 INFO: Starting uhub/0.5.0, listening on :::1511...
2019-01-30 12:38:17 ERROR: Unable to open plugin /usr/lib/uhub/mod_auth_sqlite.so: Error loading shared library /usr/lib/uhub/mod_auth_sqlite.so: No such file or directory
Segmentation fault
Я пока не разбирался как создать этот плагин посредством хаба, просто тупо выключил его в файле /etc/uhub/plugins.conf
2019-02-03 03:34:57 INFO: Starting uhub/0.5.0, listening on :::411...
2019-02-03 03:34:57 INFO: Loaded plugin: /usr/lib/uhub/mod_topic.so: Topic plugin, version 1.0.
2019-02-03 03:34:57 INFO: Loaded plugin: /usr/lib/uhub/mod_logging.so: Logging plugin, version 1.0.
2019-02-03 03:34:57 INFO: Loaded plugin: /usr/lib/uhub/mod_welcome.so: Welcome plugin, version 0.1.
2019-02-03 03:34:57 INFO: Loaded plugin: /usr/lib/uhub/mod_chat_history.so: Chat history plugin, version 1.0.
2019-02-03 03:35:01 LoginOK AAAB/ZC2PJJGGN2N4SUFE7IDF4UMLC4VBJGU4ZQHHVEI 192.168.1.216 "DCBEELINEKZ" (guest) "++ 0.699"
Плагины находятся тут /usr/lib/uhub/
Вот документация для следующих официальных плагинов:
mod_auth_simple - Аутентифицировать пользователей по простому текстовому файлу.
mod_auth_sqlite - Аутентификация пользователей по базе данных SQLite. - Не ставиться и не нужен этот плагин, когда есть текстовый mod_chat_history - Предоставляет историю чата при входе в систему и запросе
mod_chat_history_sqlite - Обеспечивает постоянную историю чата при входе в систему и запросе - Не ставиться mod_example - Пример кода плагина mod_logging - Пишет логи. mod_topic - Предоставляет команду !topic для изменения темы-хаба. mod_welcome - Предоставляет простое сообщение дня и правила.
Протестил на супер свежой OpenWRThttps://downloads.openwrt.org/releases 18.06.2
Хаб просто сказка для роутера, ОЗУ нюхает, а не ест . 300 пользователей вытащит легко + если выключить поиск ,то и того больше ))