- Необходимо реализовать проксирование стороннего сайта средствами nginx + lua ( lua module)
как пример
https://www.croxyproxy.com/ Как должно работать:
До начала работы пользователей на стороннем сайте проходим авторизацию, все данные (куки при авторизации в кабинете, данные о разрешении, о ПК на котором была произведена авторизация ) сохраняем на прокси (сервер nginx). Можно сделать авторизацию прям через него (что желательно), например средствами селениум, что автоматизирует сбор данных.
- пользователь авторизуется со своим логином и паролем ( страницу для логирования на прокси потребуется написать с нуля)
- прокси (сервер nginx) хранит сессию стороннего сайта (эта сессия, куки и другие данные недоступны пользователям) и при запросе авторизованного на nginx клиента передает запрос на оригинальный сайт с сессией, хранящейся в nginx (данные подставляются в каждом запросе на оригинальный сайт).
- получив ответ от оригинала, подменяет все ссылки на наш домен вместо оригинального и передаем как ответ клиенту.
- у клиента не будет выводится часть информации (например чаты с техподдержкой, рекламные ролики для снижения нагрузки на трафик), возможно в каких то блоках (страницах) придется заменить информацию (например данные Личного кабинета, данные для API и ид)
На оригинальном сайте имеется защита от простых методов проксирования, необходимо будет разобраться с этим моментом и сделать так, чтобы оригинал не смог отличить запрос через проксю от обычного запроса.
Вся установка должна быть реализована через докер, исходный код сборки докера, инструкции по сборке. Все это потребуется передать заказчику.
Для работы с пользователями нужна будет система администратора (любой удобный язык).
Страница управления доступом,
выводим лист со всеми пользователями. есть возможность их добавить, изменить, заблокировать, разблокировать.
- Светофор кружок (или квадрат. Зеленый когда есть оплата, желтый за пять дней до конца, красный когда заблокирован)
- Фамилия
- Имя
- Отчество
- Почта (он же логин)
- Телеграм ( отправка пароля, запрос на смену пароля, уведомление об активации, уведомление об отключении доступа. Если клиент уже подписался на бота, создать учётку автоматом, сгенерировать пароль и отправить письмо (письмо брать и шаблона))
- Дата регистрации
- Дата активации доступа (только по этой дате доступ)
- Тариф (данные из отдельного справочника название, количество дней, скидка )
- Оплата (данные на оплату берем из тарифа. минус показывает что доступ активирован как тестовый. в блокировке показать количество дней.)
- Блокировка (при ручном вводе выдать окно с уточнением причины. есть справочник с шаблонами откуда можно выбрать быстрый комментарий. если система заблокировала по дате окончания тарифа оставить комментарии "Истек срок тарифа, клиент не продлил услугу" )
Страница с настройками
- Данные для телеграм (API ключ)
- Сколько дней до уведомления об окончание тарифа