> 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-ben/cloudflaretounslothdenarimtoakusesuwoidokokarademorkarullmwosuru.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`。スマートフォン、ノートPC、または任意のブラウザーで、どこからでも開けます。
{% 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. 次に、設定 → リモートと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` だけです。

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

#### 開始を利用できない場合

<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 → 使用例** に次の項目が追加されます： **安全な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 が実行中です（セキュア）
────────────────────────────────────────────────────
  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の内部re-execをまたいで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トンネル: オン。これはパブリックなインターネットURLです。このURLを知っている人は誰でもこのUnslothに到達できます。
* Cloudflareトンネル: オン。このCloudflare URLはパブリックであり、生のポートにもパブリックに到達可能です。
* Cloudflareトンネル: 要求されましたが、開始に失敗しました。
* Cloudflareトンネル: オフ（デフォルト）。/ オフ（--no-cloudflare）。/ このモードではオフ。

各バリアントは、生のポートがインターネットから独立して到達可能であると検出されたかどうかに応じて変化します。その到達可能性プローブは次に接続します： `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 ではすでにポートがプロキシされているため、起動経路のトンネルを抑制します。共有可能な公開リンクを明示的に要求します：

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

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

### 🔒 セキュリティ

Unsloth を公開するということは、URL を持っている誰でも **そして** その認証情報を使えるということです。

* **サーバー側ツールはあなたのユーザーとして実行されます。** Web 検索、Python、ターミナル実行はデフォルトで有効になっているため、あなたの API キーでサーバーに到達した誰でもそのマシン上でコードを実行できます。Unsloth を公開する際は `--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 Tunnel は起動のたびに新しいホスト名を取得します。URL 自体を秘密として扱い、固定できないことを覚えておいてください。

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

これらは Remote access カードに表示される正確なステータスです。それ以外は一般的な `Cloudflare トンネルに失敗しました`.

| エラー                            | 意味                                           | 対処                                                                             |
| ------------------------------ | -------------------------------------------- | ------------------------------------------------------------------------------ |
| `cloudflared を利用できません`         | 存在しません `PATH`、キャッシュもなく、ダウンロードにも失敗しました。       | 外向きアクセスを確認してください: `github.com`、またはインストールしてください `cloudflared` 自分で行い、これが `PATH`. |
| `cloudflared が URL を生成しませんでした` | 生成される前にプロセスが終了しました。                          | 通常は外向きネットワークがありません。再試行し、プロキシまたは送信フィルタを確認してください。                                |
| `cloudflared は接続を登録しませんでした`    | URL は生成されたが、次の後もエッジ接続がありませんでした: `http2` 再試行。 | ネットワークが QUIC をブロックしています *そして* Cloudflare のエッジへの HTTP/2。                        |
| `Cloudflare の URL に到達できませんでした` | 登録はされたが、ヘルスプローブが公開 URL 経由で一度も応答しませんでした。      | 一時的なエッジ/DNS 伝播です。もう一度 Start を押してください。                                          |
| `cloudflared が終了しました`          | コネクタがオンライン中に停止しました。                          | もう一度開始し、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>開始可能</code> / <code>停止可能</code>, <code>ブロック理由</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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://unsloth.ai/docs/jp/ji-ben/cloudflaretounslothdenarimtoakusesuwoidokokarademorkarullmwosuru.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
