Перейти к содержанию

Конфигурация компонента Server

Все компоненты системы настраиваются с помощью JSON-файлов конфигурации, расположенных рядом с файлами запущенных экземпляров.

В данном документе представлены все доступные параметры для компонента Server, которые допускается указывать в файле server/config.json. Для удобства использования параметры сгруппированы по назначению и отсортированы по степени важности.

Порты прослушивания

Порты, на которых будет работать основной сервер:

Параметр Тип Описание
port.http number Порт для HTTP-запросов. Значение по умолчанию — 80.
port.https number Порт для HTTPS-запросов. Значение по умолчанию — 443.
Пример
{
  "port": {
    "http": 80,
    "https": 443
  }
}

База данных

Учетные данные для подключения к базе данных.

Параметр Тип Описание
sql.server string Хост базы данных
sql.port number Порт базы данных
sql.user string Пользователь базы данных
sql.password string Пароль базы данных
sql.log boolean Включить логирование SQL-запросов. Значение по умолчанию — false.
Пример
{
  "sql": {
    "server": "172.16.0.1",
    "port": 5432,
    "user": "pro32connect",
    "password": "Kw7ZzOioC4pdj1kp",
    "log": true
  }
}

Взаимодействие между компонентами

Чтобы все запущенные компоненты системы могли обмениваться сообщениями друг с другом, они должны быть авторизованы между собой. Иными словами, каждый компонент должен явно разрешать другим компонентам отправлять ему сообщения. Такая авторизация реализована с использованием специальных токенов.

Код установки

Во время установки системы код установки автоматически записывает значения параметров из этого раздела в следующие файлы:

  • server/config.json
  • download/config.json
  • image/config.json
  • storage/config.json
  • proxy/config.json

Токен авторизации

Токен основного сервера, который другие компоненты системы используют для аутентификации при подключении к основному серверу.

Параметр Тип Описание
token string Токен авторизации
Пример
{
  "token": "556vLWCNHXqF28eC"
}

Учетные данные компонентов

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

Компоненты системы

Подробнее о доступных компонентах системы можно узнать на странице Стек Self-Hosted сервера.

Компонент Download

Значения параметров в этом разделе можно найти в файле конфигурации download/config.json для компонента Download.

Параметр Тип Описание
download.host string Адрес в формате host:port.
download.token string Токен авторизации
Пример
{
  "download": {
    "host": "example.net:5012",
    "token": "Isw6tEcfg79CN3IJ"
  }
}

Компонент Proxy

Значения параметров в этом разделе можно найти в файле конфигурации proxy/config.json для компонента Proxy.

STUN-серверы

Список используемых STUN-серверов.

Параметр Тип Описание
stun.[].ip string IP-адрес
stun.[].port number Порт
Пример
{
  "stun": [
    {
      "ip": "172.16.0.10",
      "port": 5000
    }
  ]
}

TURN-серверы

Список используемых TURN-серверов.

Параметр Тип Описание
turn.[].ip string IP-адрес
turn.[].port number Порт
turn.[].login string Имя пользователя
turn.[].password string Пароль
turn.[].transport string Сетевой протокол транспортного уровня
Пример
{
  "turn": [
    {
      "ip": "172.16.0.11",
      "port": 5001,
      "login": "jtzPwazErFubXzuw",
      "password": "w6xuiJKnZ0hriktw",
      "transport": "udp"
    }
  ]
}

WebSocket-серверы

Список используемых WebSocket-серверов.

Параметр Тип Описание
websocket.[].host string Хост
websocket.[].port number Порт
Пример
{
  "websocket": [
    {
      "host": "example.net",
      "port": 5002
    }
  ]
}

Компонент Image

Значения параметров в этом разделе можно найти в файле конфигурации image/config.json для Компонента Image.

Параметр Тип Описание
storage_image.[].host string Хост
storage_image.[].port number Порт
storage_image.[].key string Ключ хранилища
storage_image.[].token string Токен авторизации
Пример
{
  "storage_image": [
    {
      "host": "example.net",
      "port": 5003,
      "key": "PwayXNeyzUwrk64V",
      "token": "EasMwzCAKQlQkhGh"
    }
  ]
}

Компонент Storage

Значения параметров в этом разделе можно найти в файле конфигурации storage/config.json для компонента Storage.

Параметр Тип Описание
storage.[].host string Хост
storage.[].port number Порт
storage.[].key string Ключ хранилища
storage.[].token string Токен авторизации
Пример
{
  "storage": [
    {
      "host": "example.net",
      "port": 5004,
      "key": "ENutE9xxDDj8HSw9",
      "token": "zfyvQKtfTonIs7zm"
    }
  ]
}

Инструменты связи

Настройки вспомогательных инструментов, необходимых для полноценной работы сервера.

Почтовый сервер

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

Параметр Тип Описание
mail.server string Адрес сервера
mail.port number Порт
mail.user string Имя пользователя
mail.password string Пароль
mail.protocol string Метод шифрования: ssl, starttls, plain
mail.email string Email-адрес отправителя
Пример
{
  "mail": {
    "server": "mail.example.net",
    "port": 587,
    "user": "admin@example.net",
    "password": "8G9wLmvCxq6bR2pW",
    "protocol": "ssl",
    "email": "noreply@example.net"
  }
}

Telegram-бот

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

Интеграция с Telegram

Узнайте, какие функции становятся доступными техникам при включении интеграции, в руководстве Удалённый доступ к рабочему столу через Telegram.

Параметр Тип Описание
integrate.telegram.id number ID бота
integrate.telegram.name string Имя бота
integrate.telegram.token string Токен бота
Пример
{
  "integrate": {
    "telegram": {
      "id": 123,
      "name": "TelegramBot",
      "token": "AHp0KjWznFvbTsxH:DgBfX7J0QSlkSa9H"
    }
  }
}

Быстрый старт

Пошаговое руководство по созданию и настройке бота смотрите в документации Настройка Telegram-бота.


Yandex Translate

Используется для автоматического перевода текста на экране во время сеанса удалённого рабочего стола.

Автоматический перевод текста

Подробнее о переводе текста на экране читайте в руководстве Автоматический перевод текста на экране удалённого рабочего стола.

Параметр Тип Описание
translate.yandex string IAM-токен
translate.yandex_folder string folderID
Пример
{
  "translate": {
    "yandex": "qwertyqwertyqwertyqwerty",
    "yandex_folder": "b1gb830e0p4u02aaaaaa"
  }
}

Где получить API-ключ?

Вы можете получить API-ключ в Yandex Cloud .

Бизнес-настройки

Настройки захвата видео

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

Параметр Тип Описание
default.video.codecs string Список кодеков через запятую в порядке приоритета (слева направо). Доступные кодеки: AV1, H264, VP8.
default.video.fps_min number Минимальное значение FPS (кадров в секунду).
default.video.fps_max number Максимальное значение FPS (кадров в секунду).
default.video.frame_drop boolean Пропуск кадров при плохом сетевом соединении.
default.video.auto_gray boolean Автоматическое переключение в черно-белый режим при плохом сетевом соединении.
Пример
"default": {
  "video": {
    "codecs": "AV1,H264,VP8",
    "fps_min": 10,
    "fps_max": 30,
    "frame_drop": true,
    "auto_gray": true
  }
}

Подробное руководство

Подробнее смотрите в руководстве Качество изображения экрана.


Настройки уведомлений

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

Параметр Тип Описание
timer_notify_agent number Время определения состояния устройства в секундах.
Пример
{
  "timer_notify_agent": 10
}

Ограничения функций

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

Параметр Тип Описание
limit.file_manager boolean Режим Файлового менеджера во время подключения.
limit.permanent_access boolean Привязка устройств к Постоянному доступу.
limit.clipboard boolean Синхронизация буфера обмена и передача данных во время подключения.
Пример
"limit": {
  "file_manager": false,
  "permanent_access": false,
  "clipboard":false
}

Настройки безопасности

CAPTCHA

Вы можете включить проверку CAPTCHA для техников на страницах регистрации, входа и восстановления пароля.

Параметр Тип Описание
captcha_info.[].type string Провайдер CAPTCHA. Поддерживаемые значения: google, cloudflare, hcaptcha, yandex
captcha_info.[].key string API-ключ
captcha_info.[].secret string Секретный ключ
Пример
{
  "captcha_info": [
    {
      "type": "yandex",
      "key": "UdHonfCy9UubOE3s",
      "secret": "3DhRLmUW3AvIeiSg"
    }
  ]
}

Где получить API-ключ?

Вы можете создать CAPTCHA и получить API-ключ на сайте Yandex SmartCaptcha .


Незарегистрированный доступ

Вы можете запретить незарегистрированным техникам подключение к устройствам с использованием одноразовых ссылок.

Незарегистрированный техник

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

Параметр Тип Описание
force_login boolean Запретить незарегистрированный доступ через одноразовые ссылки. Значение по умолчанию — false.
Пример
{
  "force_login": true
}

Настройки паролей

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

Параметр Тип Описание
password_timeout number Срок действия пароля в днях. По умолчанию пароль не имеет срока действия.
password_change boolean Требовать смену пароля при первом входе для техников, получивших пароль по электронной почте с приглашением.
password_requirements string Требование к сложности пароля.
password_requirements_title string Указание подсказки к настроенному требованию пароля.

Возможные варианты значений для реализаций требований к сложности пароля:

  • (?=.*[A-Z]) - проверка по наличию заглавных латинских букв в пароле
  • (?=.*[a-z]) - проверка по наличию строчных латинских букв в пароле
  • (?=.*[0-9]) - проверка по наличию цифр в пароле
  • (?=.*[^a-zA-Z0-9\\s]) - проверка по наличию спецсимволов в пароле. Условие: любой символ, не являющийся буквой, цифрой или пробелом
  • (?=.*[!@#$%^&*()\\-_=+\\[\\]{};:,.<>?/|\\\\]) - настраеваемый список разрешенных спецсимволов для проверки по наличию в пароле
  • {6,10} - задать минимальную и максимальную длину пароля, от 6 до 10 символов
Пример
{
  "password_timeout": 30,
  "password_change": true,
  "password_requirements": "^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[^a-zA-Z0-9\\s]).{6,10}$",
  "password_requirements_title": "Пароль должен содержать большие и маленькие буквы, цифры, спецсимволы. Длина пароля не менее 6 и не более 10 символов."
}

Старые браузеры

Вы можете запретить техникам использование системы в устаревших версиях браузеров.

Параметр Тип Описание
accept_old_browser boolean Разрешить использование устаревших браузеров. Значение по умолчанию — false.
Пример
{
  "accept_old_browser": true
}

Следующие версии браузеров считаются устаревшими:

Производитель Версии ниже
Mozilla Firefox 50
Opera 15
Google Chrome 64
Internet Explorer 11
Microsoft Edge 40.15063
Safari 11

HSTS (HTTP Strict Transport Security)

Вы можете включить опцию, которая заставляет браузеры всегда использовать HTTPS при подключении к серверу и блокирует любые HTTP-соединения.

Параметр Тип Описание
hsts boolean Включить заголовок HSTS в ответах сервера. Значение по умолчанию — false.
Пример
{
  "hsts": true
}

Подробнее

Узнайте больше о автоматическом перенаправлении с HTTP на HTTPS в публичной документации: HSTS .


CSP (Content Security Policy)

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

Параметр Тип Описание
csp.enable boolean Включить заголовки CSP. Значение по умолчанию — true.
csp.extra string Дополнительные домены для включения в заголовки CSP (через пробел).
Пример
{
  "csp": {
    "enable": true,
    "extra": "abc.example.net"
  }
}

Подробнее

Узнайте больше о защите контента веб-страниц в документации Content Security Policy .

Сетевые настройки

Обратный прокси

Если вы используете обратный прокси в окружении сервера, необходимо уведомить сервер об этом.

Параметр Тип Описание
balancer.ip.[]."" string Список IP-адресов используемых прокси-серверов
Пример
{
  "balancer": {
    "ip": [
      "123.123.123.123"
    ]
  }
}

Логирование HTTP-запросов

Вы можете включить логирование HTTP-запросов к серверу.

Параметр Тип Описание
log-http boolean Включить логирование HTTP-запросов. Значение по умолчанию — false.
Пример
{
  "log-http": true
}

Порты приложения Дашборд

Вы можете ограничить диапазон UDP-портов, используемых настольным приложением Дашборд при установлении WebRTC-соединений с удалёнными устройствами.

Параметр Тип Описание
app.webrtc.udp_ports_max number Максимальный порт
app.webrtc.udp_ports_min number Минимальный порт
Пример
"app": {
  "webrtc": {
    "udp_ports_max": 40000,
    "udp_ports_min": 60000
  }
}

Системные требования

Подробнее о требованиях к сети читайте в руководстве: Системные требования со стороны техника.