5.6 KiB
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
Требования:
Пре-билд
- выполните команду:
docker run -d --name anix-api -p 7001:7001 radiquum/anix-api-prox:latest
для использования хуков необходимо создать папку hooks
и добавить флаг -v ./hooks:/app/hooks
перед флагом -p
.
(так-же и для папки episode
, если требуется)
Ручной билд
Доп. Требования:
- Клонируйте репозиторий
git clone https://github.com/Radiquum/AniX
- Переместитесь в директорию репозитория
cd AniX
- Переместитесь в директорию сервиса
cd api-prox
- Выполните команду
docker build -t anix-api-prox .
- После окончания, выполните команду:
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.
Полезные ссылки:
- Конвертер из команды docker run в синтакс для docker compose
- Как настроить Traefik + свой домен + SSL
pm2
Требования:
Инструкция:
- Клонируйте репозиторий
git clone https://github.com/Radiquum/AniX
- Переместитесь в директорию репозитория
cd AniX
- Переместитесь в директорию сервиса
cd api-prox
- Выполните команду
npm install
- После окончания и выполните команду
pm2 start index.ts -n anix-api-prox
pm2/Обозначения
- -n - название сервиса в pm2
pm2/После развёртывания
Сервис будет доступен по адресу: http://<ВАШ IP>:7001/
pm2/Примечание
Для автоматического запуска приложения, рекомендуется настроить pm2 на автозапуск, с помощью команды: pm2 startup
Полезные ссылки: