# properties.local Konfiguration

Die Datei `properties.local` ist die Systemkonfigurationsdatei für den FIRERPA-Dienst, die normalerweise auf dem Gerät gespeichert wird. Sie enthält Zeichenketten im Format `key=value`. Durch Bearbeiten dieser Datei können Sie FIRERPA so konfigurieren, dass es beim Start automatisch eine Verbindung zu OpenVPN, einem Proxy oder einer Portweiterleitung herstellt, ein Anmeldepasswort oder Zertifikat festlegt und andere Systemkonfigurationen vornimmt. Beim Start sucht FIRERPA im Verzeichnis `/data/usr` nach dieser Datei und lädt sie. Sie können die konfigurierbaren Elemente aus der Datei [properties.local.example](https://github.com/firerpa/lamda/blob/HEAD/properties.local.example) im Projekt entnehmen und nach Bedarf auswählen. Bitte beachten Sie jedoch, dass Sie diese Datei nicht direkt kopieren, sondern nur die benötigten Teile auswählen und eintragen sollten.


```{attention}
Das Verzeichnis /data/usr ist das Benutzerdatenverzeichnis von FIRERPA und existiert vor dem ersten Start nicht. Wenn Sie die Konfiguration in properties.local voreinstellen möchten, müssen Sie dieses Verzeichnis manuell erstellen.
```

Informationen zum Schreiben der Startkonfiguration in `properties.local` finden Sie auch in den Beschreibungen der jeweiligen Funktionen. Sie können sich auch an `properties.local.example` orientieren.

## Liste der Konfigurationsparameter

### Grundlegende Kernkonfiguration

Konfiguriert die grundlegende Laufzeitumgebung des LAMDA-Dienstes, einschließlich des Überwachungsports, der Authentifizierung, der Anmeldeinformationen und der Cross-Origin-Richtlinien.

| Parametername | Standardwert | Beispielwert | Eingeführt | Entfernt | Beschreibung |
| :--- | :--- | :--- | :--- | :--- | :--- |
| `port` | `65000` | `65000` | - | - | Der Standard-Port, auf dem der LAMDA-Dienst lauscht. |
| `brandname` | `FIRERPA` | `LAMDA-DEV` | - | - | Der auf dem Remote-Desktop angezeigte Gerätename (maximal 10 Zeichen). |
| `cert` | Keine | `TEFNREEg...` | - | - | Base64-kodiertes Zertifikat für TLS-Verschlüsselung und Authentifizierung. |
| `ssl-web-credential` | Keine | `pwd123` | - | - | Backup-Passwort für die Remote-Desktop-Anmeldung (6-32 Zeichen). |
| `allow_origin` | Keine | `https://a.com` | - | - | Setzt den CORS-Header, um die Einbettung der WebUI zu ermöglichen. |
| `logfile` | Keine | `/data/log.txt` | - | - | Speicherpfad für die Protokolldatei (das Verzeichnis muss vorab erstellt werden). |

### Systemoptimierung und Kompatibilität

Steuert die zugrundeliegende Geschäftslogik und Stealth-Strategien, um Automatisierungsoperationen zu verbessern oder bei Kompatibilitätsproblemen des Geräts Fallback-Anpassungen vorzunehmen.

| Parametername | Standardwert | Beispielwert | Eingeführt | Entfernt | Beschreibung |
| :--- | :--- | :--- | :--- | :--- | :--- |
| `disable-client-api` | `false` | `true` | - | - | Deaktiviert die Python-Client-API. Setzen Sie dies auf `true`, wenn das Gerät abstürzt. |
| `enhanced-stealth-mode` | `false` | `true` | 7.65 | - | Erweiterter Stealth-Modus, um die Erkennung von Komponenten zu verhindern. |
| `enhanced-automation` | `false` | `true` | - | - | Aktiviert die erweiterte Automatisierungsunterstützung. |
| `touch.backend` | `native` | `system` | - | - | Touch-Backend: `system` (korrigiert den Offset) oder `native` (Standard). |
| `intercept-intent` | `false` | `true` | 8.20 | - | Aktiviert die Intent-Abfangfunktion (`get_last_activities`). |

### OpenVPN-Dienst

Konfiguration des integrierten OpenVPN-Clients, der es dem Gerät ermöglicht, über einen VPN-Tunnel zu kommunizieren, und globales Traffic-Forwarding sowie Benutzerauthentifizierung unterstützt.

| Parametername | Standardwert | Beispielwert | Eingeführt | Entfernt | Beschreibung |
| :--- | :--- | :--- | :--- | :--- | :--- |
| `openvpn.enable` | `false` | `true` | - | - | Aktiviert den integrierten OpenVPN-Dienst. |
| `openvpn.global` | `false` | `false` | - | - | Aktiviert die globale Weiterleitung des VPN-Traffics. |
| `openvpn.proto` | `udp` | `udp` | - | - | VPN-Kommunikationsprotokoll. |
| `openvpn.cipher` | `AES-256-GCM` | `AES-256-GCM` | - | - | Verschlüsselungsalgorithmus. |
| `openvpn.host` | Keine | `123.123.123.123` | - | - | Adresse des OpenVPN-Servers. |
| `openvpn.port` | Keine | `1190` | - | - | Port des OpenVPN-Servers. |
| `openvpn.ca` | Keine | `LS0t...` | - | - | Base64-kodiertes CA-Zertifikat. |
| `openvpn.cert` | Keine | `LS0t...` | - | - | Base64-kodiertes Client-Zertifikat. |
| `openvpn.key` | Keine | `LS0t...` | - | - | Base64-kodierter Client-Schlüssel. |

### Globaler Proxy-Dienst

Konfiguriert LAMDA so, dass es sich beim Start automatisch mit einem HTTP- oder SOCKS5-Proxy verbindet, sodass der Geräteverkehr beim Start des Dienstes automatisch über den angegebenen Zwischenserver geleitet wird.

| Parametername | Standardwert | Beispielwert | Eingeführt | Entfernt | Beschreibung |
| :--- | :--- | :--- | :--- | :--- | :--- |
| `gproxy.enable` | `false` | `true` | - | - | Stellt beim Start automatisch eine Verbindung zum Proxy her. |
| `gproxy.type` | Keine | `http-connect` | - | - | Proxy-Typ: `http-connect` oder `socks5`. |
| `gproxy.host` | Keine | `172.1.1.1` | - | - | Adresse des Proxy-Servers. |
| `gproxy.port` | Keine | `8080` | - | - | Port des Proxy-Servers. |
| `gproxy.login` | Keine | `admin` | - | - | Benutzername für die Proxy-Anmeldung. |
| `gproxy.password` | Keine | `pwd123` | - | - | Passwort für die Proxy-Anmeldung. |

### FRP-Portweiterleitungsdienst

Basiert auf FRP für NAT-Traversal, um den Dienstport des Geräts auf einen öffentlichen Server zu mappen und so Probleme beim Fernzugriff in Umgebungen ohne öffentliche IP-Adresse zu lösen.

| Parametername | Standardwert | Beispielwert | Eingeführt | Entfernt | Beschreibung |
| :--- | :--- | :--- | :--- | :--- | :--- |
| `fwd.enable` | `false` | `true` | - | - | Aktiviert den FRP-Weiterleitungsdienst. |
| `fwd.host` | Keine | `123.123.123.123` | - | - | Adresse des FRP-Servers. |
| `fwd.port` | Keine | `9911` | - | - | Steuerungsport des FRP-Servers. |
| `fwd.protocol` | `tcp` | `tcp` | - | - | Typ des Weiterleitungsprotokolls. |
| `fwd.token` | Keine | `abc123` | - | - | Authentifizierungstoken für die FRP-Anmeldung. |
| `fwd.rport` | `0` | `10086` | - | - | Remote-Weiterleitungsport (0 für zufällig). |

### Entwicklungs- und Verwaltungsdienste

Bietet Schalter für gängige Systemverwaltungstools, einschließlich des ADB-Dienstes, des SSH-Zugriffs für Remote-Shells und der Verwaltung geplanter Aufgaben.

| Parametername | Standardwert | Beispielwert | Eingeführt | Entfernt | Beschreibung |
| :--- | :--- | :--- | :--- | :--- | :--- |
| `adb.enable` | `true` | `true` | - | - | Aktiviert den integrierten ADB-Dienst. |
| `adb.directory` | `/data/local/tmp` | `/data/local/tmp` | - | - | ADB-Arbeitsverzeichnis. |
| `adb.privileged` | `false` | `true` | - | - | Aktiviert Root-Berechtigungen (andernfalls Shell-Berechtigungen). |
| `sshd.enable` | `true` | `true` | - | - | Aktiviert den SSH-Dienst. |
| `cron.enable` | `true` | `true` | - | - | Aktiviert den Dienst für geplante Aufgaben (Cron). |

### Bridge-Proxy-Dienst

Ein erweiterter Netzwerk-Proxy-Modus, der das Traffic-Bridging über eine bestimmte Netzwerkschnittstelle (z. B. mobiles Datennetzwerk) ermöglicht. Dies erlaubt den Internetzugriff über das Netzwerk dieses Geräts als Proxy und unterstützt die Benutzerauthentifizierung.

| Parametername | Standardwert | Beispielwert | Eingeführt | Entfernt | Beschreibung |
| :--- | :--- | :--- | :--- | :--- | :--- |
| `tunnel2.enable` | `false` | `true` | - | - | Aktiviert den Bridge-Proxy-Dienst. |
| `tunnel2.login` | Keine | `lamda` | - | - | Benutzername für den Bridge-Proxy. |
| `tunnel2.password` | Keine | `1234` | - | - | Passwort für den Bridge-Proxy. |
| `tunnel2.iface` | Keine | `rmnet` | - | - | Ausgangsschnittstelle: `rmnet` (mobile Daten) oder `wlan` (WLAN). |

### Broadcast-Discovery-Dienst

Dienst zur automatischen Geräteerkennung basierend auf dem mDNS-Protokoll. Wenn aktiviert, können LAMDA-Geräte im lokalen Netzwerk schnell über Domainnamen oder Metadaten lokalisiert und identifiziert werden.

| Parametername | Standardwert | Beispielwert | Eingeführt | Entfernt | Beschreibung |
| :--- | :--- | :--- | :--- | :--- | :--- |
| `mdns.enable` | `false` | `false` | - | - | Aktiviert die mDNS-Broadcast-Erkennung. |
| `mdns.meta` | `false` | `true` | - | - | Sendet Gerätemetadaten (Modell, ID usw.) per Broadcast. |
| `mdns.name` | Keine | `LAMDA.local` | - | - | Benutzerdefinierter lokaler Broadcast-Name. |
| `mdns.service` | `lamda` | `lamda` | - | - | Name des per Broadcast gesendeten Dienstes. |