Конфигурация
Все настройки сервера хранятся в одном файле 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 и предупреждает, если файл более доступен.