Назначение инструмента Hub Chat

Инструмент Hub Chat - это диагностический клиент Direct Connect, доступный только администратору. Он подключается к общедоступным концентраторам NMDC, NMDCS, ADC и ADCS с контролируемой идентификацией, сохраняет сокет концентратора в фоновом сеансовом работнике передает входящие события концентратора в браузер, выводит список онлайн-пользователей, записывает необработанные запросы и ответы протокола и позволяет администратору отправлять сообщения в общедоступный чат, когда концентратор разрешает говорить текущему классу пользователей.

Используйте его, когда вам нужно подтвердить, что хаб на самом деле отправляет при входе в систему, проверить, принимает ли хаб гостевой или зарегистрированный чат, проверить MOTD и уведомления бота хаба, проверить доступ к имени пользователя и паролю, сравнить требования хаба с общедоступным профилем или устранить неполадки, почему хаб появляется в сети, но по-прежнему блокирует реальных пользователей.

Сохранение сеанса и обновления в режиме реального времени

При подключении приложение создает идентификатор сеанса и сохраняет его в URL-адресе страницы. Обновление страницы должно возобновить тот же сеанс чата, а не начинать его заново. Оперативные обновления используют потоковое соединение, где это возможно, с опросом состояния в качестве запасного варианта, поэтому строки чата, изменения в списках пользователей, необработанные кадры и изменения статуса могут отображаться без полного обновления страницы.

При закрытии сеанса работнику предлагается отключиться от хаба и сохранить стенограмму для просмотра. Reconnect использует сохраненную цель, протокол, псевдоним, настройки пароля и расширенные значения профиля для запуска нового сокета, сохраняя при этом тот же сеанс диагностики на стороне браузера.

Поля подключения

  • Хост или адрес: введите общедоступное имя хоста, IP-адрес или полный URL-адрес концентратора, например dchub://example.com:411 или nmdcs://hub.example.com:4111. Если URL-адрес концентратора включает протокол и порт, форма должна использовать эти значения для полей протокола и порта TCP.
  • Протокол: выберите протокол Direct Connect для проверки. Защищенные протоколы, такие как NMDCS и ADCS, перед входом в концентратор выполняют рукопожатие TLS.
  • TCP-порт: Необязательное переопределение. Оставьте это поле пустым, если протокол по умолчанию верен, или введите точный объявленный порт концентратора, если концентратор использует собственный порт.
  • Имя пользователя/никнейм: используйте зарегистрированный псевдоним хаба при проверке доступа к учетной записи или оставьте его пустым, чтобы создать временный идентификатор, например user-123456.
  • Пароль хаба: используется только тогда, когда хаб запрашивает пароль для выбранного псевдонима. Пароли вырезаются из необработанных исходящих расшифровок и не должны появляться в потоковых событиях.

Расширенный профиль клиента

Расширенный профиль управляет значениями идентификаторов, которые клиент DC++ обычно предоставляет концентратору: размер поддельного общего ресурса, слоты для загрузки, количество подключенных концентраторов, количество зарегистрированных концентраторов, количество операторских концентраторов, дополнительные открытые порты, описание, электронная почта, тег клиента и NMDC флаги поддержки.

Эти значения имеют значение, поскольку многие концентраторы ограничивают гостей по минимальному общему ресурсу, количеству слотов, количеству концентраторов, тегу клиента, видимости IP, классу регистрации или поддержке TLS. Клиент чата не должен отправлять BotINFO по умолчанию, потому что это обычный диагностический чат-клиент, а не бот. Включайте BotINFO только при намеренном тестировании поведения бота.

Справочник по полям расширенного профиля

Используйте расширенный профиль, чтобы воспроизвести то, что реальный клиент DC++ сообщит во время входа в систему. Эти значения объявляются концентратору только для текущего диагностического сеанса; они не публикуют файлы, не открывают порты брандмауэра и не изменяют запись общедоступного хаба.

Поле Что он отправляет Как это использовать
Поддельная акцияРазмер общего ресурса, отправленного в хаб, в байтах.Использовать 0 когда вы хотите протестировать ограничения минимальной доли. Используйте реалистичное значение байта, если хотите, чтобы пользователь диагностики выглядел как обычный клиент. Это значение представляет собой только сообщаемую статистику и не раскрывает локальные файлы.
Обычные концентраторыКоличество обычных концентраторов, указанных в теге клиента.Концентраторы NMDC часто читают это как первое значение в H: часть тега клиента. Увеличивайте его только при тестировании ограничений max-hub или multi-hub.
Зарегистрированные хабыКоличество зарегистрированных хабов, указанное в теге клиента.Используйте это, чтобы имитировать клиента, зарегистрированного в других концентраторах. Некоторые хабы используют его, когда решают, выглядит ли профиль пользователя нормально.
Хабы операторовКоличество операторских хабов, указанное в клиентском теге.Используйте это при тестировании того, как концентратор реагирует на метаданные клиента в стиле оператора. Не используйте его для выдачи себя за привилегии; это только метаданные, сообщаемые клиентом.
Открытые слотыОб открытых слотах загрузки сообщается в хаб.Для многих концентраторов требуется хотя бы один открытый слот. Установите это низкое значение, чтобы проверить ограничения слотов, или используйте реалистичное значение при попытке нормально общаться в чате.
TCP-портДополнительный порт прослушивания TCP, указанный в информации о клиенте ADC.Оставьте пустым, если вы не тестируете метаданные подключения в стиле ADC. Заполнение этого поля фактически не открывает этот порт на сервере.
UDP-портДополнительный порт прослушивания UDP, указанный в информации о клиенте ADC.Используйте только при проверке того, как концентратор ADC / ADCS считывает информацию о возможностях UDP. Оставьте пустым для обычной диагностики чата.
TLS ПортНеобязательный порт прослушивания TLS, представленный в информации о клиенте ADC.Используйте при тестировании метаданных профиля безопасного клиента. Это отличается от протокола подключения концентратора; NMDCS/ADCS по-прежнему контролируют, использует ли сам сокет TLS.
Описание клиентаНеобязательное описание, предоставляемое концентратору в качестве описания диагностического клиента.Держите его коротким и узнаваемым, например PWiAM++ V:0.0.1 или четкая тестовая заметка. Не размещайте здесь секреты, личные заметки или учетные данные.
Электронная почта клиентаНеобязательное поле электронной почты, доступное для концентраторов NMDC.NMDC $MyINFO может включать поле электронной почты. Оставьте это поле пустым, если вы не тестируете правило, зависящее от метаданных электронной почты, и избегайте использования частного личного адреса.

NMDC Флаги поддержки

В поле NMDC Флаги поддержки выбираются $Supports возможности, отправленные во время входа в систему NMDC или NMDCS. Эти флаги сообщают хабу, какие дополнительные NMDC функции понимает клиент. Они могут влиять на порядок входа в систему, поведение списка пользователей, списки ботов, видимость IP-адресов, а также на то, обрабатывает ли концентратор соединение как обычного пользователя или бота.

Флаг Значение Рекомендация
NoHello Сигналы поддерживают сокращенную последовательность приветствий, поэтому концентратору не нужно отправлять дублирующую информацию приветствия.Оставьте включенным для современных концентраторов NMDC, если вы не отлаживаете устаревший поток входа в систему NMDC.
NoGetINFO Сигналы о том, что клиент может избежать дополнительных $GetINFO запросы для каждого пользователя.Оставьте включенным, чтобы уменьшить ненужный трафик концентратора.
UserIP2 Позволяет концентратору отправлять кадры сопоставления пользователя с IP-адресами в новом стиле NMDC.Оставьте включенным, если вам нужна таблица «Онлайн-пользователи», чтобы отображать информацию об IP, возвращаемую концентратором.
BotList Позволяет хабу идентифицировать учетные записи ботов отдельно от учетных записей обычных пользователей.Оставьте включенным, чтобы сервисные боты, боты безопасности, боты каналов и боты hublist могли отображаться со значками, специфичными для ботов.
FailOver Сигнализирует о поддержке перемещения концентратора или аварийного переключения, когда концентратор перенаправляет пользователей на другой адрес.Оставьте включенным, чтобы ответы на принудительное перемещение было легче интерпретировать в необработанных ответах.
NickRule Позволяет концентратору отправлять правила псевдонимов, такие как минимальная и максимальная длина или недопустимые символы.Оставьте включенным при проверке созданных или зарегистрированных псевдонимов на соответствие правилам хаба.
HubURL Позволяет хабу запрашивать или объявлять информацию об URL-адресе хаба во время входа в систему.Оставьте включенным, поскольку некоторые концентраторы в стиле Verlihub запрашивают информацию об URL-адресе перед завершением входа в систему.
ExtJSON2 Сигнализирует о поддержке расширенных метаданных JSON, когда концентратор предоставляет более подробные данные NMDC.Оставьте включенным, если вы хотите, чтобы диагностический клиент принимал современные метаданные от совместимых концентраторов.
BotINFO Сигнализирует о информационной поддержке в стиле бота и может привести к тому, что некоторые концентраторы будут рассматривать соединение как автоматический клиент-бот.Оставьте для нормального поведения чат-клиента. Включайте его только при намеренном тестировании работы с ботами, поскольку он может изменить ограничения хаба, классификацию ролей или поведение при входе в систему.

Практические пресеты

  • Обычный тест чата: Используйте реалистичный поддельный общий ресурс, хотя бы один открытый слот, нормальное количество хабов, зарегистрированный псевдоним/пароль, если он доступен, и сохраняйте его. BotINFO неполноценный.
  • Тест ограничения: использовать фальшивую долю 0, малое количество слотов и малое количество хабов, когда вы намеренно хотите, чтобы хаб объяснял ограничения минимальной доли, слота или класса.
  • Зарегистрированный тест администратора Hub: используйте псевдоним и пароль хаба, настроенные для хаба или пингера, реалистичную статистику клиента и обычные флаги поддержки. Это лучший способ проверить, скрывают ли гостевые ограничения номер MOTD, историю чата или списки пользователей.
  • Тест поведения ботов: Давать возможность BotINFO только при тестировании правил, специфичных для ботов. Если чат становится ограниченным или пользователь отображается как бот, отключите BotINFO и подключитесь заново.

Живой чат, необработанные журналы и пользователи

На панели чата отображается состояние подключения, блоки MOTD, уведомления бота-концентратора, блоки истории, сообщения об ограничениях, основной чат и сообщения, принятые от хаба. Одного сообщения, появляющегося локально, недостаточно; публичный чат считается значимым только тогда, когда работник записывает кадр протокола, а концентратор отвечает или передает его.

На панели необработанных ответов отображаются входящие кадры протокола из концентратора, включая строки блокировки, поддержки, имя концентратора, команды принудительного перемещения, запросы пароля, кадры списка пользователей, сообщения бота, текст MOTD и уведомления об ограничениях. На панели необработанных запросов отображаются исходящие кадры протокола с отредактированными секретами, поэтому вы можете точно подтвердить, что именно отправил диагностический клиент.

На панели «Пользователи в сети» проанализированные пользователи хаба отображаются в плотной таблице с возможностью поиска. Операторы сортируют раньше обычных пользователей, затем псевдонимы сортируются естественным образом. Фильтры поиска по нику в браузере. Описание и тег клиента - это отдельные поля, общий ресурс отображается как Б/КБ/МБ/ГБ/ТБ при сортировке по байтам, а в полях IPv4/IPv6 может отображаться флаг страны, если концентратор предоставляет достаточно информации.

Синие, серебряные и золотые ролевые значки

В списке пользователей живого чата используется тот же ролевой язык, что и на страницах профиля концентратора. Серебристый робот отмечает бота или пользователя службы, например бот-канал, бот безопасности, бот hublist, бот-часы или учетную запись автоматического объявления. Золотой ключ обозначает оператора или привилегированную учетную запись. Синий значок пользователя используется на снимках профиля концентратора для записей зарегистрированных или распознанных пользователей, когда концентратор предоставляет эту роль. Сохранение уровня пользователей-ботов позволяет избежать путаницы учетных записей автоматических служб с обычными признанными пользователями.

Распространенные ошибки и ограничения

  • Основной чат отключен: Хаб принял соединение, но временный класс не может писать в публичный чат. Если вы ожидаете доступа к чату, используйте зарегистрированный псевдоним и пароль.
  • Неверная последовательность входа в систему: концентратор отклонил команды, отправленные до завершения проверки псевдонима. Переподключитесь и дождитесь статуса входа в систему, прежде чем отправлять чат.
  • Принудительное движение: Хаб перенаправил клиента на другой хост или порт. Используйте пункт назначения, возвращенный концентратором, если перенаправление является преднамеренным.
  • Запрошен пароль: введите зарегистрированный пароль хаба для этого псевдонима и повторно подключитесь.
  • № MOTD: Некоторые хабы отправляют MOTD только зарегистрированным пользователям, только после проверки пароля или только после принятия ожидаемого профиля клиента.
  • Нет списка пользователей: некоторые хабы скрывают списки пользователей от гостей, медленно отправляют пользовательские данные или требуют определенных флагов поддержки.
  • Несоответствие протокола: Обычный NMDC для порта TLS или NMDCS для порта с открытым текстом может выглядеть как тайм-аут или фильтрованное соединение.
  • Закрыто или отфильтровано: сокет закрылся до завершения входа в систему, обычно из-за фильтрации брандмауэра, банов, плохих требований или ограничений на стороне концентратора.

Эксплуатационная безопасность

По завершении закройте сеансы, чтобы хаб не оставлял пользователя-призрака онлайн. Не тестируйте повторно один и тот же общедоступный хаб; вращайте концентраторы с низкими требованиями из действующего hublist при отладке. Инструмент блокирует частные и зарезервированные сети, ограничивает расшифровки, ограничивает сеансы, редактирует пароли и связывает активность браузера с очисткой рабочих.

Справочник по значкам

Икона Этикетка Что он делает
Хаб-чатОтмечает панель живого чата, на которой отображаются события подключения, MOTD, история, ограничения и принятые сообщения чата.
Онлайн-пользователиОтмечает доступную для поиска и сортировки пользовательскую таблицу, возвращаемую сеансом концентратора.
ОтправлятьОтправлятьОтправляет введенное сообщение общедоступного чата через работника сеанса, когда концентратор принял вход в систему.
Восстановить соединениеВосстановить соединениеЗапускает новый сокет для тех же сохраненных настроек сеанса после закрытия, ошибки или устаревшего состояния.
ПерезапускПерезапустить сеансЗапрашивает контролируемую остановку и запускает новый рабочий процесс/сокет для того же сохраненного сеанса, сохраняя при этом видимый контекст диагностического сеанса.
ЗакрыватьЗакрыть сеансСтавит в очередь управляемое отключение, чтобы концентратор не сохранял диагностический псевдоним в сети.
Поиск пользователейФильтрует таблицу «Пользователи в сети» по псевдониму без повторного подключения или обновления страницы.
Переключить панельСворачивает или разворачивает панель чата или пользователей, сохраняя видимой хотя бы одну главную панель.
Серебряный роботОтмечает учетную запись бота, ленты, безопасности, часов, hublist или другой автоматизированной службы.
Золотой КлючОтмечает оператора хаба, модератора или привилегированную учетную запись.
Синий пользовательИспользуется в снимках профиля концентратора для записей зарегистрированных или распознанных пользователей, когда концентратор предоставляет эту роль.
Raw Hub Response Входящий протоколПоказывает кадры протокола и текст, полученные от концентратора, включая MOTD, ограничения и кадры списка пользователей.
Raw Hub Requests Исходящий протоколПоказывает кадры протокола, отправленные диагностическим клиентом, с отредактированными паролями и секретами.

Родительская Страница