StealthSurf VPNStealthSurf VPN
Доступные методы

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

Методы для управления VPN конфигурациями: получение, создание, продление, изменение локации.

Обзор

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


GET /configs

Получить список всех VPN конфигураций пользователя.

Rate Limit: глобальный (200 req/min)

Query Parameters

ParameterTypeRequiredDescription
limitnumberНетМаксимальное количество записей (1-1000)
offsetnumberНетСмещение для пагинации

Пример запроса

curl -X GET "https://api.stealthsurf.app/configs?limit=10&offset=0" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

{
  status: true,
  statusCode: 200,
  data: Array<{
    id: number                              // ID конфигурации
    connection_url: string                  // URL подключения (vless://, ss://, etc.)
    title: string | null                    // Название конфигурации
    location_id: number                     // ID локации сервера
    server_id: number                       // ID сервера
    protocol: string                        // Протокол (vless, trojan, trojan-2901, outline, hysteria2, vless-2410, shadowsocks-2022, wg)
    expires_at: number                      // Unix timestamp окончания подписки
    created_at: number                      // Unix timestamp создания
    is_extended_settings_enabled?: boolean  // Расширенные настройки включены
    xray_config?: string                    // Xray конфиг (если расширенные настройки)
    flags?: string[]                        // Флаги (noChangeCountry, etc.)
    is_online: boolean | null               // Статус сервера
    auto_renewal: boolean                   // Автопродление включено
    auto_renewal_days: number | null        // Дней для автопродления
  }>
}

GET /configs/tariffs

Получить тарифы для покупки и продления конфигов.

Rate Limit: глобальный (200 req/min)

Пример запроса

curl -X GET "https://api.stealthsurf.app/configs/tariffs" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

{
  status: true,
  statusCode: 200,
  data: Array<{
    payment_method_id: number     // ID платежного метода
    method_key: string            // Ключ метода (sbp, card, ton, usdt_trc20, etc.)
    display_name: string          // Название (SBP, Card, TON, USDT TRC20, etc.)
    currency: string              // Валюта (RUB, TON, USDT)
    min_amount: number | null     // Минимальная сумма платежа
    tariffs: Array<{
      tariff_id: number           // ID тарифа
      days: number                // Количество дней
      price: number               // Цена
      referral_payout: number     // Реферальная выплата
      is_active: boolean          // Тариф активен
    }>
  }>
}

GET /configs/:config_id/serverStats

Получить статистику сервера конфигурации.

Rate Limit: 3 req / 5 sec

URL Parameters

ParameterTypeRequiredDescription
config_idnumberДаID конфигурации

Пример запроса

curl -X GET "https://api.stealthsurf.app/configs/123/serverStats" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

{
  status: true,
  statusCode: 200,
  data: {
    host: string              // IP адрес сервера
    status: string            // Статус (up, down)
    uptime_days: number       // Время работы в днях
    cpu_model: string         // Модель CPU
    stats: Array<{
      date: string            // Дата (YYYY-MM-DD)
      cpu: number             // CPU usage %
      ram: number             // RAM usage %
      up: number              // Upload Mbps
      down: number            // Download Mbps
    }>
  }
}

POST /configs

Создать новую VPN конфигурацию.

Rate Limit: 1 req / 1 sec

Request Body

FieldTypeRequiredDescription
location_idnumberНет*ID локации (*обязательно если не as_key)
protocolstringНетvless, trojan, trojan-2901, outline, hysteria2, vless-2410, shadowsocks-2022, wg
payment_method_idnumberНетID способа оплаты
tariff_idnumberНетID тарифа
promocodestringНетПромокод (4-32 символа)
use_extended_settingsbooleanНетВключить расширенные настройки
use_warpbooleanНетИспользовать Cloudflare WARP
disable_flow_realitybooleanНетОтключить Flow Reality
disable_realitybooleanНетОтключить Reality
change_snibooleanНетИзменить SNI
block_local_networkbooleanНетБлокировать локальную сеть
disable_snibooleanНетОтключить SNI
enable_family_filterbooleanНетСемейный фильтр
pass_all_traffic_through_vpnbooleanНетВесь трафик через VPN
block_bittorrentbooleanНетБлокировать BitTorrent
use_xhttpbooleanНетИспользовать XHTTP
use_grpcbooleanНетИспользовать gRPC
as_keybooleanНетКупить как ключ активации
enable_auto_renewalbooleanНетВключить автопродление

Пример запроса

curl -X POST "https://api.stealthsurf.app/configs" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "location_id": 1,
    "protocol": "vless",
    "promocode": "MYCODE"
  }'

Ответ (успех с промокодом)

{
  status: true,
  statusCode: 201,
  data: {
    id: number
    connection_url: string
    title: string | null
    location_id: number
    server_id: number
    protocol: string
    expires_at: number
    created_at: number
    is_extended_settings_enabled?: boolean
    is_online: boolean
    auto_renewal: boolean
    auto_renewal_days: number | null
  }
}

Ответ (требуется оплата)

{
  status: true,
  statusCode: 201,
  data: {
    link: string    // URL для оплаты
  }
}

Ответ (как ключ активации)

{
  status: true,
  statusCode: 201,
  data: {
    promocode: string    // Ключ активации
    days: number         // Количество дней
  }
}

POST /configs/renewal/:config_id

Продлить конфигурацию.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
config_idnumberДаID конфигурации

Request Body

FieldTypeRequiredDescription
payment_method_idnumberНетID способа оплаты
tariff_idnumberНетID тарифа
promocodestringНетПромокод (4-32 символа)
enable_auto_renewalbooleanНетВключить автопродление

Пример запроса

curl -X POST "https://api.stealthsurf.app/configs/renewal/123" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "payment_method_id": 1,
    "tariff_id": 2
  }'

Ответ (успех)

{
  status: true,
  statusCode: 201,
  data: {
    id: number          // ID конфигурации
    expires_at: number  // Новый Unix timestamp окончания
  }
}

Ответ (требуется оплата)

{
  status: true,
  statusCode: 201,
  data: {
    link: string    // URL для оплаты
  }
}

PATCH /configs/:config_id/settings

Изменить настройки конфигурации (локацию, протокол).

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
config_idnumberДаID конфигурации

Request Body

FieldTypeRequiredDescription
location_idnumberДаID новой локации
protocolstringДаПротокол: vless, trojan, trojan-2901, outline, hysteria2, vless-2410, shadowsocks-2022, wg
use_extended_settingsbooleanНетРасширенные настройки
use_warpbooleanНетWARP
disable_realitybooleanНетОтключить Reality
change_snibooleanНетИзменить SNI
enable_family_filterbooleanНетСемейный фильтр
disable_flow_realitybooleanНетОтключить Flow Reality
disable_snibooleanНетОтключить SNI
block_local_networkbooleanНетБлокировать локальную сеть
block_bittorrentbooleanНетБлокировать BitTorrent
pass_all_traffic_through_vpnbooleanНетВесь трафик через VPN
use_xhttpbooleanНетXHTTP
use_grpcbooleanНетgRPC

Пример запроса

curl -X PATCH "https://api.stealthsurf.app/configs/123/settings" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "location_id": 5,
    "protocol": "vless"
  }'

Ответ

{
  status: true,
  statusCode: 200,
  data: {
    connection_url: string   // Новый URL подключения
    server_id: number        // ID нового сервера
    xray_config?: string     // Xray конфиг (если расширенные настройки)
  }
}

POST /configs/makeBridge

Создать мост между двумя конфигурациями (двойной VPN).

Rate Limit: 1 req / 1 sec

Request Body

FieldTypeRequiredDescription
first_config_idnumberДаID входной конфигурации
second_config_idnumberДаID выходной конфигурации
first_typestringНет"config" или "paid_option" (по умолчанию "config")
second_typestringНет"config" или "paid_option" (по умолчанию "config")

Пример запроса

curl -X POST "https://api.stealthsurf.app/configs/makeBridge" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "first_config_id": 123,
    "second_config_id": 456
  }'

Ответ

{
  status: true,
  statusCode: 201,
  data: true
}

PATCH /configs/:config_id/XrayConfig

Обновить Xray конфигурацию.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
config_idnumberДаID конфигурации

Request Body

FieldTypeRequiredDescription
xray_configstringДаНовый Xray конфиг
public_keystring | nullНетПубличный ключ

Пример запроса

curl -X PATCH "https://api.stealthsurf.app/configs/123/XrayConfig" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "xray_config": "{...}"
  }'

Ответ

{
  status: true,
  statusCode: 200,
  data: {
    connection_url: string
    server_id: number
    xray_config?: string
  }
}

PATCH /configs/title/:config_id

Обновить название конфигурации.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
config_idnumberДаID конфигурации

Request Body

FieldTypeRequiredDescription
titlestring | nullДаНовое название (1-64 символа) или null

Пример запроса

curl -X PATCH "https://api.stealthsurf.app/configs/title/123" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Мой конфиг"
  }'

Ответ

{
  status: true,
  statusCode: 200,
  data: true
}

PATCH /configs/:config_id/auto-renewal

Переключить автопродление конфига.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
config_idnumberДаID конфигурации

Request Body

FieldTypeRequiredDescription
enabledbooleanДаВключить/выключить автопродление
daysnumberНетКоличество дней для автопродления (обязательно при включении)

Пример запроса

curl -X PATCH "https://api.stealthsurf.app/configs/123/auto-renewal" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": true,
    "days": 30
  }'

Ответ

{
  status: true,
  statusCode: 200,
  data: {
    auto_renewal: boolean
    auto_renewal_days: number | null
  }
}

Субконфиги

Субконфиги — это дополнительные HTTP/SOCKS5 прокси для существующего конфига.


GET /configs/:config_id/subconfig

Получить субконфиг.

Rate Limit: глобальный (200 req/min)

URL Parameters

ParameterTypeRequiredDescription
config_idnumberДаID конфигурации

Пример запроса

curl -X GET "https://api.stealthsurf.app/configs/123/subconfig" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

{
  status: true,
  statusCode: 200,
  data: {
    id: number
    protocol: string            // http | socks5
    connection_url: string      // http://user:pass@server:8080
  }
}

POST /configs/:config_id/subconfig

Создать субконфиг.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
config_idnumberДаID конфигурации

Request Body

FieldTypeRequiredDescription
protocolstringДаПротокол: http или socks5

Пример запроса

curl -X POST "https://api.stealthsurf.app/configs/123/subconfig" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "protocol": "http"
  }'

Ответ

{
  status: true,
  statusCode: 200,
  data: {
    id: number
    protocol: string
    connection_url: string
  }
}

PATCH /configs/:config_id/subconfig

Изменить протокол субконфига.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
config_idnumberДаID конфигурации

Request Body

FieldTypeRequiredDescription
protocolstringДаНовый протокол: http или socks5

Пример запроса

curl -X PATCH "https://api.stealthsurf.app/configs/123/subconfig" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "protocol": "socks5"
  }'

Ответ

{
  status: true,
  statusCode: 200,
  data: {
    id: number
    protocol: string
    connection_url: string
  }
}

DELETE /configs/:config_id/subconfig

Удалить субконфиг.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
config_idnumberДаID конфигурации

Пример запроса

curl -X DELETE "https://api.stealthsurf.app/configs/123/subconfig" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

{
  status: true,
  statusCode: 200,
  data: true
}

Помогла ли вам эта статья?

Содержание