Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions de/CONFIGURATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,8 @@ Die wichtigsten Einstellungen zur Zugriffskontrolle:
| `ALLOW_UNAUTHENTICATED_PRIVATE_NETWORK` | `false` | Erlaubt ohne gesetzte Anmeldung wieder den passwortlosen Zugriff aus privaten Netzwerken. |
| `ALLOW_UNAUTHENTICATED_REMOTE` | `false` | Erlaubt passwortlosen Zugriff von jeder Adresse, auch aus dem öffentlichen Internet. Nicht empfohlen. |
| `TRUSTED_PRIVATE_NETWORKS` | eingebaute Standards | Ersetzt die standardmäßigen privaten Netzwerkbereiche. Nimm alle Standards mit auf, die du behalten willst. |
| `BYPASS_AUTH_TAILSCALE` | `true` | Lässt Tailscale-Verkehr an Anmeldung und Allowlist vorbei. |
| `BYPASS_AUTH_DOCKER` | `true` | Lässt Docker-Bridge-Verkehr und das in Docker erkannte Standard-Gateway an Anmeldung und Allowlist vorbei. |
| `BYPASS_AUTH_TAILSCALE` | automatisch | Leer vertraut direkten Tailscale-Sockets nur, wenn beide Endpunkte Tailnet-Adressen nutzen. `true` aktiviert die alte Ausnahme für den gesamten Bereich `100.64.0.0/10`, `false` verlangt die normale Zugriffskontrolle. |
| `BYPASS_AUTH_DOCKER` | automatisch | Leer vertraut nur einer erkannten Container-Schnittstelle und ihrem exakten Gateway. `true` erhält die Kompatibilität mit älteren oder eigenen Netzwerken, `false` verlangt die normale Zugriffskontrolle. |
| `REQUIRE_AUTH_FOR_DOCKER_PROXY` | `true` | Verlangt normale Anmelde- und Allowlist-Prüfungen für Docker-Verkehr, den ein Proxy weiterleitet. Setz den Wert nur auf `false`, wenn du allen vorgelagerten Clients vertraust. |
| `TRUSTED_HOSTS` | leer | Zusätzliche öffentliche oder Reverse-Proxy-Hostnamen, auf die Marinara antworten darf. Direkte IP, localhost, `.local`, `.home.arpa` und einteilige LAN-Namen funktionieren automatisch. |
| `SSL_CERT` | leer | Pfad zu einer TLS-Zertifikatsdatei. Zusammen mit `SSL_KEY` liefert der Server HTTPS direkt aus. |
Expand Down Expand Up @@ -269,6 +269,8 @@ Dieser Abschnitt listet die übrigen Einstellungen, nach Zweck gruppiert. Zugrif
| -------------------------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `PORT` | `7860` | Der Port, auf dem der Server lauscht. Android, Docker und Termux sollten denselben Wert nutzen. |
| `HOST` | `127.0.0.1` (`0.0.0.0` in den Shell-Launchern) | Die Netzwerkschnittstelle, an die gebunden wird. Für LAN-Zugriff `0.0.0.0` nehmen. |
| `MARINARA_ANDROID_SECRET` | leer | Interner Geheimwert für die lokale Authentifizierung bei von der APK verwalteten Termux-Installationen. Der Android-Wrapper legt ihn an und der Termux-Launcher exportiert ihn; bei gewöhnlichen Desktop- oder manuellen Termux-Installationen nicht setzen. Ist er gesetzt, muss er aus genau 64 Hexadezimalzeichen bestehen. Ein ungültiger, nicht leerer Wert lässt lokale Anfragen des Geräts mit HTTP 503 fehlschlagen, statt die Authentifizierung abzuschwächen. |
| `MARINARA_ANDROID_SECRET_FILE` | `~/.marinara-engine/android-secret` | Pfad zur privaten Geheimwertdatei, die der Termux-Launcher und die lokale `mari`-CLI nutzen. APK und Launcher verwalten diese Datei automatisch. |
| `AUTO_OPEN_BROWSER` | `true` | Ob die Shell-Launcher die App-URL für dich öffnen. `false` schaltet das ab. |
| `AUTO_UPDATE_ENABLED` | `true` | Ob die Git-basierten Launcher für Windows, macOS/Linux und Termux vor dem Start Engine-Updates holen und einspielen. `false` deaktiviert das dauerhaft und wirkt ab dem nächsten Start. Der Launcher prüft weiterhin nur lesend auf neuere veröffentlichte Releases und erinnert bei Bedarf an den Download; manuelle Prüfungen, das Einspielen in der App, Paket-Updates und Modell-Updates bleiben verfügbar. Mit `--skip-update` überspringst du beide Launcher-Prüfungen für einen Start. |
| `MARINARA_ENV_FILE` | `.env` im Projekt-Wurzelordner | Optionaler abweichender Pfad zur Datei `.env`. Vor dem Start setzen. |
Expand Down
4 changes: 3 additions & 1 deletion de/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Ersetze `192.168.1.42` durch die eigene Host-IP-Adresse.

5. Melde dich an, falls der Browser nach Benutzername und Passwort für Basic Auth fragt. Erscheint stattdessen die Seite **Access blocked**, fehlt noch Schritt 2 auf dem Host.

Auf demselben Computer (`127.0.0.1`) brauchst du nie ein Passwort. Andere Geräte bleiben blockiert, bis du die Zugriffskontrolle einrichtest (Basic Auth oder eine IP-Allowlist). Beide Wege erklärt [Fernzugriff](REMOTE_ACCESS.md).
Bei gewöhnlichen Desktop-Installationen brauchst du auf demselben Computer (`127.0.0.1`) kein Passwort. Von der APK verwaltete Android-Installationen fügen eine private Anmeldung für localhost hinzu, damit sich keine andere Android-App als Marinara ausgeben kann. Andere Geräte bleiben blockiert, bis du die Zugriffskontrolle einrichtest (Basic Auth oder eine IP-Allowlist). Beide Wege erklärt [Fernzugriff](REMOTE_ACCESS.md).

Liegen die beiden Geräte nicht im selben Netzwerk, hilft ein Werkzeug wie Tailscale. Tailscale gibt jedem Gerät eine feste private Adresse. Damit verbindest du dich von überall, ohne Marinara im öffentlichen Internet freizugeben. Klappt die Verbindung nicht, hilft [Fehlerbehebung](TROUBLESHOOTING.md) weiter.

Expand All @@ -44,6 +44,8 @@ Eine eigene native Handy-App gibt es nicht. Auf Handy und Tablet nutzt du diesel

Unter Android lässt sich außerdem eine APK installieren, also die Installationsdatei für Android. Marinara läuft dann lokal auf dem Handy. Siehe [Android-Installation](installation/android-termux.md). Für iPhone und iPad gibt es die [iOS-PWA-Anleitung](installation/ios-pwa.md).

Der Android-Wrapper meldet sich automatisch bei seinem von der APK verwalteten Termux-Server an. Öffne für einen anderen Browser auf demselben Handy `/android-login`, führ in Termux `cat ~/.marinara-engine/android-secret` aus und füge den angezeigten Geheimwert ein. Die lokale `mari`-CLI liest denselben vom Launcher verwalteten Geheimwert automatisch. Manuelle Termux-Installationen behalten die normalen Regeln für localhost und Netzwerkzugriff.

## Was sind die drei Chat-Modi?

Marinara hat drei Chat-Modi, die beim Öffnen der Chatliste als Tabs erscheinen:
Expand Down
14 changes: 7 additions & 7 deletions de/REMOTE_ACCESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,24 +124,24 @@ Daneben gibt es den weiter gefassten Schalter `ALLOW_UNAUTHENTICATED_REMOTE=true

## Ausnahme für Tailscale und Docker

Zwei Schalter lassen direkten Tailscale- und Docker-Verkehr sowohl die IP-Allowlist als auch Basic Auth überspringen, genau wie Loopback. Beide sind standardmäßig aktiv. Deshalb ist eine frische Installation ohne jede Einrichtung schon über Tailscale und direkt aus den eigenen Docker-Containern erreichbar:
Zwei Schalter lassen direkten Tailscale- und Docker-Verkehr sowohl die IP-Allowlist als auch Basic Auth überspringen, genau wie Loopback. Lass sie für die automatische Erkennung leer:

```env
BYPASS_AUTH_TAILSCALE=true
BYPASS_AUTH_DOCKER=true
BYPASS_AUTH_TAILSCALE=
BYPASS_AUTH_DOCKER=
```

Diese Standardwerte setzen voraus, dass jeder Tailscale-Peer ein vertrauenswürdiger Marinara-Nutzer ist. Docker-Bridge-Adressen und das aus dem Container erkannte exakte Gateway stehen für denselben Docker-Host. Auch mit aktivem Basic Auth überspringen direkte Tailscale- und Docker-Clients die Abfrage. Gehören zu deinem Tailnet weniger vertrauenswürdige Peers, setze `BYPASS_AUTH_TAILSCALE=false`.
Im automatischen Modus wird einem Tailscale-Peer nur vertraut, wenn beide Enden seines direkten Sockets Tailnet-Adressen nutzen. Docker-Verkehr wird nur dann vertraut, wenn Marinara in einem Container läuft und die Quelle einer erkannten Container-Schnittstelle oder ihrem exakten Gateway entspricht. So funktionieren übliche private Tailscale- und Docker-Konfigurationen auf demselben Host weiter, ohne fremden CGNAT-, LAN-, Host-Netzwerk- oder Proxy-Verkehr als authentifiziert zu behandeln.

Setze einen Schalter auf false, wenn auch diese Clients ein Passwort brauchen sollen. Dafür gibt es zwei seltenere Gründe.
Setze einen Schalter auf `false`, wenn auch diese Clients ein Passwort brauchen sollen. Mit `true` behältst du die ältere breite Ausnahme, falls die automatische Erkennung nicht verfügbar ist: Tailscale vertraut dann dem gesamten Bereich `100.64.0.0/10`, Docker zusätzlich seinen erkannten Schnittstellen und Gateways sowie dem alten Bereich `172.16.0.0/12`. Nutze diesen Kompatibilitätsmodus nur, wenn jeder passende Peer vertrauenswürdig ist.

Vielleicht nutzt dein Internetanbieter CGNAT im Bereich `100.64.0.0/10` – genau dem Bereich, den Tailscale verwendet. Dann schalte die Tailscale-Ausnahme ab:
Gehören zu deinem Tailnet beispielsweise weniger vertrauenswürdige Peers, schalte die Tailscale-Ausnahme ab:

```env
BYPASS_AUTH_TAILSCALE=false
```

Oder dein normales LAN nutzt Adressen der Form `172.16.x.x`. Dann schalte die Docker-Ausnahme ab und trag die betreffenden Container einzeln in `IP_ALLOWLIST` ein:
Sollen erkannte Docker-Peers die Authentifizierung nicht umgehen, schalte die Docker-Ausnahme ab und füge bei Bedarf bestimmte Clients zu `IP_ALLOWLIST` hinzu:

```env
BYPASS_AUTH_DOCKER=false
Expand Down
10 changes: 10 additions & 0 deletions de/TROUBLESHOOTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,16 @@ Die Android-App ist nur eine schlanke Hülle um Termux. Termux ist eine Linux-Te

Prüf außerdem, ob App und Termux denselben Port nutzen. Der Standard ist `7860`. Hast du die App mit einem anderen Port gebaut, trag den passenden `PORT` auch in der `.env` von Termux ein.

### Android-localhost öffnet die Anmeldeseite oder gibt 401/503 zurück

Von der APK verwaltete Termux-Installationen schützen localhost mit einem privaten Geheimwert pro Installation. Die Android-App authentifiziert sich automatisch. Öffne in einem anderen Browser auf demselben Handy `/android-login` und füge den Wert aus diesem Termux-Befehl ein:

```bash
cat ~/.marinara-engine/android-secret
```

Die lokale `mari`-CLI liest dieselbe Datei automatisch. 401 bedeutet, dass der eingefügte Geheimwert oder eine Authentifizierungs-Challenge abgelehnt wurde; lade `/android-login` neu und füge den aktuellen Wert ein. 503 bedeutet, dass der Server einen fehlerhaft konfigurierten Geheimwert erhalten hat. Starte über `./start-termux.sh` neu. Meldet der Launcher, seine Geheimwertdatei sei ungültig oder leer, kehr zur Android-App zurück und tipp auf **Install / Start Marinara**, damit die APK sie neu anlegt. Zeig diesen Geheimwert nie in Screenshots oder Problemberichten.

### Das Android-Update bricht mit Exit-Status 134 ab

Exit-Status 134 heißt meist, dass Android während eines Build-Schritts der Arbeitsspeicher ausgegangen ist. Aktualisiere erneut über den neuesten Launcher:
Expand Down
16 changes: 8 additions & 8 deletions de/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
"files": [
{
"path": "CONFIGURATION.md",
"sha256": "517613c397c04d0880268b4f54fbdd347429347fd781bd857a29f566195c83c2",
"bytes": 44421
"sha256": "94216f71003d4f47474c973b29384acce2818cb817e5afd2feeca5d47b80ea5a",
"bytes": 45315
},
{
"path": "FAQ.md",
"sha256": "3b8c25db36f428fb529560d92583b33ea9be65669522964e80af68abb2747518",
"bytes": 22161
"sha256": "0ee3594e4d7f94783a96e05c93eb3714a44035b758202a2055718e97ca76c573",
"bytes": 22816
},
{
"path": "INSTALLATION.md",
Expand All @@ -18,13 +18,13 @@
},
{
"path": "REMOTE_ACCESS.md",
"sha256": "3afc4d9dfe9824fa4b03c2d5108db2364e543f79080ff95b8cca3b178be08627",
"bytes": 17934
"sha256": "a7b946836094c3047c267ce1f9a6dac88c27ce81359069ea97bb7ac4c6f190b3",
"bytes": 18165
},
{
"path": "TROUBLESHOOTING.md",
"sha256": "059b97340c7ec9bb65852087aa9935b439c703c6160b5e11498088ef002acbf1",
"bytes": 33411
"sha256": "5015c23e1c714c4aae279ba52c61d1972651f049bc862a00958e9a186c2c06bb",
"bytes": 34397
},
{
"path": "UPGRADING.md",
Expand Down
Loading