Конфигурации
Методы для управления VPN конфигурациями: получение, создание, продление, изменение локации.
Обзор
Модуль для работы с VPN конфигурациями пользователя. Позволяет получать список конфигов, создавать новые, продлевать и менять настройки.
GET /configs
Получить список всех VPN конфигураций пользователя.
Rate Limit: глобальный (200 req/min)
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | Нет | Максимальное количество записей (1-1000) |
offset | number | Нет | Смещение для пагинации |
Пример запроса
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
| Parameter | Type | Required | Description |
|---|---|---|---|
config_id | number | Да | 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
| Field | Type | Required | Description |
|---|---|---|---|
location_id | number | Нет* | ID локации (*обязательно если не as_key) |
protocol | string | Нет | vless, trojan, trojan-2901, outline, hysteria2, vless-2410, shadowsocks-2022, wg |
payment_method_id | number | Нет | ID способа оплаты |
tariff_id | number | Нет | ID тарифа |
promocode | string | Нет | Промокод (4-32 символа) |
use_extended_settings | boolean | Нет | Включить расширенные настройки |
use_warp | boolean | Нет | Использовать Cloudflare 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 |
as_key | boolean | Нет | Купить как ключ активации |
enable_auto_renewal | boolean | Нет | Включить автопродление |
Пример запроса
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
| Parameter | Type | Required | Description |
|---|---|---|---|
config_id | number | Да | ID конфигурации |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
payment_method_id | number | Нет | ID способа оплаты |
tariff_id | number | Нет | ID тарифа |
promocode | string | Нет | Промокод (4-32 символа) |
enable_auto_renewal | boolean | Нет | Включить автопродление |
Пример запроса
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
| Parameter | Type | Required | Description |
|---|---|---|---|
config_id | number | Да | ID конфигурации |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
location_id | number | Да | ID новой локации |
protocol | string | Да | Протокол: vless, trojan, trojan-2901, outline, hysteria2, vless-2410, shadowsocks-2022, wg |
use_extended_settings | boolean | Нет | Расширенные настройки |
use_warp | boolean | Нет | WARP |
disable_reality | boolean | Нет | Отключить Reality |
change_sni | boolean | Нет | Изменить SNI |
enable_family_filter | boolean | Нет | Семейный фильтр |
disable_flow_reality | boolean | Нет | Отключить Flow Reality |
disable_sni | boolean | Нет | Отключить SNI |
block_local_network | boolean | Нет | Блокировать локальную сеть |
block_bittorrent | boolean | Нет | Блокировать BitTorrent |
pass_all_traffic_through_vpn | boolean | Нет | Весь трафик через VPN |
use_xhttp | boolean | Нет | XHTTP |
use_grpc | boolean | Нет | 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
| Field | Type | Required | Description |
|---|---|---|---|
first_config_id | number | Да | ID входной конфигурации |
second_config_id | number | Да | ID выходной конфигурации |
first_type | string | Нет | "config" или "paid_option" (по умолчанию "config") |
second_type | string | Нет | "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
| Parameter | Type | Required | Description |
|---|---|---|---|
config_id | number | Да | ID конфигурации |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
xray_config | string | Да | Новый Xray конфиг |
public_key | string | 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
| Parameter | Type | Required | Description |
|---|---|---|---|
config_id | number | Да | ID конфигурации |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
title | string | 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
| Parameter | Type | Required | Description |
|---|---|---|---|
config_id | number | Да | ID конфигурации |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
enabled | boolean | Да | Включить/выключить автопродление |
days | number | Нет | Количество дней для автопродления (обязательно при включении) |
Пример запроса
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
| Parameter | Type | Required | Description |
|---|---|---|---|
config_id | number | Да | 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
| Parameter | Type | Required | Description |
|---|---|---|---|
config_id | number | Да | ID конфигурации |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
protocol | string | Да | Протокол: 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
| Parameter | Type | Required | Description |
|---|---|---|---|
config_id | number | Да | ID конфигурации |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
protocol | string | Да | Новый протокол: 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
| Parameter | Type | Required | Description |
|---|---|---|---|
config_id | number | Да | ID конфигурации |
Пример запроса
curl -X DELETE "https://api.stealthsurf.app/configs/123/subconfig" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: true
}Помогла ли вам эта статья?