6.6 KiB
Руководство по конфигурации OSTP (config.json)
Файл config.json является основным конфигурационным файлом для сервера, клиента и реле.
Ниже приведено подробное описание структуры для режима работы Server.
Полный пример конфигурации
{
"mode": "server",
"log_level": "info",
"listen": "0.0.0.0:50000",
"access_keys": [
"some_simple_key",
{
"access_key": "detailed_key_with_limit",
"name": "Рабочий Ноутбук",
"limit_bytes": 107374182400
}
],
"api": {
"enabled": true,
"bind": "127.0.0.1:9090",
"token": "7a3f8b2c4d9e0f1a2b3c4d5e6f7a8b9c"
},
"fallback": {
"enabled": false,
"listen": "0.0.0.0:443",
"target": "127.0.0.1:8080"
},
"reality": {
"enabled": false,
"dest": "www.microsoft.com:443",
"private_key": "...",
"pbk": "...",
"sid": "...",
"sni_list": ["www.microsoft.com"]
},
"outbound": {
"enabled": false,
"protocol": "socks5",
"address": "127.0.0.1",
"port": 9050,
"default_action": "proxy",
"rules": [
{
"domain_suffix": [".onion"],
"action": "proxy"
}
]
},
"debug": false
}
Описание разделов конфигурации
1. Основные параметры
mode(строка): Режим работы. Возможные варианты:"server","client","relay".log_level(строка): Уровень логирования. Варианты:"debug","info","warn","error".listen(строка или массив строк): Порт и интерфейсы, на которых сервер слушает входящие UDP (и опционально TCP/UoT) соединения. Примеры:"0.0.0.0:50000"(все IPv4 интерфейсы)["0.0.0.0:50000", "[::]:50000"](поддержка IPv4 и IPv6 одновременно)
debug(логический): Включает подробное отладочное логирование протокола.
2. Ключи доступа (access_keys)
Раздел содержит массив ключей доступа. Поддерживается два формата записи (для обратной совместимости):
- Простая строка: Текст ключа доступа. Лимит трафика отсутствует.
"my_secure_key" - Объект с метаданными:
access_key(строка, обязательно): Текст ключа для подключения.name(строка, опционально): Человекочитаемое описание клиента.limit_bytes(число, опционально): Лимит трафика в байтах (загрузка + скачивание).
При достижении limit_bytes сессия клиента немедленно сбрасывается и подключение блокируется до обнуления счетчика или расширения лимита.
3. REST API Управления (api)
Используется для программного управления сервером и интеграции с внешними панелями.
enabled(логический): Включение встроенного веб-сервера API.bind(строка): Интерфейс и порт для прослушивания (например,"127.0.0.1:9090").token(строка): Bearer-токен для авторизации администратора. Автоматически генерируется сервером при командеostp --init server.
4. Встроенный TCP Fallback прокси (fallback)
Позволяет маскировать порт под веб-сервер при сканировании активными DPI-зондами.
enabled(логический): Включить проксирование TCP.listen(строка): Порт прослушивания TCP/TLS (например,"0.0.0.0:443").target(строка): Локальный веб-сервер (например,"127.0.0.1:8080"на nginx/caddy), куда будут пересылаться все обычные запросы (не-OSTP трафик).
5. Reality Маскировка (reality)
Реализует спецификацию XTLS-Reality для бесшовной маскировки трафика под легитимный TLS-сервер.
enabled(логический): Включение маскировки.dest(строка): Целевой домен маскировки (например,"www.microsoft.com:443").private_key(строка): Приватный ключ Reality сервера (X25519).pbk(строка): Публичный ключ Reality сервера.sid(строка, 8 байт hex): Идентификатор сессии.sni_list(массив строк): Разрешенные SNI заголовки от клиентов.
6. Правила маршрутизации (outbound)
Позволяет пересылать часть исходящего трафика клиентов через прокси-сервер (например, SOCKS5/TOR).
enabled(логический): Включить исходящую маршрутизацию.protocol(строка): Протокол прокси. На данный момент поддерживается"socks5".address(строка): Хост прокси-сервера.port(число): Порт прокси-сервера.default_action(строка): Действие для трафика, не попавшего под правила. Варианты:"direct"(напрямую с сервера) или"proxy"(через прокси).rules(массив объектов): Список правил перенаправления:domain_suffix(массив строк): Фильтрация по суффиксу домена.ip_cidr(массив строк): Фильтрация по IP подсетям.action(строка): Действие при совпадении ("direct"или"proxy").