Главная Документация О платформе Контакты Войти Начать

Документация

Документация платформы

REST API, CLI и runtime для PHP/Node. Базовый URL: https://encode.24hg.ru

◇

REST API

Encode PHP/Node + one-shot download. Bearer API-ключ.

multipart file

◇

CLI

hgencode-cloud.php / hgnodeencode-cloud.php, batch + resume.

panel/cli

◇

Loader CDN

Манифест и скачивание .so/.dll и Node artifacts.

/api/v1/loaders/…

◇

Кабинет

Upload, журнал и API-ключи.

web UI

Введение

API кодирует файлы на сервере и отдаёт одноразовую ссылку на результат. Формат запросов encode — multipart/form-data с полем file. Decode через API нет.

Базовый URL: https://encode.24hg.ru (отдельного api-субдомена нет).

Аутентификация

Ключ создаётся в кабинете → API-ключи. Для encode/download:

Authorization: Bearer YOUR_API_KEY

Loader CDN: опционально X-Loader-Token / ?token=, если на сервере задан LOADER_CDN_TOKEN.

Эндпоинты

Проверено по коду панели и live-ответам.

POST /api/v1/encode PHP encode → очередь (202). Поле file; опц. keep_name
POST /api/v1/php/encode Алиас PHP encode
POST /api/v1/node/encode Node.js encode → очередь (202)
GET /api/v1/jobs/{log_id} Статус задания (pending|running|ok|error)
GET /api/v1/jobs/{log_id}/download Скачать результат (Bearer; ?token= опционально)
GET /api/v1/php/jobs/{log_id}/download Алиас download для PHP
GET /api/v1/node/jobs/{log_id}/download Алиас download для Node
GET /api/v1/loaders/manifest JSON-манифест loader (CDN)
GET /api/v1/loaders/download Скачать PHP loader: ?file=имя.so
GET /api/v1/loaders/download-node Скачать Node artifact: ?file=…
* /api/v1/decode Нет — всегда 404

Encode — пример

curl -X POST https://encode.24hg.ru/api/v1/encode \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@Engine.php"

# 202 + log_id → опрос статуса:
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://encode.24hg.ru/api/v1/jobs/{log_id}

# При status=ok — download_url (закодированный файл до 24ч; исходник уже удалён).

PHP encode

  • Формат HGENC2 + VM bytecode
  • На хосте клиента — extension loader (.so / .dll) под версию PHP
  • Результат — .php / .encoded.php, не «.so вместо исходника»

Node.js encode

  • HGENC2-контейнер + strip
  • Запуск: node -r hgencode-loader/register app.js
  • Скачивание runtime — кабинет Loader или CDN download-node

Loader CDN

  • GET /api/v1/loaders/manifest — список артефактов и версии
  • Скачивание: ?file= точное имя из манифеста
  • В кабинете тот же набор доступен без CDN-токена (раздел Loader)

Ограничения

  • Free — дневная квота encode (по умолчанию 1000/сутки)
  • Web / CLI / API — при простое кодирование в запросе; при нагрузке (pending ≥ ENCODE_BUSY_PENDING) — FIFO-очередь, параллелизм ENCODE_CAPACITY×0.85 (на пике → ENCODE_CAPACITY_BUSY)
  • Макс. размер файла — 25 МБ
  • Исходник после encode сразу удаляется
  • Закодированный файл — до 24 ч для скачивания; после скачивания ещё ~10 мин
  • Decode API отсутствует