プロキシを使用する
ネットワーク環境で LLM API やその他の外部サービスにアクセスするためにプロキシサーバーが必要な場合、Elftia では柔軟なプロキシ設定オプションを利用できます。
プロキシモード
Elftia は 3 つのプロキシモードをサポートしています。
| モード | 動作 | 用途 |
|---|---|---|
| システムプロキシ | オペレーティングシステムのプロキシ設定に従います | システムレベルでプロキシを設定済みのユーザー |
| カスタムプロキシ | Elftia で指定したプロキシアドレスを使用します | Elftia 用に個別のプロキシが必要なユーザー |
| プロキシなし | プロキシを使わず直接接続します | ネットワークからすべてのサービスに直接アクセスできる場合 |
設定手順
方法 1: 設定ページで設定する
- 設定 → 一般 を開きます。
- プロキシ 設定エリアを見つけます。
- プロキシモードを選択します。
システムプロキシ
「システムプロキシ」を選択すると、Elftia はオペレーティングシステムのプロキシ設定を自動的に検出して使用します。
- Windows: インターネットオプションからプロキシ設定を読み取ります。
- macOS: システム環境設定からネットワークプロキシ設定を読み取ります。
- Linux:
http_proxy/https_proxy環境変数を読み取ります。
これは最も簡単な方法です。オペレーティングシステムですでにプロキシを設定している場合(例: Clash、V2Ray、または同様のプロキシクライアント経由)、このオプションを選択してください。
カスタムプロキシ
「カスタムプロキシ」を選択すると、プロキシアドレスを入力するための入力欄が表示されます。
- 次の形式でプロキシ URL を入力します。
または認証付きの場合:http://host:porthttp://username:password@host:port
- 一般的な例:
- ローカル HTTP プロキシ:
http://127.0.0.1:7890 - ローカル SOCKS5 プロキシ:
socks5://127.0.0.1:1080 - 認証付きプロキシ:
http://user:[email protected]:8080
- ローカル HTTP プロキシ:
- 保存 ボタンをクリックして設定を適用します。
プロキシなし
「プロキシなし」を選択すると、Elftia はすべてのプロキシ設定をスキップし、対象サーバーへ直接接続します。
方法 2: 環境変数で設定する
システム環境変数を使ってプロキシを設定することもできます。Elftia はこれらを自動的に認識します。
| 環境変数 | 目的 |
|---|---|
HTTP_PROXY | HTTP リクエスト用のプロキシアドレス |
HTTPS_PROXY | HTTPS リクエスト用のプロキシアドレス |
ALL_PROXY | すべてのリクエスト用のプロキシアドレス(上記 2 つが設定されていない場合) |
NO_PROXY | プロキシを使用しないドメインのカンマ区切りリスト |
Windows で環境変数を設定する:
# PowerShell (permanent for current user)
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://127.0.0.1:7890", "User")
macOS / Linux で環境変数を設定する:
# Add to ~/.bashrc or ~/.zshrc
export HTTPS_PROXY="http://127.0.0.1:7890"
export HTTP_PROXY="http://127.0.0.1:7890"
Elftia のプロキシモードが「カスタムプロキシ」に設定されている場合、アプリ内で設定したプロキシアドレスが環境変数より優先されます。「システムプロキシ」に設定されている場合は、環境変数とシステムプロキシ設定の両方が考慮されます。
プロキシを使用するサービス
プロキシ設定は、次のネットワークリクエストに影響します。
| サービス | 説明 |
|---|---|
| LLM API 呼び出し | すべての LLM プロバイダー(OpenAI、Anthropic、Gemini など)への API リクエスト |
| MCP 接続 | MCP サーバーへの SSE/HTTP 接続(stdio モードは影響を受けません) |
| Web 検索 | Agent の Web 検索および Web スクレイピングリクエスト |
| 自動更新 | アプリケーション更新の確認とダウンロード |
| リモートリソース | 壁紙画像やリモートフォントなどのリモートリソースの読み込み |
次のサービスはプロキシの影響を受けません。
| サービス | 理由 |
|---|---|
| MCP stdio 接続 | ローカルのサブプロセス通信を使用し、ネットワークを使用しません |
| ローカルファイル操作 | Agent のファイル読み書き、Shell コマンドなど |
| データベース操作 | SQLite ローカルデータベース |
プロキシ認証
プロキシでユーザー名とパスワードによる認証が必要な場合:
- カスタムプロキシ URL に認証情報を含めます。
http://username:[email protected]:8080
- または、一部のプロキシクライアントでは、ローカルで認証不要の転送ポートを有効にできます。そのポートへ接続できます。
プロキシが動作しているか確認する
プロキシを設定した後、次の手順で動作していることを確認できます。
- 設定 → プロバイダー設定 を開きます。
- API Key が設定済みのプロバイダーを選択します。
- 接続テスト をクリックします。
- テストが成功した場合(緑色の通知)、プロキシ設定は正しいです。
- テストが失敗した場合は、次を確認してください。
- プロキシアドレスとポートが正しいか
- プロキシサービスが実行中か
- プロキシが対象 API ドメインへのアクセスを許可しているか
よくある問題
ECONNREFUSED エラー
原因: プロキシサーバーが実行されていないか、アドレスまたはポートが正しくありません。
解決策:
- プロキシクライアント(Clash、V2Ray など)が実行中であることを確認します。
- プロキシの待ち受けアドレスとポートが、Elftia で設定したものと一致しているか確認します。
- 一部のプロキシクライアントは、デフォルトで
0.0.0.0ではなく127.0.0.1のみを待ち受けます。
ETIMEDOUT エラー
原因: プロキシサーバーが対象アドレスに接続できません。
解決策:
- プロキシの上流接続が動作しているか確認します。
- プロキシルールが LLM API ドメイン(例:
api.openai.com、api.anthropic.com)へのアクセスを許可していることを確認します。 - 一部のプロキシルールパターンでは、デフォルトで API ドメインがプロキシ対象にならない場合があります。手動で追加する必要があることがあります。
SSL/TLS 証明書エラー
原因: プロキシサーバーが HTTPS 復号に自己署名証明書を使用しています。
解決策:
- プロキシでルート証明書のインストールが必要な場合は、プロキシクライアントのドキュメントに従って証明書をインストールし、信頼します。
- 一部の企業プロキシは HTTPS の中間者検査を行います。システムで企業のルート証明書を信頼する必要がある場合があります。
一部のプロバイダーでのみプロキシが動作する
原因: プロバイダーごとに API ドメインが異なり、異なるプロキシルールが必要な場合があります。
解決策:
- プロキシのルーティングルールが、必要なすべての API ドメインをカバーしていることを確認します。
- 一般的な LLM API ドメインには次のものがあります。
api.openai.comapi.anthropic.comgenerativelanguage.googleapis.comapi.deepseek.com
プロキシを設定しても接続の問題が続く場合は、より詳しいトラブルシューティング手順について 接続エラー を参照してください。