> 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/jp/ji-chu/cloudflaretounslothniyorunarimtoakusesuderkarullmwodokokarademosuru.md).

# CloudflareとUnslothによる安全なリモートアクセスで、ローカルLLMをどこからでも提供する方法

ローカルAIモデルをどこでも提供・デプロイできます。Cloudflareトンネルを使って、別のデバイスからHTTPS経由でローカルLLMに安全にアクセスできます。経由で [Unsloth](https://github.com/unslothai/unsloth)。Cloudflareアカウント、ドメイン設定、ポート転送は不要です。自分のハードウェア、サーバー、またはクラウドGPUでプライベートAIモデルを実行し、スマートフォンなどどこからでも接続できます。

{% columns %}
{% column %}
Unslothは、LLMをローカルで学習・実行できるオープンソースプロジェクトです。さらにCloudflareトンネルを使えば、モバイル端末からUnslothにアクセスしたり、友人や同僚とアクセスを共有したり、Google ColabやAWSのようなサーバー、あるいは個人サーバー上でUnslothをホストしたりできます。

Unslothはあなたのコンピューターで100%オフラインで実行できます。リモートアクセスをオンにすると、次のようなWebリンクが表示されます `https://known-plates-desire-turkey.trycloudflare.com`。それをスマートフォン、ノートパソコン、またはどのブラウザーでも、どこからでも開けます。
{% 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 %}

無料です。登録も支払いも不要で、ルーターやファイアウォールに触れる必要もありません。Unslothをインストールすると、コンピューターがCloudflareに接続し、Cloudflareが訪問者をそこに中継します。リンクはHTTPSなので、接続は暗号化されます。

有効にする方法は2つあります：

* **Unslothを起動するとき：** を追加します `--secure` あなたの `unsloth studio` コマンド
* **Unslothの実行中：** 設定 → API → に移動し、 **リモートアクセス** を押します **開始**

Unslothプロセスごとに存在できるトンネルは1つだけで、その所有者だけが停止できます。

### ⚡ クイックスタート

まず、次をダウンロードする必要があります [Unsloth Desktop](https://unsloth.ai/download) アプリ。

1. 次のためのアプリをインストールします [macOS](https://unsloth.ai/download/mac)、Windows、または [Linux](https://unsloth.ai/download/linux)
2. アプリを起動
3. 次に、設定 → Remote & LAN → リモートアクセス に移動します。

<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>

Unslothがすでに実行中で、スマートフォンや別のマシンで使いたいときにこれを使います。を押して **開始**、次に次をコピーします **リモートURL** または次をスキャンします **QR** コード。 `オンライン` とは、そのリンクが単に要求されたというだけでなく、すでに応答していることを意味します。

知っておくべきことが3つあります：

* URLとパスワードを持っている人なら誰でもサインインできます。リモートブラウザーはとしてログインします `unsloth`、それを次の項目で設定してください **リモートパスワード**.
* URLは起動のたびに新しくなり、固定できません。
* 生の `0.0.0.0` ポートは開いたままです。閉じられるのは `--secure` だけです。

もし **開始** がグレー表示になっている場合、カードに理由が表示されます。通常は管理者パスワードの変更がまだ必要であるか、トンネルが起動コマンドに属しているためです。

#### Startが使用できないとき

<table><thead><tr><th width="292">理由</th><th>表示されるメッセージ</th></tr></thead><tbody><tr><td><code>server_starting</code></td><td>Unslothはまだ起動中です。</td></tr><tr><td><code>admin_password_change_required</code></td><td>このサーバーを公開する前に、リモートパスワードを設定してください。 <em>(デスクトップ)</em> / このサーバーを公開する前に管理者パスワードを変更してください。デスクトップアプリでは、次を実行します <code>unsloth studio reset-password</code>. <em>(ブラウザー)</em></td></tr><tr><td><code>explicitly_disabled</code></td><td>この起動では <code>--no-cloudflare</code>。リモートアクセスを有効にするには、それなしで再起動してください。</td></tr><tr><td><code>launch_managed</code></td><td>このトンネルは起動コマンドによって管理されています。</td></tr><tr><td><code>colab_managed</code></td><td>このトンネルはColabランタイムによって管理されています。</td></tr><tr><td><code>Colab</code></td><td>リモートアクセス設定はColabランタイムによって管理されています。</td></tr></tbody></table>

#### UIの残りの部分におけるトンネルURL

トンネルがオンラインになると、次の2か所が自動的にそれに切り替わります：

* **設定 → API → 使用例** が追加されます **Secure HTTPS** トグルです。オンにすると、curl/Python/JavaScriptの各スニペットとコーディングエージェントのコマンドはすべて、次を基準に書き換えられます `trycloudflare.com` ベースを使うようになり、 `localhost`。もし次を付けずに起動していない場合は `--secure`、情報ツールチップが次のように表示されます： *"0.0.0.0ポートは依然としてグローバルに到達可能です。完全な安全性のため、Unslothは次を付けて起動してください `--secure` このHTTPSリンクだけを公開するように。"*
* その **APIモニター** ページの **ベースURL** 表示にはトンネルの起点が示されるため、そこでコピーしたスニペットはリモート端末から動作し、トンネル経由で到着する各リクエストはライブで一覧表示されます。

### CLI: HTTPSのみの方法

Unslothを手動でインストールしたら、端末で次を実行します：

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

Unslothは次にバインドされたままです `127.0.0.1` 、そして公開されます **のみ** トンネル経由で。トンネルを立ち上げられない場合、Unslothは **フォールバックせずに終了します** 生のポートへ。バナーには次が表示されます：

```
🦥 Unsloth Studio is running (secure)
────────────────────────────────────────────────────
  Secure link access via Cloudflare: https://<random>.trycloudflare.com
  このマシン上のみ: http://127.0.0.1:8888/
────────────────────────────────────────────────────
```

#### CLI: 生のLANポートと公開リンク

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

生のポートはネットワーク上から引き続き到達可能です *そして* 公開Cloudflare URLが公開されます。これが最もプライバシーの低いモードであるため、バナーはまさにこの点を警告します。

#### UI: すでに実行中のサーバーでリンクを開始する

1. 開く **設定 → API**.
2. 次の **リモートアクセス** カードを見つけます。
3. クリックします **開始**.
4. ステータスが次のとき **オンライン**、次をコピーします **リモートURL** または次をスキャンします **QR** コードをスマートフォンで読み取ります。

### 🖥️ CLIリファレンス

両方のフラグは次で受け入れられます `unsloth studio` （プレーンサーバー経路）および次でも `unsloth studio run`.

<table><thead><tr><th width="283">フラグ</th><th width="100" align="center">デフォルト</th><th>効果</th></tr></thead><tbody><tr><td><code>--secure</code> / <code>--no-secure</code></td><td align="center">オフ</td><td>公開 <strong>のみ</strong> Cloudflare経由で。ループバックバインドを強制し、次を意味します <code>--cloudflare</code>、そしてトンネルを開始できない場合はクローズド失敗します。</td></tr><tr><td><code>--cloudflare</code> / <code>--no-cloudflare</code></td><td align="center">オフ</td><td>次のために公開Cloudflare URLも公開します <strong>非<code>--api-only</code> ワイルドカードバインド</strong> (<code>0.0.0.0</code> または <code>::</code>）。ループバックバインドには影響しません。 <code>--no-cloudflare</code> それをオフに強制しますが、 <strong>しません</strong> ワイルドカードバインドをプライベートにすることはありません。</td></tr></tbody></table>

フラグ処理に関する注意：

* `--secure` 無視します `-H`。別のホストを渡すと注意を表示し、次にバインドします `127.0.0.1` 。
* `「--secure --no-cloudflare」は矛盾しており、終了コードで終了します` は矛盾しており、終了コードで終了します `2`.
* これらのフラグはプレーンサーバー経路に属します。これらを *先に* サブコマンド（`unsloth studio --secure run ...`）に置くと終了します `2` 。Typerがそうしないと静かに破棄してしまうため、修正されたコマンドが表示されます。次を使ってください `unsloth studio run --secure ...`.
* この選択は、Unsloth内部の再実行をまたいで3状態（`有効` / `無効` / `未設定`）として引き継がれるため、古い `Docker ENV` または `systemd Environment=` は、この呼び出しでオプトアウトしたトンネルを再度有効化することはありません。

#### 各起動が実際に公開するもの

<table><thead><tr><th width="391">起動</th><th>生のポート</th><th>公開Cloudflare URL</th></tr></thead><tbody><tr><td><code>unsloth studio</code></td><td>このマシンのみ</td><td>いいえ</td></tr><tr><td><code>unsloth studio --cloudflare</code></td><td>このマシンのみ</td><td>いいえ、このフラグはループバックでは何もしません</td></tr><tr><td><code>unsloth studio -H 0.0.0.0</code></td><td>あなたのネットワーク</td><td>いいえ</td></tr><tr><td><code>unsloth studio -H 0.0.0.0 --cloudflare</code></td><td>あなたのネットワーク</td><td><strong>はい</strong></td></tr><tr><td><code>unsloth studio --secure</code></td><td>このマシンのみ</td><td><strong>はい</strong>、そしてそれが唯一の入り口です</td></tr><tr><td><code>unsloth studio --api-only</code> (デスクトップバックエンド)</td><td>バインドされたまま</td><td>いいえ、ただし <code>--secure</code></td></tr><tr><td>Google Colab</td><td>Colabプロキシ</td><td>次の場合にのみ <code>start(cloudflare=True)</code></td></tr></tbody></table>

バックエンドが適用するルール：Colabは起動経路からは決してトンネルしません。 `--secure` 常にトンネルします（ `--api-only`、ヘッドレスの安全なAPI提供のためでも）；それ以外では、トンネルは次でないワイルドカードバインドの場合にのみ開始されます `--api-only`.

#### `--secure` クローズド失敗します

トンネルが立ち上がらない場合、 `--secure` 実行を継続することを拒否します：

```
安全なCloudflareリンクは許可されていません。0.0.0.0リンクを提供する --no-secure を使用してください
```

そして終了します `1`。これは意図的です： `--secure` は「生の公開ポートなし」を意味するため、公開されていると思っているループバック専用サーバーに黙って劣化するより、停止するほうがましだからです。

#### 起動バナーの行

ワイルドカードバインドでは、Unslothは常にトンネルの状態を表示するため、ネットワークから到達可能な起動が黙って行われることはありません：

* Cloudflareトンネル: ON。これは公開インターネットURLです。これを持っている人なら誰でもこのUnslothに到達できます。
* Cloudflareトンネル: ON。このCloudflare URLは公開されており、生のポートも公開到達可能です。
* Cloudflareトンネル: 要求されましたが、開始に失敗しました。
* Cloudflareトンネル: OFF（デフォルト）。/ OFF（--no-cloudflare）。/ このモードではOFF。

各バリエーションは、生のポートが独立してインターネットから到達可能と判定されたかどうかに応じて調整されます。この到達性プローブは次を接続します `ifconfig.me` そして `check-host.net`；を設定します `UNSLOTH_STUDIO_DISABLE_PUBLIC_CHECK=1` を設定すると、両方をスキップできます。

#### パスワードゲート

起動が公開URLでUnslothを公開しようとする最初のときに、管理者アカウントがまだ自動生成されたブートストラップパスワードを保持していると、Unslothは停止し、新しいパスワードをマスク付きで確認付きで求めます、 **サーバーやトンネルが存在する前に**.

* **端末接続あり：** 入力を求められます。中止（Ctrl+C）すると起動は拒否されます。
* **端末なし：** 代わりにUnslothは警告し、ブートストラップ資格情報を公開ページに注入することはなく、ブートストラップの期限を設定します。 `UNSLOTH_STUDIO_BOOTSTRAP_TIMEOUT` （デフォルト1時間）、パスワードが変更されるまで。
* **端末なし、かつ期限なし** (`--api-only`、または `UNSLOTH_STUDIO_BOOTSTRAP_TIMEOUT=0`）：何も保護できないため、起動は完全に拒否されます。
* **`--secure` を `cloudflared` 利用できないことが明確な場合：** シードされたパスワードは保持されたまま拒否されるため、トンネル失敗で締め出されることはありません。

ヘッドレス環境では、初期パスワードを非対話的に設定します（まだ設定されていない場合にのみ有効です）：

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

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

文字通りの `--password VALUE` は次に表示されます `ps` およびシェル履歴に表示されるため、環境変数または標準入力を使うことを推奨します。後で次でローテーションできます `unsloth studio reset-password`.

### 📓 Google Colab

`run_server` Colabではすでにポートがプロキシされているため、run\_serverは起動経路のトンネルを抑制します。共有可能な公開リンクを明示的に要求します：

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

管理者アカウントにまだブートストラップパスワードが残っている間は、Colabはリンクを開くことを拒否します。その資格情報はページを読み込める人なら誰でも見えてしまいます。ログインしてパスワードを変更し、再実行してください。失敗するとすべて「リンクなし」に収束し、Colabプロキシは引き続き動作します。

### 🔒 セキュリティ

Unslothを公開するということは、URLを持っている人なら誰でも **そして** 資格情報があれば使えることを意味します。

* **サーバー側ツールはあなたのユーザーとして実行されます。** Web検索、Python、端末実行はデフォルトで有効なので、APIキーでサーバーに到達した人は誰でもそのマシンでコードを実行できます。公開するときは次を渡し、 `--disable-tools` APIキーは秘密にしてください。ネットワークから到達可能な起動では、すべてバナーにこれが表示されます。
* **管理者パスワードのゲート** 上記は、起動管理のトンネルでは省略できません。
* **レート制限は訪問者ごとに維持されます。** トンネルの終端は `127.0.0.1`なので、トンネル経由の呼び出し元は本来すべて1つのバケットを共有します。ソケットの相手がループバックの場合、UnslothはCloudflareの `CF-Connecting-IP`を尊重します。これはエッジが設定し、トンネル経由のクライアントが偽造できないものです。独自のリバースプロキシの背後では、次を有効にしてください `X-Forwarded-For` を `UNSLOTH_STUDIO_TRUST_FORWARDED=1`.
* **トンネルが有効な間、ローカルstdio MCPサーバーは取り消されます。** stdio MCPの自動有効化は、ループバックの利便性としてのみ有効です。リモートコネクタはその信頼境界を壊すため、自動デフォルトは自動的にオフになります。明示的な `UNSLOTH_STUDIO_ALLOW_STDIO_MCP=1` が指定されていれば、それが優先されます。
* **URLはランダムで使い捨てです。** Quick Tunnelsは起動ごとに新しいホスト名を取得します。URLそのものを秘密として扱い、固定する方法はないことを覚えておいてください。

### ❔ トラブルシューティング

これらはリモートアクセスカードに表示される正確なステータスです。それ以外は一般的な次の項目にまとめられます `Cloudflareトンネルに失敗しました`.

| エラー                         | 意味                                          | 修正                                                                                              |
| --------------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `cloudflaredを利用できません`       | オンになっていない `PATH`、キャッシュされておらず、ダウンロードに失敗しました。 | 次へのアウトバウンドアクセスを確認してください `github.com`、または次をインストールしてください `cloudflared` 自分で、そうすれば次の場所にあります `PATH`. |
| `cloudflaredがURLを生成しませんでした` | 生成する前にプロセスが終了しました。                          | 通常は外向きネットワークがありません。再試行し、プロキシまたは外向きフィルターを確認してください。                                               |
| `cloudflaredが接続を登録しませんでした`  | URLは生成されたが、次の後にエッジ接続がありませんでした `http2` 再試行。  | あなたのネットワークはQUICをブロックしています *そして* CloudflareのエッジへのHTTP/2です。                                       |
| `Cloudflare URLに到達できませんでした` | 登録はされたものの、ヘルスプローブは公開URL経由で応答しませんでした。        | 一時的なエッジ/DNS伝播です。もう一度Startを押してください。                                                              |
| `cloudflaredが終了しました`        | オンライン中にコネクタが終了しました。                         | もう一度Startしてください。OOM killerや、子プロセスを回収するプロセス監視を確認してください。                                          |
| `cloudflaredを停止できませんでした`    | 終了確認がなかったため、スロットはまだ保持されたままです。               | もう一度Stopを押してください。それでも続く場合はUnslothを再起動してください。                                                    |

その他の症状：

* **`--secure` すぐに終了します。** トンネルに失敗しました。メッセージでは `--no-secure` を代替として示します。まず接続性を修復してください。 `--no-secure` 生のポートを公開します。
* **UIでStartがグレー表示になっています。** カードの下のメッセージを読んでください。上の表にあるブロック理由が示されています。

### 🌱 環境変数

| 変数                                    | 目的                                                                         |
| ------------------------------------- | -------------------------------------------------------------------------- |
| `UNSLOTH_STUDIO_HOME`                 | インストール先のルート。 `cloudflared` キャッシュは次にあります `<root>/bin`.                      |
| `UNSLOTH_STUDIO_BOOTSTRAP_TIMEOUT`    | 保護されていない公開起動が自動停止するまでの秒数。デフォルト `3600`; `0` で無効になります（そしてヘッドレスの公開起動は拒否されます）。 |
| `UNSLOTH_STUDIO_PASSWORD`             | ヘッドレス起動用の初期管理者パスワード。                                                       |
| `UNSLOTH_STUDIO_DISABLE_PUBLIC_CHECK` | `1` ワイルドカードバインド時にサードパーティの生ポート到達性プローブをスキップします。                              |
| `UNSLOTH_STUDIO_TRUST_FORWARDED`      | `1` 尊重します `X-Forwarded-For` 自分のリバースプロキシの背後で。                               |
| `UNSLOTH_STUDIO_ALLOW_STDIO_MCP`      | `1` トンネルが有効でもstdio MCPサーバーを有効のままにします； `0` 強制的に無効化します。                      |

### 🌐 HTTP API

4つすべてに次が必要です **UIセッション、** APIキーは次で拒否されます `403 リモートアクセスにはUIセッションが必要です。` 拒否された操作は次を返します `409` ブロック理由を詳細として。

<table><thead><tr><th width="100">メソッド</th><th>パス</th><th>目的</th></tr></thead><tbody><tr><td><code>GET</code></td><td><code>/api/settings/remote-access</code></td><td>現在の状態、URL、所有者、 <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>設定所有の開始をスケジュールします。冪等です。</td></tr><tr><td><code>POST</code></td><td><code>/api/settings/remote-access/stop</code></td><td>設定所有の停止をスケジュールします。自動開始の設定は変更しません。</td></tr><tr><td><code>PUT</code></td><td><code>/api/settings/remote-access/auto-start</code></td><td><code>{"enabled": true|false}</code>。Colab では拒否されます。</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/jp/ji-chu/cloudflaretounslothniyorunarimtoakusesuderkarullmwodokokarademosuru.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.
