Облачные серверы
Методы для управления облачными серверами: получение, создание, продление, управление конфигурациями.
Обзор
Модуль для работы с облачными серверами пользователя. Позволяет заказывать серверы, продлевать их и управлять конфигурациями на них.
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
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | 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
| Parameter | Type | Required | Description |
|---|---|---|---|
server_id | number | Да | 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
| Field | Type | Required | Description |
|---|---|---|---|
location_id | number | Да | ID локации |
tariff_config_id | number | Нет | ID конфигурации тарифа |
payment_method_id | number | Нет | ID способа оплаты |
tariff_id | number | Нет | ID тарифа |
promocode | string | Нет | Промокод (4-32 символа) |
enable_auto_renewal | boolean | Нет | Включить автопродление |
Пример запроса
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
| Field | Type | Required | Description |
|---|---|---|---|
server_id | number | Да | ID сервера |
payment_method_id | number | Нет | ID способа оплаты |
days | number | Нет | Количество дней |
promocode | string | Нет | Промокод |
enable_auto_renewal | boolean | Нет | Включить автопродление |
Пример запроса
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
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | 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 если перезагрузка инициирована
}
}Ошибки
| errorCode | message | Когда |
|---|---|---|
| 1 | not found | Сервер не найден или не принадлежит пользователю |
| 3 | bad request | Сервер не активен или не имеет internal_ip |
POST /cloud-servers/:server_id/configs
Создать конфигурацию на облачном сервере.
Rate Limit: 1 req / 1 sec
URL Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
server_id | number | Да | ID облачного сервера |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
protocol | string | Да | Протокол |
title | string | Нет | Название (1-64 символа) |
use_extended_settings | boolean | Нет | Расширенные настройки |
use_warp | boolean | Нет | WARP |
disable_flow_reality | boolean | Нет | Отключить Flow Reality |
disable_reality | boolean | Нет | Отключить Reality |
change_sni | boolean | Нет | Изменить SNI |
block_local_network | boolean | Нет | Блокировать локальную сеть |
disable_sni | boolean | Нет | Отключить SNI |
enable_family_filter | boolean | Нет | Семейный фильтр |
pass_all_traffic_through_vpn | boolean | Нет | Весь трафик через VPN |
block_bittorrent | boolean | Нет | Блокировать BitTorrent |
use_xhttp | boolean | Нет | XHTTP |
use_grpc | boolean | Нет | 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
| Parameter | Type | Required | Description |
|---|---|---|---|
server_id | number | Да | ID облачного сервера |
id | number | Да | ID конфигурации |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
protocol | string | Да | Новый протокол |
use_extended_settings | boolean | Нет | Расширенные настройки |
use_warp | boolean | Нет | 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
| Parameter | Type | Required | Description |
|---|---|---|---|
server_id | number | Да | ID облачного сервера |
id | number | Да | ID конфигурации |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
xray_config | string | Да | Новый Xray конфиг |
public_key | string | 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
| Parameter | Type | Required | Description |
|---|---|---|---|
server_id | number | Да | ID облачного сервера |
id | number | Да | ID конфигурации |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
title | string | 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
| Parameter | Type | Required | Description |
|---|---|---|---|
server_id | number | Да | ID облачного сервера |
id | number | Да | 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
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Да | ID облачного сервера |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
enabled | boolean | Да | Включить/выключить автопродление |
days | number | Нет | Дней для автопродления (обязательно при включении) |
Пример запроса
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
| Parameter | Type | Required | Description |
|---|---|---|---|
server_id | number | Да | 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
| Parameter | Type | Required | Description |
|---|---|---|---|
server_id | number | Да | ID облачного сервера |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
protocol | string | Да | 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
| Parameter | Type | Required | Description |
|---|---|---|---|
server_id | number | Да | ID облачного сервера |
proxy_id | number | Да | ID прокси |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
protocol | string | Да | 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
| Parameter | Type | Required | Description |
|---|---|---|---|
server_id | number | Да | ID облачного сервера |
proxy_id | number | Да | ID прокси |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
title | string | 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
| Parameter | Type | Required | Description |
|---|---|---|---|
server_id | number | Да | ID облачного сервера |
proxy_id | number | Да | 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
}Помогла ли вам эта статья?