Конфигурация

Все настройки сервера хранятся в одном файле config.toml. На этой странице описано каждое поле.

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

Поле Описание Пример
domain Доменное имя вашего сервера "chat.example.com"
listen_addr Адрес прослушивания ":443" или ":8080"
data_dir Путь к каталогу данных (БД + файлы) "./data"
transport Режим транспорта "https", "cloudflare" или "vless"

Безопасность

Поле Описание
secret 64-символьная hex-строка. Мастер-секрет для генерации ключей JWT и шифрования через HKDF. Генерируется мастером настройки. Никогда не раскрывайте.
previous_secrets Массив старых секретов. При ротации мастер-секрета старый перемещается сюда. Старые сообщения продолжают расшифровываться.
salt 64-символьная hex-строка. Используется в HKDF вместе с секретом.
bootstrap_token UUID для первой ссылки-приглашения. Используется один раз при начальной настройке.

TURN-сервер

Поле Описание По умолчанию
public_ip Публичный IP-адрес сервера для TURN Автоопределение
turn_port UDP-порт для TURN-сервера 3478

Секция [acme] (режим HTTPS)

Поле Описание
email Email для уведомлений Let's Encrypt
cert_dir Каталог для хранения TLS-сертификатов
http_addr Адрес для HTTP-01 challenge (по умолчанию ":80")

Секция [cloudflare] (режим Cloudflare)

Поле Описание
trust_proxy Доверять заголовку CF-Connecting-IP
origin_cert Путь к origin-сертификату Cloudflare (необязательно)
origin_key Путь к origin-ключу Cloudflare

Секция [stealth] (режим VLESS)

Поле Описание
keys.uuid UUID клиента VLESS
keys.private_key Приватный ключ X25519 для REALITY
keys.public_key Публичный ключ X25519 (передаётся клиентам)
keys.short_id Короткий ID для аутентификации клиентов
sni Server Name Indication (по умолчанию "www.microsoft.com")
fallback_addr Куда перенаправляется не-VLESS трафик (сайт-прикрытие)

Пример config.toml

domain = "chat.example.com"
listen_addr = ":443"
data_dir = "./data"
transport = "https"

secret = "a1b2c3d4...64-символьный-hex..."
salt = "e5f6a7b8...64-символьный-hex..."
bootstrap_token = "uuid-здесь"

public_ip = "203.0.113.10"
turn_port = 3478

[acme]
email = "[email protected]"
cert_dir = "./certs"
http_addr = ":80"
Файл config.toml содержит мастер-секрет и ключи шифрования. Храните его в безопасности. Сервер требует права доступа 0600 и предупреждает, если файл более доступен.