javinfo

Атрибуция приложений

Один заголовок — и ваше приложение попадает в публичный рейтинг javinfo с числом запросов, числом пользователей и разбивкой по провайдерам. Бесплатно, по желанию, минута работы.

Добавьте заголовок referer к вызовам API, и javinfo заведёт публичную страницу вашего приложения: всего запросов, сколько аккаунтов ходит через него, какой провайдер отвечает чаще остальных. Приложение появится в рейтинге на javinfo.dev.

Это бесплатно. Вызовы с атрибуцией тарифицируются точно так же, как без неё, а заголовки не влияют на ваш лимит запросов. Не отправите — ничего не произойдёт: ни страницы, ни рейтинга, ни записи.

Заголовки

ЗаголовокОбязателенЧто делает
HTTP-RefererдаURL приложения. Это и есть его идентичность. Нет URL — нет страницы.
RefererБраузер ставит его сам. Используется как запасной, если HTTP-Referer нет.
x-javinfo-titleнетОтображаемое имя. По умолчанию — хост из вашего URL.
x-javinfo-categoriesнетТеги через запятую, до 10 штук. Приводятся к нижнему регистру.

HTTP-Referer — конвенция OpenRouter, и она существует потому, что обычный Referer в браузере относится к запрещённым заголовкам: JavaScript не может его выставить. С сервера можно отправить любой из двух. Из браузера Referer уходит сам, остальное добавляете вы.

cURL
curl "https://api.javinfo.dev/movie?q=SSIS-001" \
  -H "x-javinfo-key: jvi_your_key_here" \
  -H "HTTP-Referer: https://myapp.example.com" \
  -H "x-javinfo-title: My App" \
  -H "x-javinfo-categories: search-ui, metadata"
JavaScript (fetch)
const res = await fetch('https://api.javinfo.dev/query?q=SSIS', {
  headers: {
    'x-javinfo-key': 'jvi_your_key_here',
    'HTTP-Referer': 'https://myapp.example.com',
    'x-javinfo-title': 'My App',
  },
});

Пропишите их один раз в заголовках по умолчанию своего HTTP-клиента и забудьте.

Отправленный URL станет публичной ссылкой на javinfo.dev. Отправляйте страницу, на которую вы хотите приводить людей, а не внутреннюю админку или staging-хост.

Какие эндпоинты считаются

/movie, /query и /random. Каждый успешный вызов любого из них с корректным referer добавляет один запрос к счётчику приложения. /stats и /health не атрибутируются.

Запись идёт в фоновой очереди, когда ответ уже ушёл клиенту. Поэтому задержки не добавляется, а сбой Redis никогда не уронит запрос, который уже отработал.

Что сохраняется

URL нормализуется до origin плюс путь. Query string и фрагмент отбрасываются, а корневой путь схлопывается до origin:

https://myapp.example.com/?ref=hn      →  https://myapp.example.com
https://myapp.example.com/search?q=x   →  https://myapp.example.com/search

Разные пути — разные приложения. Выберите один канонический URL и держитесь его, иначе трафик разъедется на две строки рейтинга.

Заголовок и категории обновляются только когда вы их присылаете. Не пришлёте — останется то, что было в прошлый раз.

Что игнорируется

Во всех этих случаях атрибуция тихо отбрасывается. Сам вызов API при этом отрабатывает нормально.

  • Нет ни HTTP-Referer, ни Referer.
  • Referer не является корректным URL.
  • Схема не http и не https. Ни file://, ни собственные схемы.
  • localhost, 127.0.0.1, ::1. Локальная разработка никогда не засоряет рейтинг.
  • javinfo.dev и app.javinfo.dev. Себя мы в рейтинг не ставим.
  • URL длиннее 500 символов.
  • Заголовок без URL. Один только x-javinfo-title не создаёт ничего.

Категории после десятой отсекаются. Фиксированного списка нет, так что берите то, что описывает ваше приложение: search-ui, discord-bot, cli, scraper, mobile-app.

Страница приложения

Первый запрос с атрибуцией создаёт запись, и она сразу становится публичной. Дальше рейтинг показывает приложение в порядке общего числа запросов, а на javinfo.dev/apps/{id} вы увидите:

  • Всего запросов за всё время.
  • Число уникальных аккаунтов javinfo, ходивших через ваш URL. Считаются аккаунты, а не вызовы, так что это настоящее число пользователей, а не число визитов под видом пользователей.
  • Разбивку по провайдерам: сколько ваших запросов закрыли FANZA, DMM, javdb, missav, javdatabase или javlibrary. Про порядок опроса — в разделе Провайдеры.

Те же данные читаются без ключа:

curl "https://api.javinfo.dev/v1/apps/rankings?limit=20"
curl "https://api.javinfo.dev/v1/apps/{id}"

Место в рейтинге зарабатывают, а не покупают. Платные размещения есть в других местах javinfo.dev и помечены как платные; позицию в этой таблице они не дают.

Как убрать приложение

Перестаньте слать заголовок — счётчики перестанут расти, но накопленные цифры останутся. Нужно удалить страницу целиком? Напишите на [email protected] с адреса в том же домене, что и URL, и мы её удалим.

On this page