AniX/api-prox/README.RU.md

5.6 KiB
Raw Blame History

AniX - Api Proxy

Данный под-проект позволяет проксировать запросы к API Anixart и изменять их ответы с помощью хуков

Он может использоваться как для основного проекта AniX, так и как отдельный сервис для андроид приложения с изменённой ссылкой на API.

Лицензия: MIT

Доступные хуки

  • release.ts: добавляет рейтинг с shikimori в строку доп. информации
  • profile.example.ts: меняет ник официального аккаунта anixart (пример работы с хуком)
  • profile.sponsor.ts: включает спонсорку (отключает рекламу) после входа в аккаунт в android приложении
  • toggles.ts: заменяет ответ конфигурации, если присутствует переменная окружения HOST_URL заменяет ссылку веб плеера, на встроенную, при совместном использовании с переменной окружения PLAYER_PARSER_URL, включает собственный веб-плеер, как в веб клиенте AniX
  • episode.disabled.ts: позволяет изменять/добавлять озвучки, источники и эпизоды с помощью файла json, в папке episode.

Использование

В строке веб-браузера необходимо ввести:

<http|https>://<ip|domain><:port>/<ENDPOINT>[?<QUERY_PARAMS>]

Ответ:

  • 500: произошла ошибка, подробнее в строке reason в теле ответа
  • 200: запрос прошёл успешно (если произошла ошибка на стороне API Anixart, смотри строку code)

Развёртывание

Docker

Требования:

Пре-билд

  1. выполните команду:

docker run -d --name anix-api -p 7001:7001 radiquum/anix-api-prox:latest

для использования хуков необходимо создать папку hooks и добавить флаг -v ./hooks:/app/hooks перед флагом -p. (так-же и для папки episode, если требуется)

Ручной билд

Доп. Требования:

  1. Клонируйте репозиторий git clone https://github.com/Radiquum/AniX
  2. Переместитесь в директорию репозитория cd AniX
  3. Переместитесь в директорию сервиса cd api-prox
  4. Выполните команду docker build -t anix-api-prox .
  5. После окончания, выполните команду: docker run -d --restart always --name anix-player -p 7001:7001 anix-api-prox

для использования хуков необходимо добавить флаг -v ./hooks:/app/hooks перед флагом -p. (так-же и для папки episode, если требуется)

docker/Обозначения

  • -d - запустить контейнер в фоне
  • --restart always - всегда запускать после перезагрузки сервера
  • --name - название контейнера
  • -p - порт контейнера который будет доступен извне. ПОРТ:7000
  • -v - добавить папку с хоста в контейнер

docker/После развёртывания

Сервис будет доступен по адресу: http://<ВАШ IP><:ВАШ ПОРТ>/

docker/Примечание

Для использования своего домена и поддержки протокола HTTPS, вы можете использовать Traefik или другой reverse-proxy, с сертификатом SSL.

Полезные ссылки:

pm2

Требования:

Инструкция:

  1. Клонируйте репозиторий git clone https://github.com/Radiquum/AniX
  2. Переместитесь в директорию репозитория cd AniX
  3. Переместитесь в директорию сервиса cd api-prox
  4. Выполните команду npm install
  5. После окончания и выполните команду pm2 start index.ts -n anix-api-prox

pm2/Обозначения

  • -n - название сервиса в pm2

pm2/После развёртывания

Сервис будет доступен по адресу: http://<ВАШ IP>:7001/

pm2/Примечание

Для автоматического запуска приложения, рекомендуется настроить pm2 на автозапуск, с помощью команды: pm2 startup

Полезные ссылки: