> For the complete documentation index, see [llms.txt](https://unsloth.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unsloth.ai/docs/de/grundlagen/lokale-llms-uberall-bereitstellen-sicherer-remote-zugriff-mit-cloudflare-und-unsloth.md).

# Lokale LLMs überall bereitstellen: Sicherer Remote-Zugriff mit Cloudflare und Unsloth

Lokale KI-Modelle überall bereitstellen und einsetzen. Sie können von einem anderen Gerät aus sicher über HTTPS auf Ihre lokalen LLMs zugreifen, indem Sie einen Cloudflare-Tunnel über [Unsloth](https://github.com/unslothai/unsloth). Es ist kein Cloudflare-Konto, keine Domain-Einrichtung und kein Port-Forwarding erforderlich. Führen Sie private KI-Modelle auf Ihrer eigenen Hardware, Ihren eigenen Servern oder Cloud-GPUs aus und verbinden Sie sich von überall, etwa von Ihrem Telefon aus.

{% columns %}
{% column %}
Unsloth ist ein Open-Source-Projekt, mit dem Sie LLMs lokal trainieren und ausführen können, und mit einem Cloudflare-Tunnel können Sie von Ihrem Mobilgerät aus auf Unsloth zugreifen, den Zugriff mit einem Freund oder Kollegen teilen und Unsloth auf einem Server wie Google Colab, AWS oder sogar einem persönlichen Server hosten.

Unsloth kann zu 100 % offline auf Ihrem Computer laufen. Schalten Sie den Fernzugriff ein und Sie erhalten einen Weblink wie `https://known-plates-desire-turkey.trycloudflare.com`. Öffnen Sie ihn auf Ihrem Telefon, Ihrem Laptop oder in jedem Browser, überall.
{% endcolumn %}

{% column %}

<figure><img src="https://3215535692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FD2v8S0MkS1xAeEVersl2%2Fmobile_studio1.gif?alt=media&#x26;token=7cd8a534-d82f-4f05-8d5a-9b7277f7eac0" alt="" width="180"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

Es ist kostenlos. Keine Registrierung und keine Zahlung erforderlich, und Sie müssen weder Router noch Firewall anrühren. Sobald Unsloth installiert ist, stellt Ihr Computer die Verbindung zu Cloudflare her, und Cloudflare leitet Besucher an ihn weiter. Der Link ist HTTPS, also ist die Verbindung verschlüsselt.

Zwei Möglichkeiten, es einzuschalten:

* **Wenn Sie Unsloth starten:** fügen Sie `--secure` zu Ihrem `unsloth studio` Befehl
* **Während Unsloth läuft:** gehen Sie zu Einstellungen → API → **Fernzugriff** und drücken Sie **Starten**

Pro Unsloth-Prozess existiert nur ein einziger Tunnel, und nur sein Besitzer kann ihn stoppen.

### ⚡ Schnellstart

Zuerst müssen wir die [Unsloth Desktop](https://unsloth.ai/download) App herunterladen.

1. Installieren Sie die App für [macOS](https://unsloth.ai/download/mac), Windows oder [Linux](https://unsloth.ai/download/linux)
2. Starten Sie die App
3. Gehen Sie dann zu Einstellungen → Remote & LAN → Fernzugriff.

<div data-with-frame="true"><figure><img src="https://3215535692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F31IAHABHEuWz1juiABBY%2Fimage.png?alt=media&#x26;token=b430b2f7-f91b-49e3-a4b6-c46bd688bbfc" alt=""><figcaption></figcaption></figure></div>

Verwenden Sie dies, wenn Unsloth bereits läuft und Sie es auf Ihrem Telefon oder einem anderen Rechner haben möchten. Drücken Sie **Starten**, kopieren Sie dann die **Remote-URL** oder scannen Sie den **QR** Code. `Online` bedeutet, dass der Link bereits antwortet, nicht nur, dass er angefragt wurde.

Drei Dinge, die man wissen sollte:

* Jeder mit der URL und dem Passwort kann sich anmelden. Remote-Browser melden sich an als `unsloth`, legen Sie das unter **Remote-Passwort**.
* Die URL ist bei jedem Start neu und kann nicht fest angepinnt werden.
* Ein roher `0.0.0.0` Port bleibt offen. Nur `--secure` schließt ihn.

Falls **Starten** ist ausgegraut, die Karte erklärt warum – meistens muss das Admin-Passwort noch geändert werden, oder der Tunnel gehört zum Startbefehl.

#### Wenn Start nicht verfügbar ist

<table><thead><tr><th width="292">Grund</th><th>Angezeigte Meldung</th></tr></thead><tbody><tr><td><code>server_starting</code></td><td>Unsloth startet noch.</td></tr><tr><td><code>admin_password_change_required</code></td><td>Legen Sie ein Remote-Passwort fest, bevor Sie diesen Server freigeben. <em>(Desktop)</em> / Ändern Sie das Administratorpasswort, bevor Sie diesen Server freigeben. Führen Sie in der Desktop-App <code>unsloth studio reset-password</code>. <em>(Browser)</em></td></tr><tr><td><code>explicitly_disabled</code></td><td>Dieser Start verwendete <code>--no-cloudflare</code>. Starten Sie ohne dieses erneut, um den Fernzugriff zu aktivieren.</td></tr><tr><td><code>launch_managed</code></td><td>Dieser Tunnel wird vom Startbefehl verwaltet.</td></tr><tr><td><code>colab_managed</code></td><td>Dieser Tunnel wird von der Colab-Runtime verwaltet.</td></tr><tr><td><code>colab</code></td><td>Die Fernzugriffseinstellungen werden von der Colab-Runtime verwaltet.</td></tr></tbody></table>

#### Die Tunnel-URL im Rest der UI

Sobald ein Tunnel online ist, wechseln zwei Stellen automatisch zu ihm:

* **Einstellungen → API → Anwendungsbeispiele** erhält einen **Sicheres HTTPS** -Schalter. Wenn aktiviert, werden jedes curl/Python/JavaScript-Snippet und jeder Coding-Agent-Befehl auf die `trycloudflare.com` -Basis statt auf `localhost`umgeschrieben. Wenn Sie nicht mit `--secure`gestartet haben, erinnert Sie ein Info-Tooltip: *"Der 0.0.0.0-Port ist weiterhin global erreichbar. Für volle Sicherheit starten Sie Unsloth mit `--secure` , um nur diesen HTTPS-Link freizugeben."*
* Der **API-Monitor** -Seite **Basis-URL** Anzeige zeigt die Tunnel-Quelle, sodass ein dort kopiertes Snippet vom Remote-Gerät aus funktioniert, und jede über den Tunnel eintreffende Anfrage live aufgelistet wird.

### CLI: Nur-HTTPS-Methode

Nach der manuellen Installation von Unsloth führen Sie in Ihrem Terminal aus:

```bash
unsloth studio --secure -p 8888
```

Unsloth bleibt an `127.0.0.1` gebunden und wird **nur** über den Tunnel veröffentlicht. Wenn der Tunnel nicht hochkommen kann, **beendet sich Unsloth stattdessen, anstatt auf** einen rohen Port zurückzufallen. Das Banner gibt aus:

```
🦥 Unsloth Studio läuft (sicher)
────────────────────────────────────────────────────
  Sicherer Link-Zugriff über Cloudflare: https://<random>.trycloudflare.com
  Nur auf diesem Rechner: http://127.0.0.1:8888/
────────────────────────────────────────────────────
```

#### CLI: roher LAN-Port plus öffentlicher Link

```bash
unsloth studio -H 0.0.0.0 --cloudflare -p 8888
```

Der rohe Port bleibt in Ihrem Netzwerk erreichbar *und* eine öffentliche Cloudflare-URL wird veröffentlicht. Das Banner warnt Sie genau davor, weil dies der am wenigsten private Modus ist.

#### UI: einen Link auf einem bereits laufenden Server starten

1. Öffnen **Einstellungen → API**.
2. Suchen Sie die **Fernzugriff** -Karte.
3. Klicken Sie **Starten**.
4. Wenn der Status **Online**anzeigt, kopieren Sie den **Remote-URL** oder scannen Sie den **QR** Code mit Ihrem Telefon.

### 🖥️ CLI-Referenz

Beide Flags werden von `unsloth studio` (dem Plain-Server-Pfad) und von `unsloth studio run`.

<table><thead><tr><th width="283">Flag</th><th width="100" align="center">Standard</th><th>Auswirkung</th></tr></thead><tbody><tr><td><code>--secure</code> / <code>--no-secure</code></td><td align="center">aus</td><td>Veröffentlicht <strong>nur</strong> über Cloudflare. Erzwingt einen Loopback-Bind, impliziert <code>--cloudflare</code>und schlägt geschlossen fehl, wenn der Tunnel nicht starten kann.</td></tr><tr><td><code>--cloudflare</code> / <code>--no-cloudflare</code></td><td align="center">aus</td><td>Veröffentlicht außerdem eine öffentliche Cloudflare-URL für einen <strong>Nicht-<code>--api-only</code> Wildcard-Bind</strong> (<code>0.0.0.0</code> oder <code>::</code>). Hat auf einen Loopback-Bind keine Wirkung. <code>--no-cloudflare</code> erzwingt es aus, macht aber <strong>nicht</strong> einen Wildcard-Bind privat.</td></tr></tbody></table>

Hinweise zum Flag-Verhalten:

* `--secure` ignoriert `-H`. Wenn Sie einen anderen Host angeben, gibt es einen Hinweis aus und bindet trotzdem `127.0.0.1` .
* `--secure --no-cloudflare` ist ein Widerspruch und beendet sich mit Code `2`.
* Diese Flags gehören zum Plain-Server-Pfad. Wenn man sie in *vor* einen Unterbefehl (`unsloth studio --secure run ...`) setzt, wird `2` der korrigierte Befehl ausgegeben, weil Typer sie sonst stillschweigend verwerfen würde. Verwenden Sie `unsloth studio run --secure ...`.
* Die Auswahl wird durch Unsloths internen Re-Exec als Tri-State weitergegeben (`aktiviert` / `deaktiviert` / `nicht gesetzt`), sodass ein veraltetes `Docker-ENV` oder `systemd Environment=` einen Tunnel, den Sie in diesem Aufruf abgewählt haben, niemals wieder aktivieren kann.

#### Was jeder Start tatsächlich freigibt

<table><thead><tr><th width="391">Start</th><th>Roher Port</th><th>Öffentliche Cloudflare-URL</th></tr></thead><tbody><tr><td><code>unsloth studio</code></td><td>nur dieser Rechner</td><td>nein</td></tr><tr><td><code>unsloth studio --cloudflare</code></td><td>nur dieser Rechner</td><td>nein, das Flag ist bei Loopback wirkungslos</td></tr><tr><td><code>unsloth studio -H 0.0.0.0</code></td><td>Ihr Netzwerk</td><td>nein</td></tr><tr><td><code>unsloth studio -H 0.0.0.0 --cloudflare</code></td><td>Ihr Netzwerk</td><td><strong>ja</strong></td></tr><tr><td><code>unsloth studio --secure</code></td><td>nur dieser Rechner</td><td><strong>ja</strong>, und es ist der einzige Weg hinein</td></tr><tr><td><code>unsloth studio --api-only</code> (Desktop-Backend)</td><td>wie gebunden</td><td>nein, außer <code>--secure</code></td></tr><tr><td>Google Colab</td><td>Colab-Proxy</td><td>nur über <code>start(cloudflare=True)</code></td></tr></tbody></table>

Die Regel, die das Backend anwendet: Colab tunnelt niemals vom Startpfad aus; `--secure` tunnelt immer (sogar `--api-only`, für headless sicheres API-Serving); andernfalls startet der Tunnel nur für einen Wildcard-Bind, der nicht `--api-only`.

#### `--secure` schlägt geschlossen fehl

Wenn der Tunnel nicht hochkommt, `--secure` weigert sich Unsloth weiterzulaufen:

```
Ein sicherer Cloudflare-Link ist nicht erlaubt, verwenden Sie --no-secure, womit ein 0.0.0.0-Link bereitgestellt wird
```

und beendet sich `1`. Das ist beabsichtigt: `--secure` bedeutet „kein roher öffentlicher Port“, also wäre ein stilles Herabstufen auf einen nur-Loopback-Server, von dem Sie glauben, dass er veröffentlicht sei, schlimmer als ein Stopp.

#### Startbanner-Zeilen

Bei einem Wildcard-Bind gibt Unsloth immer den Status des Tunnels an, sodass ein netzwerk-erreichbarer Start niemals stumm bleibt:

* Cloudflare-Tunnel: EIN. Dies ist eine ÖFFENTLICHE Internet-URL: Jeder, der sie hat, kann auf dieses Unsloth zugreifen.
* Cloudflare-Tunnel: EIN. Diese Cloudflare-URL ist ÖFFENTLICH, und der rohe Port ist ebenfalls öffentlich erreichbar.
* Cloudflare-Tunnel: angefordert, konnte aber nicht gestartet werden.
* Cloudflare-Tunnel: AUS (Standard). / AUS (--no-cloudflare). / AUS für diesen Modus.

Jede Variante passt sich daran an, ob der rohe Port unabhängig als aus dem Internet erreichbar gefunden wurde. Diese Erreichbarkeitsprüfung kontaktiert `ifconfig.me` und `check-host.net`; setzen Sie `UNSLOTH_STUDIO_DISABLE_PUBLIC_CHECK=1` , um beides zu überspringen.

#### Die Passwort-Sperre

Das erste Mal, wenn ein Start Unsloth kurz davor ist, auf einer öffentlichen URL zu veröffentlichen, während das Administratorkonto noch sein automatisch erzeugtes Bootstrap-Passwort hat, stoppt Unsloth und verlangt ein neues, maskiert, bestätigt, **bevor überhaupt ein Server oder Tunnel existiert**.

* **Terminal verbunden:** werden Sie dazu aufgefordert. Abbrechen (Ctrl+C) lehnt den Start ab.
* **Kein Terminal:** Unsloth warnt stattdessen, injiziert die Bootstrap-Anmeldedaten niemals in die öffentliche Seite und aktiviert die Bootstrap-Frist; es fährt nach `UNSLOTH_STUDIO_BOOTSTRAP_TIMEOUT` (Standard 1 Stunde) herunter, sofern das Passwort nicht geändert wird.
* **Kein Terminal und keine Frist** (`--api-only`, oder `UNSLOTH_STUDIO_BOOTSTRAP_TIMEOUT=0`): Der Start wird komplett verweigert, weil ihn nichts schützen würde.
* **`--secure` mit `cloudflared` nachweislich nicht verfügbar:** abgelehnt, wobei das gesetzte Passwort erhalten bleibt, sodass ein fehlgeschlagener Tunnel Sie nicht aussperren kann.

Für headless Setups legen Sie das anfängliche Passwort nicht interaktiv fest (wirkt nur, wenn noch keines gesetzt ist):

```bash
UNSLOTH_STUDIO_PASSWORD='your-strong-password' unsloth studio --secure
```

```bash
printf '%s\n' 'your-strong-password' | unsloth studio --secure --password -
```

Ein wörtliches `--password VALUE` ist sichtbar in `ps` und der Shell-History, daher bevorzugen Sie die Umgebungsvariable oder stdin. Später rotieren mit `unsloth studio reset-password`.

### 📓 Google Colab

`run_server` unterdrückt den Tunnel des Startpfads in Colab, da Colab den Port bereits proxyt. Fordern Sie explizit einen teilbaren öffentlichen Link an:

```python
start(cloudflare = True)
```

Colab weigert sich, den Link zu öffnen, solange das Administratorkonto noch sein Bootstrap-Passwort hat; diese Anmeldedaten sind für jeden sichtbar, der die Seite laden kann. Melden Sie sich an, ändern Sie das Passwort, und führen Sie es dann erneut aus. Jeder Fehler fällt auf „kein Link“ zurück und der Colab-Proxy funktioniert weiter.

### 🔒 Sicherheit

Unsloth zu veröffentlichen bedeutet, dass jeder, der die URL besitzt **und** eine Anmeldedaten, sie verwenden kann.

* **Serverseitige Tools laufen als Ihr Benutzer.** Websuche, Python- und Terminalausführung sind standardmäßig aktiviert, sodass jeder, der den Server mit Ihrem API-Schlüssel erreicht, auf dieser Maschine Code ausführen kann. Übergeben Sie `--disable-tools` wenn Sie Unsloth freigeben, und halten Sie den API-Schlüssel privat. Jeder netzwerk-erreichbare Start sagt dies im Banner.
* **Die Admin-Passwort-Sperre** oben ist bei einem vom Start verwalteten Tunnel nicht optional.
* **Ratenbegrenzung bleibt pro Besucher.** Der Tunnel endet bei `127.0.0.1`, daher würde sonst jeder getunnelte Aufrufer denselben Bucket teilen. Wenn der Socket-Peer Loopback ist, berücksichtigt Unsloth Cloudflares `CF-Connecting-IP`, die das Edge setzt und die ein getunnelter Client nicht fälschen kann. Hinter Ihrem eigenen Reverse-Proxy aktivieren Sie `X-Forwarded-For` mit `UNSLOTH_STUDIO_TRUST_FORWARDED=1`.
* **Lokale stdio-MCP-Server werden widerrufen, solange ein Tunnel aktiv ist.** stdio MCP wird nur als Loopback-Komfort automatisch aktiviert; ein Remote-Connector bricht diese Vertrauensgrenze, daher schaltet sich die Auto-Standard-Einstellung selbst aus. Ein explizites `UNSLOTH_STUDIO_ALLOW_STDIO_MCP=1` gewinnt weiterhin.
* **Die URL ist zufällig und vergänglich.** Quick Tunnels erhalten bei jedem Start einen neuen Hostnamen. Behandeln Sie die URL selbst als Geheimnis, und denken Sie daran, dass sie nicht fest angepinnt werden kann.

### ❔ Fehlerbehebung

Dies sind die exakten Status, die in der Karte für den Fernzugriff angezeigt werden. Alles andere wird auf den generischen `Cloudflare-Tunnel fehlgeschlagen`.

| Fehler                                         | Bedeutung                                                                         | Behebung von                                                                                                        |
| ---------------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `cloudflared ist nicht verfügbar`              | Nicht auf `PATH`, nicht zwischengespeichert, und der Download ist fehlgeschlagen. | Prüfen Sie den ausgehenden Zugriff auf `github.com`oder installieren Sie `cloudflared` selbst, damit es auf `PATH`. |
| `cloudflared hat keine URL erzeugt`            | Der Prozess wurde beendet, bevor eine erzeugt werden konnte.                      | Meist kein ausgehendes Netzwerk. Erneut versuchen; Proxy- oder Egress-Filter prüfen.                                |
| `cloudflared hat keine Verbindung registriert` | URL erzeugt, aber keine Edge-Verbindung nach dem `http2` -Retry.                  | Ihr Netzwerk blockiert QUIC *und* HTTP/2 zum Edge von Cloudflare.                                                   |
| `Cloudflare-URL war nicht erreichbar`          | Registriert, aber der Health-Check antwortete nie über die öffentliche URL.       | Vorübergehende Edge-/DNS-Propagation; drücken Sie Start erneut.                                                     |
| `cloudflared beendet sich`                     | Der Connector ist gestorben, während er online war.                               | Erneut starten; prüfen Sie auf einen OOM-Killer oder einen Prozess-Supervisor, der Child-Prozesse einsammelt.       |
| `cloudflared konnte nicht gestoppt werden`     | Die Beendigung wurde nie bestätigt, daher wird der Slot noch gehalten.            | Drücken Sie Stop erneut; falls es bestehen bleibt, starten Sie Unsloth neu.                                         |

Weitere Symptome:

* **`--secure` beendet sich sofort.** Der Tunnel ist fehlgeschlagen; die Meldung nennt `--no-secure` als Alternative. Beheben Sie zuerst die Konnektivität, denn `--no-secure` veröffentlicht einen rohen Port.
* **Start ist in der UI ausgegraut.** Lesen Sie die Meldung unter der Karte; sie nennt den Blockierungsgrund aus der Tabelle oben.

### 🌱 Umgebungsvariablen

| Variable                              | Zweck                                                                                                                                                              |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `UNSLOTH_STUDIO_HOME`                 | Installationsstamm; der `cloudflared` Cache liegt in `<root>/bin`.                                                                                                 |
| `UNSLOTH_STUDIO_BOOTSTRAP_TIMEOUT`    | Sekunden, bevor ein ungesicherter öffentlicher Start sich selbst beendet. Standard `3600`; `0` deaktiviert (und lässt einen headless öffentlichen Start ablehnen). |
| `UNSLOTH_STUDIO_PASSWORD`             | Anfängliches Admin-Passwort für headless Starts.                                                                                                                   |
| `UNSLOTH_STUDIO_DISABLE_PUBLIC_CHECK` | `1` überspringt die Prüfung der Erreichbarkeit des rohen Ports eines Drittanbieters bei Wildcard-Binds.                                                            |
| `UNSLOTH_STUDIO_TRUST_FORWARDED`      | `1` berücksichtigt `X-Forwarded-For` hinter Ihrem eigenen Reverse-Proxy.                                                                                           |
| `UNSLOTH_STUDIO_ALLOW_STDIO_MCP`      | `1` hält stdio-MCP-Server auch bei aktivem Tunnel aktiviert; `0` erzwingt Deaktivierung.                                                                           |

### 🌐 HTTP-API

Alle vier erfordern eine **UI-Session,** ein API-Schlüssel wird abgelehnt mit `403 Fernzugriff erfordert eine UI-Session.` Eine abgelehnte Operation gibt `409` mit dem Blockierungsgrund als Detail zurück.

<table><thead><tr><th width="100">Methode</th><th>Pfad</th><th>Zweck</th></tr></thead><tbody><tr><td><code>GET</code></td><td><code>/api/settings/remote-access</code></td><td>Aktueller Zustand, URL, Besitzer, <code>can_start</code> / <code>can_stop</code>, <code>block_reason</code>.</td></tr><tr><td><code>POST</code></td><td><code>/api/settings/remote-access/start</code></td><td>Einen von den Einstellungen verwalteten Start planen. Idempotent.</td></tr><tr><td><code>POST</code></td><td><code>/api/settings/remote-access/stop</code></td><td>Einen von den Einstellungen verwalteten Stopp planen. Ändert die Auto-Start-Einstellung nicht.</td></tr><tr><td><code>PUT</code></td><td><code>/api/settings/remote-access/auto-start</code></td><td><code>{"enabled": true|false}</code>. Auf Colab abgelehnt.</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://unsloth.ai/docs/de/grundlagen/lokale-llms-uberall-bereitstellen-sicherer-remote-zugriff-mit-cloudflare-und-unsloth.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
