mirror of
https://github.com/Radiquum/AniX.git
synced 2025-09-05 14:05:36 +05:00
chore/api-prox: add README
This commit is contained in:
parent
dd4772c5cf
commit
d71ae186a2
7 changed files with 241 additions and 23 deletions
111
api-prox/README.RU.md
Normal file
111
api-prox/README.RU.md
Normal file
|
@ -0,0 +1,111 @@
|
|||
# AniX - Api Proxy
|
||||
|
||||
Данный под-проект позволяет проксировать запросы к API Anixart и изменять их ответы с помощью хуков
|
||||
|
||||
Он может использоваться как для основного проекта AniX, так и как отдельный сервис для андроид приложения с изменённой ссылкой на API.
|
||||
|
||||
Лицензия: [MIT](../LICENSE)
|
||||
|
||||
## Доступные хуки
|
||||
|
||||
- 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](https://docs.docker.com/engine/install/)
|
||||
|
||||
### Пре-билд
|
||||
|
||||
1. выполните команду:
|
||||
|
||||
`docker run -d --name anix-api -p 7001:7001 radiquum/anix-api-prox:latest`
|
||||
|
||||
для использования хуков необходимо создать папку `hooks` и добавить флаг `-v ./hooks:/app/hooks` перед флагом `-p`.
|
||||
(так-же и для папки `episode`, если требуется)
|
||||
|
||||
### Ручной билд
|
||||
|
||||
Доп. Требования:
|
||||
|
||||
- [git](https://git-scm.com/)
|
||||
|
||||
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.
|
||||
|
||||
Полезные ссылки:
|
||||
|
||||
- [Конвертер из команды docker run в синтакс для docker compose](https://it-tools.tech/docker-run-to-docker-compose-converter)
|
||||
- [Как настроить Traefik + свой домен + SSL](https://letmegooglethat.com/?q=how+to+setup+traefik+with+custom+domain+and+ssl+certificate+from+lets+encrypt%3F)
|
||||
|
||||
### pm2
|
||||
|
||||
Требования:
|
||||
|
||||
- [git](https://git-scm.com/)
|
||||
- [nodejs 23+ с npm](http://nodejs.org/)
|
||||
- [pm2](https://pm2.keymetrics.io/)
|
||||
|
||||
Инструкция:
|
||||
|
||||
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`
|
||||
|
||||
Полезные ссылки:
|
||||
|
||||
- [PM2: подходим к вопросу процесс-менеджмента с умом @ Habr](https://habr.com/ru/articles/480670/)
|
Loading…
Add table
Add a link
Reference in a new issue