Тот самый DC++ хаб который стоит уже как год на моем роутере:
Ссылка О моем хабе (DCBEELINEKZ) Хаб в круглосуточном экономичном режиме
Tp-Link mr3220v2 и второй на D-Link dir 320v1
!!! Роутер должен иметь USB порт или место не менее 1 МБ для сервера
Open DC hub это Unix/Linux версия серверного софта для сети Direct Connect. Direct Connect — это файлообменная сеть, созданная из хабов, к которым могут подключаться клиенты сети обмена. После подключения к хабу, пользователь может искать файлы на хабе или в сети, или просматривать файлы других пользователей, подключенных к хабу.
Open DC Hub поддерживает все основные возможности протокола Direct Connect.
Некоторые примеры:
Поиск файлов
Подключение к пользователям, как в активном, так и в пассивном режиме
Обмен сообщениями в открытом чате
Личные сообщения
Регистрация пользователей
Удаление пользователей (для OP:s)
Бан пользователям (для администраторов)
Загрузка адреса хаба и описание в списке публичных хаблистов
Поиск на других хабах, подключенных к сети
Администрирование хаба из чата
- Скрипты (в Perl) - Тут они отключены!
Как правило места на роутере не хватит на установку этих пакетов, используйте флешку отфармотированный под Linux систему ext3,ext4. В него мы и поставим сам DC++ сервер и другие нужные компоненты.
Как монтировать флешку смотрите тут: Ссылка и Установка на внешний overlay (рекомендованный вариант)
Как форматировать флешку под Linux: Ссылка и Linux — Форматирование USB-флешки
BB 14.07 Пакеты OpenDChub сервера DC++ Скачать
Прошивка: Сhaos Сalmer (15.05.1) https://downloads.openwrt.org/chaos_calmer/15.05.1
OpenDCHub хаб под CC 15 https://cloud.mail.ru/public/9mqc/wRpm37dfx (собрана на форуме http://cyber-place.ru ) sakatgg
УСТАНОВКА
Установка пакетов хаба
С настроенным нэтом.
Пишем как у меня opendchub жмем ОК
Установка пакетов хаба вариант - 2
Без интернета.
Скидываем пакеты в папку root через SHH программа WinSCP
В терминале вводим команду установки пакетов:
opkg install libopenssl.ipk zlib.ipk libpthread.ipk opendchub.ipk
Установка пакетов хаба вариант - 3
Ссылка Подключение локального репозитория OpenWRT .Установка пакетов без нэта
ПЕРВЫЙ ЗАПУСК
3) Запускаем: root@OpenWrt:~# opendchub
Место положения хаба ./usr/bin/opendchub
Enter port number to listen for connections.
Ports below 1024 is only for root:
Задаем пароли и порт - 411 (411 - стандартный порт для большинства клиентов)
Все - Работает
Примечание: если вы ставили opendchub под пользователем root, то конфиги
поместятся в директорию /root/.opendchub - вы конечно добавите строчку в
файл автозагрузки /etc/rc.d/rc.local и после перезагрузки наткнетесь на
то, что opendchub попросит заново задать пароли и порт, задайте их, и
теперь создастся новая директория /.opendchub - где будут продублированы
конфиги из директории /root/.opendchub
Происходит это из-за того, что изначально во время загрузки opendchub не
имеет доступа к директории /root
После того как установили пакет, открываем консоль ( терминал) и пишем opendchub
Появляется:
Enter port number to listen the connections. Ports bellow 1024 is only for root. - Выбираем на каком порту будет "висеть" хаб. Выбирать в диапазоне 1024 - 65535
Я предлагаю 411
Please, suply an admin pass for hub - пишем пароль будущего "супер админа" ( будем его использовать для входа через telnet). Например пароль - rafa
Please, suply a password for hub linking: - я не знаю что это, пишем произвольный пароль.
Hub is up and running. Listening for user connections on port 411 and listening for admin connections on port 53696 -
Говорит что Хаб настроен и работает. Слушается порт 411 для пользовательских соединений, и порт 53696 для админа.
Это полу настроенный хаб.
Теперь, пишем в консоле ( можно в этом же окне в котором настраивали хаб, или в новом окне коносоли)
telnet 127.0.0.1 53696
Please supply administrators password -
Нас просят ввести пароль. Обратите внимание, что перед командой надо ставить $ и после команды |
Вводим пароль:
$adminpass rafa|
Если написало Password accepted - значит вы вошли с полномочиями"супер" админ.
Чтобы получить список доступных команд:
$commands|
Вкратце ознакомились с командами, и пишем
$quitprogram|
- чтобы выключить хаб ( необходимо для дальнейшей настройки). При этом кроме того что выключится хаб + ещё закроется телнет связь.
Текст приветствия на хабе ( при входе которое) в Файле .opendchub/motd
В файле .opendchub/config в строчке hub_name можно поменять имя хаба.
admin_port = 53696 это порт для telnet , его можно поменять ( в целях безопасности ), например 333
max_users - максимум пользователей hub_description - описание хаба
kick_bantime - сколько минут банить при команде $kick Vasya|
Далее, открываем консоль, и пишем opendchub чтобы запустить хаб. Опять входим в telnet
. Когда вошли в админку хаба через telnet пишем,
$addreguser DCBEELINEKZ PASS1234l 2|
двойка в конце означает статус админа.
единица - оператор ( модератор)
ноль - обычный зарегистрированый пользователь
1 - оп
2- ад
0 - рег
Если хаб ответил: Added user to reglist- значит пользователь с логином Admin - создался.
Теперь можете запускать КлиентДС++. И конектится к своему хабу с данными:
Ник dcbeelinekz Пароль dcbeelinekz
НАСТРОЙКА
Папка с настройками хаба лежит тут .opendchub в корне / (Из за автозапуска в rc.local, настройки теперь тут!!!)
Файлы хаба в самой папке. Размер чуть больше 100 кб
Это мои настройки файла config
hub_name = "#DCBEELINEKZ 24\7 ONLINE" max_users = 55 hub_full_mess = "" hub_description = "" min_share = 0 min_upload_slots = 0 admin_pass = "rafa" default_pass = "" link_pass = "rafa" users_per_fork = 1000 listening_port = 411 admin_port = 55 admin_localhost = 0 hublist_upload = 0 public_hub_host = "" hub_hostname = "192.168.1.1" (ip роутера) min_version = "" redirect_host = "" registered_only = 0 check_key = 0 reverse_dns = 0 ban_overrides_allow = 0 verbosity = 4 redir_on_min_share = 0 syslog_enable = 1 searchcheck_exclude_internal = 0 searchcheck_exclude_all = 0 kick_bantime = 5 searchspam_time = 5 max_email_len = 50 max_desc_len = 100 crypt_enable = 1
Файл motd тут приветствие вашего хаба.
Rafa Центравой ________________________________________________________ _$$__$$___$$$$___$$__$$___$$$$______$$$__$$__$$___$$$$__ _$$_$$___$$__$$__$$__$$__$$__$$____$_$$__$$_$$___$$__$$_ _$$$$____$$$$$$___$$$$$__$$$$$$___$__$$__$$$$____$$$$$$_ _$$_$$___$$__$$______$$__$$__$$__$$__$$__$$_$$___$$__$$_ _$$__$$__$$__$$______$$__$$__$$__$$__$$__$$__$$__$$__$$_ ________________________________________________________ ______________88888___________________88888_____________ ______________88888___________________88888_____________ __________888888888___________________888888888_________ ________88888888888___________________88888888888_______ _____00088888888888000000000000000000088888888888000____ _____00088888888888000000000000000000088888888888000____ ________88888888888___________________88888888888_______ __________888888888___________________888888888_________ ______________88888___________________88888_____________ ______________88888___________________88888_____________ ________________________________________________________ _$$__$$___$$$$___________$$__$$___$$$$___$$$$$___$$$$$$_ _$$__$$__$$__$$___________$$$$___$$__$$__$$______$$_____ _$$$$$$__$$$$$$____________$$____$$$$$$__$$$$$___$$$$___ _$$__$$__$$__$$___________$$$$___$$__$$__$$__$$__$$_____ _$$__$$__$$__$$__________$$__$$__$$__$$__$$$$$___$$$$$$_ ________________________________________________________
Теперь автозагрузка хаба
В вэб морде переходим System/ Startup (Система/ Загрузка) в самом низу:
Локальная загрузка
Это содержимое /etc/rc.local. Вы можете добавить свои команды (перед 'exit 0'), чтобы выполнить их в конце загрузки.
# Put your custom commands here that should be executed once # the system init finished. By default this file does nothing. /usr/bin/opendchub exit 0
Рабочие данные по запущенным процессам, работа DC сервера
Как видно наш сервер не такой прожорливый, можно сказать он вообще ничего не ест из системы роутера (15 юзеров на хабе)
Для лучшей работоспособности сервера, советую сделать: Автоматическая перезагрузка роутера на OpenWrt
Команды OpenDCHub
!commands
Commands:
!set 'variable' 'value'
Устанавливает значение в конфигурационном файле. Конфигурационный файл находится в
директории .opendchub, который находится в корневом каталоге вашего домашнего каталога.
Переменные описываются в конфигурационном файле. Программа должна работать ,
как только первой , чтобы создать файл конфигурации.
MOTD помещается в файл его собственной. Для изменения MOTD, использование «! Набор MOTD».
Sets a value in the config file. The config file is located in the
.opendchub directory, which is located in the root of your home directory.
The variables are explained in the config file. The program must be run
once first to create the config file.
The motd is placed in a file of it's own. To change the motd, use "!set motd".
!ban 'ip or hostname' 'time'
Добавляет запись в банлисте. Запись может быть подсеть или весь IP -
адрес или имя хоста. Хосты могут содержать «*» в качестве шаблона. Время является
длительность запрета и может быть 0 для постоянного или значения , за которым следует
период (например , 10 м). Принятые периоды с (секунды), м (мин, ч (часы) и
d (дни).
Adds an entry to the banlist. The entry can be a subnet or a whole ip
address or a hostname. Hostnames may contain '*' as wildcard. The time is the
duration of the ban and can be 0 for permanent or a value followed by a
period (e.g. 10m). Accepted periods are s(seconds), m(minutes, h(hours) and
d(days).
!nickban 'nick' 'time'
Добавляет запись в банлисте ник. Время такое же , как и для команды запрета
Adds an entry to the nick banlist. The time is the same as for the ban command
!allow 'ip or hostname'
Добавляет запись в allowlist. Этот файл работает как противоположность
банлиста, то есть записи в этом файле допускаются к ступице.
Adds an entry to the allowlist. This file works like the opposite of
banlist, i.e, the entries in this file are allowed to the hub.
!getbanlist
Отображает файл Банлист.
Displays the banlist file.
!getnickbanlist
Отображает Банлист файл зарубки.
Displays the nick banlist file.
!getallowlist
Отображает файл allowlist.
Displays the allowlist file.
!unban 'ip or hostname'
Удаляет запись из файла банов. Запись имени хоста / IP в файле должен
быть точным соответствием от предусмотренного в команде.
Removes an entry from the banlist file. The hostname/IP entry in the file must
be an exact match of the one provided in the command.
!unnickban 'nick'
Удаляет запись из файла Banlist ника. Запись зарубка в файле должен
быть точным соответствием от предусмотренного в команде.
Removes an entry from the nick banlist file. The nick entry in the file must
be an exact match of the one provided in the command.
!unallow 'ip or hostname'
Удаляет запись из файла allowlist.
Removes an entry from the allowlist file.
!addreguser 'nickname' 'password' 'op'
добавляет пользователю в RegFile. если «оп» равен 1, то пользователь оп, который позволяет пользователю
использовать специальные команды , оп, например $ Кик. Если «оп» 2, пользователь
также получает привилегированность управлять ступицей через чат. Если «оп является 0,
пользователь обычным зарегистрированным пользователь без специальных привилегий.
Adds a user the the regfile. if 'op' is 1, the user is op, which allows user
to use the dedicated op commands, for example $Kick. If 'op' is 2, the user
also gets priviledges to administer the hub through the chat. If 'op is 0,
the user is an ordinary registered user with no special priviledges.
!getreglist
Отображает reglist.
Displays the reglist.
!removereguser 'nickname'
Удаляет пользователя из reglist.
Removes a user from the reglist.
!addlinkedhub 'hubip' 'port'
Добавляет концентратор к связанному списку хаба. Концентратор связан с концентраторами на этом
списке, которым позволяет пользователям осуществлять поиск файлов и подключения к
пользователям на других концентраторов. «порт» является порт , на котором запускается связанный узел.
Adds a hub to the linked hub list. The hub is linked with the hubs on this
list, wich makes it possible for users to search for file and connect to
users on other hubs. 'port' is the port on which the linked hub is run.
!getlinklist
Отображает связанные концентраторы файл.
Displays the linked hubs file.
!removelinkedhub 'hubip' 'port'
Удаляет ступицу из связанного списка хаба.
Removes a hub from the linked hub list.
!getconfig
Displays the config file.
!getmotd
Displays the motd file.
!quitprogram
Завершает программу. Имеет тот же эффект, посылая термин сигнал к
процессу, который также делает ступицу выключая чисто.
Terminates the program. Has the same effect as sending term signal to the
process, which also makes the hub shutting down cleanly.
!exit
Отключает от хаба
Disconnects from the hub.
!redirectall 'ip or hostname'
Перенаправление всех пользователей к 'Ip или имя хоста.
Redirects all users to 'ip or hostname'.
!gethost 'nick'
Отображает имя хоста пользователя с ником «ник».
Displays the hostname of user with nickname 'nick'.
!getip 'nick'
Показывает IP пользователя с ником «ник».
Displays the ip of user with nickname 'nick'.
!massmessage 'message'
тправляет личное сообщение для всех зарегистрированных пользователей.
Sends a private message to all logged in users.
!reloadscripts
перезагружает скрипты в каталоге сценариев.
Reloads the scripts in the script directory.
!addperm 'nick' 'permission'
Добавляет разрешение (один из BAN_ALLOW, USER_INFO, MASSMESSAGE, USER_ADMIN)
оператору с ником «ник».
Adds the permission (one of BAN_ALLOW, USER_INFO, MASSMESSAGE, USER_ADMIN)
to the operator with nickname 'nick'.
!removeperm 'nick' 'permission'
Удаляет права доступа
Removes the permission (one of BAN_ALLOW, USER_INFO, MASSMESSAGE, USER_ADMIN)
from the operator with nickname 'nick'.
!showperms 'nick'
Показывает права доступа (BAN_ALLOW, USER_INFO, MASSMESSAGE, USER_ADMIN) в
настоящее время предоставленные оператором с ником «ник».
Shows the permissions (BAN_ALLOW, USER_INFO, MASSMESSAGE, USER_ADMIN)
currently granted to the operator with nickname 'nick'.
Исходники OPENDCHUB для LEDE/OPENWRT
https://github.com/dcbeelinekz/OPENDCHUB_0.8.3_LEDE
Скачать OPENDCHUB для LEDE прошивки
https://github.com/dcbeelinekz/OPENDCHU … s_24kc.ipk