Android App для использования телефона как Proxy Server через OpenVPN

1 500 руб.за час
05 сентября 2022, 22:14 • 5 откликов • 47 просмотров
Есть текущая реализация приложения:
Приложение при запуске поднимает proxy-сервер на телефоне клиента на порту 0.0.0.0:8899. Далее пользователь устанавливает себе приложение OpenVPN, получает от нас vpn-ключ, с помощью которого подключается к нашему серверу. Между нами и клиентом поднимается туннель в рамках которого клиент получает локальный адрес (к примеру: 10.8.0.214). С этого момента мы можем выполнять запросы через proxy-сервер запущенный на телефоне клиента используя прокси вида: 10.8.0.214:8899


Необходимая реализация приложения:
1. Пользователь скачивает приложение, в форме авторизации в приложении вводит данные для входа: логин + пароль
2. После авторизации на главном экране отображаем данные пользователя и кнопку "Подключить ВПН"

При нажатии на кнопку происходит следующее:
1. В фоне запускается прокси-сервер (автоматически назначается заранее указанный порт, как в примере: 0.0.0.0:8899)
2. Выполняется запрос к {api.mysite.com}, ответом на который будет *.ovpn ключ (либо конфигурация ключа в json)
3. Полученный ключ автоматически добавляется в OpenVPN клиент встроенный в приложение и устанавливается подключение.
4. Если proxy-сервер успешно запущен, и OpenVPN успешно поднял туннель по полученному ключу, на {api.mysite.com} - уходит запрос содержащий в себе информацию о активации подключения.


С нашей стороны (на стороне бекенда) там будет уже своя реализация, по проксированию запросов, контроля туннелей, адресации в рамках локальных сетей.

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


Отзывы
R50 6fb08bb6aeb490369faba7748ecce825
Заказчик
Заказ выполнен, приложение работает)
~ 2 года назад
 
~ 2 года назад