# Mobiler Proxy-Dienst

Der Begriff „Mobiler Proxy-Dienst“ ist möglicherweise nicht sofort verständlich. Lassen Sie es uns in einem Satz beschreiben: FIRERPA verfügt über einen integrierten HTTP-Proxy-Server. Über diesen HTTP-Netzwerk-Proxy können Sie das Netzwerk des Mobilgeräts nutzen, um auf andere Websites zuzugreifen.

Manchmal möchten Sie beispielsweise Netzwerktests von derselben IP-Adresse wie das Gerät aus durchführen, um Probleme zu diagnostizieren. Diese Proxy-Funktion von FIRERPA ermöglicht es Ihnen, das Gerät, auf dem FIRERPA läuft, als HTTP-Netzwerk-Proxy-Server zu verwenden. Das bedeutet, Sie können dieses mobile Gerät als Proxy-Server nutzen, um den Kommunikationsverkehr über den Netzwerkausgang dieses Geräts zu leiten. Oder wenn Sie Pakete mitschneiden (Packet Sniffing), aber nicht möchten, dass der Datenverkehr von Ihrem lokalen Computer ausgeht, können Sie diesen Proxy-Dienst als Upstream-Proxy für mitmproxy einrichten. Auf diese Weise können Sie Pakete erfassen, und der gesamte Kommunikationsverkehr wird weiterhin über das ursprüngliche Gerät gesendet. Eine weitere Anwendungsmöglichkeit ist die Nutzung der ungenutzten Netzwerkkapazitäten einer großen Anzahl von Geräten als IP-Proxy-Dienst.

## Verwendung des Proxys

Sie können in den Firefox-Einstellungen unter „Proxy manuell konfigurieren“ die IP-Adresse `192.168.0.2` und den Port `65000` als Proxy festlegen und die Option `Diesen Proxy auch für HTTPS verwenden` aktivieren. Auf diese Weise wird Ihr Firefox dieselbe ausgehende IP-Adresse wie das Gerät haben.

Sie können es auch schnell mit dem folgenden curl-Befehl ausprobieren:

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

Sie können es auch mit Python requests verwenden:

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


Standardmäßig erfordert dieser Proxy keine Authentifizierung. Wenn Sie jedoch mit der Option `--certificate` starten (also ein Dienstzertifikat verwenden), lautet der Benutzername `lamda` und das Passwort ist identisch mit dem Anmelde-Token für den Remote-Desktop (Achtung: nicht das benutzerdefinierte Passwort für den Remote-Desktop, sondern das Passwort aus der Dienstzertifikatsdatei). Sie können dieses Passwort auch selbst festlegen, indem Sie `tunnel2.password` in `properties.local` anpassen.

Im oben genannten Fall der Verwendung eines Dienstzertifikats verwenden Sie es wie folgt:

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

Für Python requests sieht es entsprechend so aus:

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


## Konfiguration des Proxys

Sie können die mobile Proxy-Funktion konfigurieren, indem Sie die folgende Konfiguration in `properties.local` schreiben. Sie können eine Passwortauthentifizierung einrichten oder festlegen, dass der Datenverkehr über die `rmnet`-Schnittstelle (4G/5G-Mobilfunknetz) anstatt der standardmäßigen ausgehenden Netzwerkschnittstelle gesendet wird.

```ini
tunnel2.login=lamda
tunnel2.password=IhrNeuesPasswort
```

Die Konfiguration der ausgehenden Schnittstelle `iface` wird verwendet, um das Ausgangsnetzwerk des mobilen Proxys zu konfigurieren. Es gibt zwei konfigurierbare Werte: `wlan` und `rmnet`. Wenn der Wert von `iface` `wlan` ist, wird automatisch eine verfügbare WLAN-Schnittstelle erkannt und eine beliebige davon zum Senden von Anfragen ausgewählt.
Wenn `iface` auf `rmnet` gesetzt ist, wird versucht, die mobilen Daten (4G/5G, auch wenn WLAN aktiviert ist) zu aktivieren und die Anfragen über die mobile Netzwerkschnittstelle zu senden. Wenn `rmnet` oder `wlan` konfiguriert ist, die entsprechende Schnittstelle aber keine Netzwerkverbindung hat, ist der Proxy nicht funktionsfähig.
Wenn diese Option nicht konfiguriert ist, wird das Standardnetzwerk zum Senden von Anfragen verwendet.

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