6 Configuration_ru
ospab edited this page 2026-06-19 15:02:57 +03:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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

GitHub Release

English

Начиная с версии 0.3.1, OSTP использует модульную систему конфигурации, основанную на inbounds (входящие соединения), outbounds (исходящие соединения) и routing (правила маршрутизации). Это относится как к серверу, так и к клиенту. Конфигурация пишется в формате JSON (поддерживаются комментарии //).

# Генерация базового конфига
./ostp --init server
./ostp --init client

# Проверка конфигурации на ошибки
./ostp --check --config config.json

Конфигурация сервера

Конфигурация сервера определяет порты и протоколы для прослушивания (inbounds) и куда направляется исходящий трафик (outbounds).

Модульная структура

Поле Тип Описание
inbounds array Список слушателей (ostp, api, dns).
outbounds array Список исходящих прокси (socks, direct, block).
routing object Правила перенаправления трафика в outbounds на основе доменов или IP CIDR.
dns object Встроенный DNS-сервер для AdBlock и DoH форвардинга (опционально).
debug bool Включить подробное логгирование пакетов.

Server Inbounds (Входящие подключения)

1. OSTP Inbound

Основной слушатель для соединений OSTP.

{
  "type": "ostp",
  "tag": "ostp-in",
  "listen": "0.0.0.0",
  "port": 50000,
  "access_keys": ["ВАШ_СЕКРЕТНЫЙ_КЛЮЧ"], // Массив ключей
  "transport": {
    "mode": "udp" // Доступно: "udp", "uot" (UDP over TCP), или "wss" (WebSocket)
  },
  "fallback": {
    "enabled": false,
    "target": "127.0.0.1:8080" // Перенаправление неавторизованного TCP трафика на веб-сервер
  }
}

2. API Inbound

Слушатель REST API для панелей управления.

{
  "type": "api",
  "tag": "api-in",
  "listen": "127.0.0.1",
  "port": 9090,
  "token": "ваш-секретный-токен" // Опционально (Bearer token)
}

3. DNS Inbound (Туннелирование dnstt)

Нативная реализация dnstt сервера, которая слушает DNS-запросы и извлекает инкапсулированный трафик OSTP.

{
  "type": "dns",
  "tag": "dns-in",
  "listen": "0.0.0.0:53",
  "domain": "t.yourdomain.com",
  "pubkey": "DNSTT_PUBKEY",
  "privkey": "DNSTT_PRIVKEY"
}

Server Outbounds (Исходящие подключения)

По умолчанию сервер направляет трафик напрямую в интернет, но может использовать вышестоящие SOCKS5 прокси.

"outbounds": [
  { "type": "direct", "tag": "direct" },
  { "type": "block", "tag": "block" },
  {
    "type": "socks",
    "tag": "tor-proxy",
    "server": "127.0.0.1",
    "port": 9050
  }
]

Server Routing (Маршрутизация)

Маршрутизирует трафик по правилам. Если ни одно правило не совпало, используется default_outbound.

"routing": {
  "default_outbound": "direct",
  "rules": [
    { "domain_suffix": [".onion"], "outbound": "tor-proxy" },
    { "ip_cidr": ["10.0.0.0/8"], "outbound": "block" }
  ]
}

Внутренний DNS / AdBlock

Сервер может запустить встроенный DNS для клиентов, парсить списки AdBlock и резолвить через DoH.

"dns": {
  "enabled": true,
  "local_port": 50053,
  "doh_upstream": "https://cloudflare-dns.com/dns-query",
  "adblock_urls": [
    "https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts"
  ]
}

Конфигурация клиента

Клиент слушает локальные порты (SOCKS5 или TUN) и отправляет трафик на сервер OSTP.

Модульная структура

Поле Тип Описание
version string Версия конфига (например, "0.3.1").
inbounds array Локальные слушатели (local_proxy, tun).
outbounds array Исходящие подключения (ostp, direct, selector, urltest).
routing object Правила перенаправления локального трафика в outbounds.
log.level string "info", "debug" или "warn".

Client Inbounds

1. Локальный прокси (SOCKS5 / HTTP)

{
  "type": "local_proxy",
  "tag": "socks-in",
  "protocol": "socks", // "socks" или "http"
  "listen": "127.0.0.1",
  "port": 1088
}

2. TUN Интерфейс

Полноценная маршрутизация через виртуальный сетевой адаптер. Требует прав администратора.

{
  "type": "tun",
  "tag": "tun-in",
  "auto_route": true,
  "mtu": 1140
}

Client Outbounds

1. OSTP Outbound

Подключение к удаленному серверу OSTP.

{
  "type": "ostp",
  "tag": "proxy",
  "server": "192.168.1.100",
  "port": 50000,
  "access_key": "ВАШ_СЕКРЕТНЫЙ_КЛЮЧ",
  "transport": {
    "type": "udp" // "udp", "uot" (UDP over TCP), или "dns"
  },
  "multiplex": {
    "enabled": true,
    "connections": 4
  }
}

DNS Транспорт (dnstt): При использовании DNS туннеля:

  "transport": {
    "type": "dns",
    "domain": "t.yourdomain.com",
    "resolver": "1.1.1.1",
    "pubkey": "DNSTT_PUBKEY"
  }

2. Direct / Block / Socks

Клиенты также могут использовать direct (в обход прокси), block (блокировка) или socks.

3. Selector / URLTest

Для балансировки или ручного переключения между серверами ostp.

{
  "type": "selector",
  "tag": "select",
  "outbounds": ["server1", "server2"],
  "default": "server1"
}
{
  "type": "urltest",
  "tag": "auto-balancer",
  "outbounds": ["server1", "server2"],
  "url": "http://cp.cloudflare.com",
  "interval": "5m"
}

Client Routing (Маршрутизация)

Полностью аналогична серверной.

"routing": {
  "default_outbound": "proxy",
  "rules": [
    { "domain_suffix": ["google.com", "youtube.com"], "outbound": "proxy" },
    { "ip_cidr": ["192.168.0.0/16", "10.0.0.0/8"], "outbound": "direct" }
  ]
}