Build with Bestlion

Хорошая игра начинается
с надёжной основы.

Открытые методы для каталога, файлов и обновлений.
Подписанные манифесты. Версия протокола — v1.

Изучить APIПроверяем доступность…
Базовый адресhttps://api.bestlion.win
PUBLIC API

Данные, которые нужны клиенту.

Эти методы доступны без авторизации. Попробуй запрос — ответ придёт с работающего сервера.

Ответ сервера

GET /v1/packs
JSON
Загружаем ответ…
Целостность и доверие

Подпись на каждом манифесте.

Сборки и релизы содержат Ed25519-подпись. Проверяй байты payload_b64 доверенным ключом, затем используй данные из проверенного содержимого.

Доверенный публичный ключ необходимо встроить в клиент. Получение ключа с сервера само по себе не заменяет проверку доверия.
const bytes = decodeBase64(envelope.payload_b64);
const valid = await verifyEd25519(
  trustedPublicKey,
  decodeBase64(envelope.signature),
  bytes
);
if (!valid) throw new Error('Invalid signature');
const manifest = JSON.parse(new TextDecoder().decode(bytes));
Private API

Управление под защитой.

Изменение сборок, файлов, публикации и статистика доступны после входа по паролю и коду на почту. Сессия хранится в защищённой cookie, изменяющие запросы требуют CSRF-токен.

Открыть админ-панель

Перед интеграцией

ETag

Передавай If-None-Match, чтобы получать 304 для неизменённых данных.

Range / HEAD

Файлы поддерживают докачку. Проверяй SHA-256 после загрузки.

429

Учитывай Retry-After и повторяй запросы с увеличением интервала.

404

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