# Сервис мобильного прокси

Сервис мобильного прокси, возможно, звучит не так просто для понимания. Опишем это в одном предложении: в FIRERPA встроен HTTP-прокси-сервер, и вы можете использовать этот HTTP-прокси, то есть сеть мобильного устройства, для доступа к другим сайтам.

Например, иногда вам может потребоваться находиться в той же сети с тем же IP-адресом, что и устройство, для проведения сетевого тестирования и устранения неполадок. Эта функция прокси в FIRERPA позволяет вам использовать устройство, на котором запущен FIRERPA, в качестве HTTP-прокси-сервера. То есть, вы можете использовать это мобильное устройство как прокси-сервер, направляя весь трафик через его сетевой интерфейс. Или, например, если вы занимаетесь перехватом пакетов (sniffing), но не хотите, чтобы трафик исходил с вашего локального компьютера, вы можете настроить этот прокси-сервис в качестве вышестоящего прокси (upstream proxy) для mitmproxy. Таким образом, вы сможете перехватывать пакеты, и весь трафик по-прежнему будет исходить от исходного устройства. Или же использовать незадействованные сетевые ресурсы большого количества устройств в качестве IP-прокси-сервиса и т.д.

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

Вы можете в настройках браузера Firefox вручную настроить прокси, указав `192.168.0.2` и порт `65000`, а также установив флажок `Использовать этот прокси-сервер и для HTTPS`. Таким образом, ваш Firefox будет иметь тот же исходящий IP-адрес, что и устройство.

Вы также можете быстро опробовать это с помощью следующей команды curl:

```bash
curl -x http://192.168.0.2:65000 https://httpbin.org/ip
```

Вы также можете использовать его с помощью Python requests:

```python
requests.get("https://httpbin.org/ip", proxies={"http":"http://192.168.0.2:65000", "https": "http://192.168.0.2:65000"})
```


По умолчанию этот прокси не требует аутентификации. Однако, если вы запускаете сервис с параметром `--certificate` (используя сертификат службы), то имя пользователя для входа будет `lamda`, а пароль будет таким же, как токен для входа в удаленный рабочий стол (обратите внимание, это не пользовательский пароль для удаленного рабочего стола, а пароль из файла сертификата службы). Вы также можете установить этот пароль самостоятельно, используя пользовательскую конфигурацию `tunnel2.password` в файле `properties.local`.

В случае использования сертификата службы, используйте следующую команду:

```bash
curl -x http://lamda:пароль_сертификата@192.168.0.2:65000 https://httpbin.org/ip
```

Аналогично, для Python requests используется следующий формат:

```python
requests.get("https://httpbin.org/ip", proxies={"http":"http://lamda:пароль_сертификата@192.168.0.2:65000", "https": "http://lamda:пароль_сертификата@192.168.0.2:65000"})
```


## Конфигурация прокси

Вы можете настроить функцию мобильного прокси, добавив следующие конфигурации в файл `properties.local`. Вы можете настроить аутентификацию по паролю или заставить его использовать интерфейс `rmnet` (мобильная сеть 4G/5G) для исходящих соединений вместо сетевого интерфейса по умолчанию.

```ini
tunnel2.login=lamda
tunnel2.password=Ваш_новый_пароль
```

Конфигурация исходящего интерфейса `iface` используется для настройки сетевого выхода мобильного прокси. Она имеет два возможных значения: `wlan` и `rmnet`. Когда значение `iface` равно `wlan`, система автоматически обнаружит доступные интерфейсы WLAN и выберет любой из них для отправки запросов.
Когда значение `iface` равно `rmnet`, система попытается включить мобильные данные (4G/5G, даже если Wi-Fi включен) и отправить запросы через интерфейс мобильной сети. Если для `rmnet` или `wlan` настроен интерфейс, но на нем отсутствует сетевое подключение, прокси-сервер не будет работать.
Если этот параметр не настроен, запросы будут отправляться через сеть по умолчанию.

```ini
tunnel2.iface=rmnet
```