H1

H1Cloud VLESS · API Docs

Создание, просмотр, продление и удаление VLESS-клиентов через HTTP API.

H1Cloud VLESS

HTTP API для управления VLESS-клиентами

API запускается отдельным HTTP-сервером на выбранном порту и слушает все IP: 0.0.0.0:PORT. Для доступа нужен токен.

Команды на сервере

Эти команды пишутся в консоль сервера или запускаются как ./main.sh vpn ....

vpn api 25626 Запустить API на порту 25626.
vpn api token Показать токен для HTTP-запросов.
vpn api status Проверить, запущен ли API.
vpn keys Вывести все ключи клиентов и последние логи.

Авторизация

Передавай токен одним из двух способов. Рекомендуемый вариант - заголовок Bearer. Не публикуй api_token.txt в открытом доступе.

Bearer token

Authorization: Bearer TOKEN

X-API-Key

X-API-Key: TOKEN

Методы API

Все примеры ниже используют префикс /api. Без него тоже работает: /create, /clients.

GET /clients

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

{
  "ok": true,
  "clients": [
    {
      "name": "test",
      "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "expires_at": 1760000000,
      "left_days": 30,
      "link": "vless://..."
    }
  ]
}
GET /info?name=test

Получить данные одного клиента по имени.

POST /create

Создать клиента на указанное количество дней.

{
  "name": "test",
  "days": 30
}
PATCH /edit

Продлить клиента. days прибавляет дни к текущей дате окончания.

{
  "name": "test",
  "days": 15
}
PATCH /edit

Переименовать клиента.

{
  "name": "test",
  "new_name": "newtest"
}
DELETE /clients/test

Удалить клиента по имени.

GET /keys

Получить всех клиентов с готовыми VLESS-ссылками. На сервере также обновляется key.txt.

GET /logs?count=100

Получить последние записи из logs.txt.

GET /health

Проверить, что API отвечает. Этот метод не требует токен.

Тестер запросов

Выбери метод, измени тело запроса и скопируй готовый curl или fetch.

Ошибки

API всегда возвращает JSON с ok. Если ok: false, смотри поле error.

401 unauthorizedНет токена или токен неправильный.
400 bad_nameИмя пустое или содержит запрещенные символы.
400 bad_daysДни не указаны или меньше 1.
404 user_not_foundКлиент с таким именем не найден.
409 user_already_existsКлиент с таким именем уже есть.