Страница 1 из 1

uHUB для LEDE|OPENWRT (Легкий хаб с шифрованием)

Добавлено: 03 фев 2019, 13:37
AlexGanza
uHUB для LEDE|OPENWRT

Изображение

https://github.com/dcbeelinekz2/uhub-op ... s_24kc.ipk uhub_0.5.0-4_mips_24kc.ipk для TP-LINK Atheros AR9331

https://github.com/dcbeelinekz2/uhub-op ... master/etc Файлы настроек и файл автозапуска

µ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

# plugin /usr/lib/uhub/mod_auth_sqlite.so "file=/etc/uhub/users.db"

Конфигурации хаба выше

Как выглядит файл автозапуска:

etc/init.d/uhub

Код: Выделить всё

#!/bin/sh /etc/rc.common
# uhub launcher

START=50
STOP=10
USE_PROCD=1
UHUB=/usr/bin/uhub 

start_service() {
  procd_open_instance
  procd_set_param command $UHUB -l /var/log/uhub.log -vvv
  procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
  procd_set_param file /etc/uhub/uhub.conf
  procd_set_param stdout 1
  procd_close_instance

}

stop() {
	killall $UHUB
}
!!!После создания файла надо дать права 0755

Изображение

Теперь он появился в Startup в вэб-морде Luci

Изображение


Конектимся к хабу и видим эту быструю красавицу, еще и шифрование можно настроить клиент-хаб )))

Изображение


Логи пишутся сюда /var/log/uhub.log

Код: Выделить всё

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 - Предоставляет простое сообщение дня и правила.

Подробно тут: https://www.uhub.org/doc/plugins

Тема на моем форуме:
http://dcbeelinekz.1bb.ru/viewtopic.php?id=113#p319

Протестил на супер свежой OpenWRT https://downloads.openwrt.org/releases 18.06.2
Хаб просто сказка для роутера, ОЗУ нюхает, а не ест . 300 пользователей вытащит легко + если выключить поиск ,то и того больше ))