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

Облачные серверы

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

Обзор

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


GET /cloud-servers

Получить список облачных серверов пользователя.

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

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

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

Ответ

{
  status: true,
  statusCode: 200,
  data: Array<{
    id: number              // ID сервера
    location_id: number     // ID локации
    tariff_config_id: number
    status: string          // ordered | purchased | active
    expires_at: number      // Unix timestamp
    url: string | null      // IP/домен сервера
    is_online: boolean
    auto_renewal: boolean
    auto_renewal_days: number | null
  }>
}

GET /cloud-servers/locations

Получить доступные локации для облачных серверов.

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

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

curl -X GET "https://api.stealthsurf.app/cloud-servers/locations" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

{
  status: true,
  statusCode: 200,
  data: Array<{
    id: number
    code: string                          // DE, NL, US, etc.
    title: string
    emoji: string
    description: string
    caption: string
    is_active: boolean
    server_type: string                   // standard, premium, etc.
    available_tariff_config_ids: number[] // Доступные ID тарифных конфигов
    ping_ip: string | null
    position: number
    tariff_configs: Array<{
      id: number
      title: string
      description: string
    }>
  }>
}

GET /cloud-servers/tariffs

Получить тарифы для облачных серверов.

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

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

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

Ответ

{
  status: true,
  statusCode: 200,
  data: Array<{
    id: number                      // ID тарифной конфигурации
    title: string
    description: string
    payment_methods: Array<{
      id: number                    // ID платежного метода
      display_name: string
      currency: string
      min_amount: number | null
      tariffs: Array<{
        id: number                  // ID тарифа
        days: number
        price: number
      }>
    }>
  }>
}

GET /cloud-servers/:id/serverStats

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

Rate Limit: 3 req / 5 sec

URL Parameters

ParameterTypeRequiredDescription
idnumberДаID облачного сервера

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

curl -X GET "https://api.stealthsurf.app/cloud-servers/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
    }>
  }
}

GET /cloud-servers/:server_id/configs

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

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

URL Parameters

ParameterTypeRequiredDescription
server_idnumberДаID облачного сервера

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

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

Ответ

{
  status: true,
  statusCode: 200,
  data: Array<{
    id: number
    title: string | null
    protocol: string
    connection_url: string
    is_extended_settings_enabled: boolean
    xray_config?: string
    flags?: string[]
    created_at: number
  }>
}

POST /cloud-servers

Создать заказ на облачный сервер.

Rate Limit: 1 req / 5 sec

Request Body

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

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

curl -X POST "https://api.stealthsurf.app/cloud-servers" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "location_id": 1,
    "tariff_config_id": 1,
    "payment_method_id": 1,
    "tariff_id": 1
  }'

Ответ

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

POST /cloud-servers/renewal

Продлить облачный сервер.

Rate Limit: 1 req / 5 sec

Request Body

FieldTypeRequiredDescription
server_idnumberДаID сервера
payment_method_idnumberНетID способа оплаты
daysnumberНетКоличество дней
promocodestringНетПромокод
enable_auto_renewalbooleanНетВключить автопродление

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

curl -X POST "https://api.stealthsurf.app/cloud-servers/renewal" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "server_id": 123,
    "payment_method_id": 1,
    "days": 30
  }'

Ответ

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

POST /cloud-servers/:id/reboot

Перезагрузить облачный сервер.

Rate Limit: 1 req / 30 sec

URL Parameters

ParameterTypeRequiredDescription
idnumberДаID облачного сервера

Условия

  • Сервер должен иметь статус active
  • После вызова сервер перезагрузится через ~3 секунды
  • Сервер будет недоступен ~1-2 минуты

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

curl -X POST "https://api.stealthsurf.app/cloud-servers/123/reboot" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

{
  status: true,
  statusCode: 200,
  data: {
    success: boolean  // true если перезагрузка инициирована
  }
}

Ошибки

errorCodemessageКогда
1not foundСервер не найден или не принадлежит пользователю
3bad requestСервер не активен или не имеет internal_ip

POST /cloud-servers/:server_id/configs

Создать конфигурацию на облачном сервере.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
server_idnumberДаID облачного сервера

Request Body

FieldTypeRequiredDescription
protocolstringДаПротокол
titlestringНетНазвание (1-64 символа)
use_extended_settingsbooleanНетРасширенные настройки
use_warpbooleanНет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

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

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

Ответ

{
  status: true,
  statusCode: 201,
  data: {
    id: number
    title: string | null
    protocol: string
    connection_url: string
    xray_config?: string
    created_at: number
  }
}

PATCH /cloud-servers/:server_id/configs/:id/protocol

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

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
server_idnumberДаID облачного сервера
idnumberДаID конфигурации

Request Body

FieldTypeRequiredDescription
protocolstringДаНовый протокол
use_extended_settingsbooleanНетРасширенные настройки
use_warpbooleanНетWARP
...Остальные настройки аналогичны POST

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

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

Ответ

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

PATCH /cloud-servers/:server_id/configs/:id/xray

Обновить Xray конфиг на облачном сервере.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
server_idnumberДаID облачного сервера
idnumberДаID конфигурации

Request Body

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

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

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

Ответ

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

PATCH /cloud-servers/:server_id/configs/:id/title

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

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
server_idnumberДаID облачного сервера
idnumberДаID конфигурации

Request Body

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

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

curl -X PATCH "https://api.stealthsurf.app/cloud-servers/123/configs/456/title" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Новое название"
  }'

Ответ

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

DELETE /cloud-servers/:server_id/configs/:id

Удалить конфигурацию на облачном сервере.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
server_idnumberДаID облачного сервера
idnumberДаID конфигурации

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

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

Ответ

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

PATCH /cloud-servers/:id/auto-renewal

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

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
idnumberДаID облачного сервера

Request Body

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

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

curl -X PATCH "https://api.stealthsurf.app/cloud-servers/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
  }
}

Прокси облачных серверов


GET /cloud-servers/:server_id/proxies

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

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

URL Parameters

ParameterTypeRequiredDescription
server_idnumberДаID облачного сервера

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

curl -X GET "https://api.stealthsurf.app/cloud-servers/123/proxies" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

{
  status: true,
  statusCode: 200,
  data: Array<{
    id: number
    title: string | null
    protocol: string            // http | socks5
    connection_url: string      // user:pass@server:8080
    created_at: number
  }>
}

POST /cloud-servers/:server_id/proxies

Создать прокси на облачном сервере.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
server_idnumberДаID облачного сервера

Request Body

FieldTypeRequiredDescription
protocolstringДаhttp или socks5

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

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

Ответ

{
  status: true,
  statusCode: 200,
  data: {
    id: number
    title: string | null
    protocol: string
    connection_url: string
    created_at: number
  }
}

PATCH /cloud-servers/:server_id/proxies/:proxy_id/protocol

Изменить протокол прокси.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
server_idnumberДаID облачного сервера
proxy_idnumberДаID прокси

Request Body

FieldTypeRequiredDescription
protocolstringДаhttp или socks5

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

curl -X PATCH "https://api.stealthsurf.app/cloud-servers/123/proxies/456/protocol" \
  -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
  }
}

PATCH /cloud-servers/:server_id/proxies/:proxy_id/title

Изменить название прокси.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
server_idnumberДаID облачного сервера
proxy_idnumberДаID прокси

Request Body

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

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

curl -X PATCH "https://api.stealthsurf.app/cloud-servers/123/proxies/456/title" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "HTTP Proxy"
  }'

Ответ

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

DELETE /cloud-servers/:server_id/proxies/:proxy_id

Удалить прокси.

Rate Limit: 1 req / 1 sec

URL Parameters

ParameterTypeRequiredDescription
server_idnumberДаID облачного сервера
proxy_idnumberДаID прокси

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

curl -X DELETE "https://api.stealthsurf.app/cloud-servers/123/proxies/456" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

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

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

Содержание

ОбзорGET /cloud-serversПример запросаОтветGET /cloud-servers/locationsПример запросаОтветGET /cloud-servers/tariffsПример запросаОтветGET /cloud-servers/:id/serverStatsURL ParametersПример запросаОтветGET /cloud-servers/:server_id/configsURL ParametersПример запросаОтветPOST /cloud-serversRequest BodyПример запросаОтветPOST /cloud-servers/renewalRequest BodyПример запросаОтветPOST /cloud-servers/:id/rebootURL ParametersУсловияПример запросаОтветОшибкиPOST /cloud-servers/:server_id/configsURL ParametersRequest BodyПример запросаОтветPATCH /cloud-servers/:server_id/configs/:id/protocolURL ParametersRequest BodyПример запросаОтветPATCH /cloud-servers/:server_id/configs/:id/xrayURL ParametersRequest BodyПример запросаОтветPATCH /cloud-servers/:server_id/configs/:id/titleURL ParametersRequest BodyПример запросаОтветDELETE /cloud-servers/:server_id/configs/:idURL ParametersПример запросаОтветPATCH /cloud-servers/:id/auto-renewalURL ParametersRequest BodyПример запросаОтветПрокси облачных серверовGET /cloud-servers/:server_id/proxiesURL ParametersПример запросаОтветPOST /cloud-servers/:server_id/proxiesURL ParametersRequest BodyПример запросаОтветPATCH /cloud-servers/:server_id/proxies/:proxy_id/protocolURL ParametersRequest BodyПример запросаОтветPATCH /cloud-servers/:server_id/proxies/:proxy_id/titleURL ParametersRequest BodyПример запросаОтветDELETE /cloud-servers/:server_id/proxies/:proxy_idURL ParametersПример запросаОтвет