まずProfile・サブスクリプション・ローカル設定の違いを確認

iPhone用クライアントでいうProfileは、通常、選択して使う設定一式を指します。プロキシノードやグループ、リクエストのルーティングルール、DNS設定などが含まれます。Profileを切り替えると設定一式が切り替わります。同じProfile内で別のノードを選ぶ操作は、プロキシグループの選択肢を変更するだけです。

サブスクリプションは、通常、設定を取得するためのリモートURLです。サブスクリプションURLをクライアントに登録すると、クライアントが取得した内容から、選択して使えるリモートProfileが作成されます。サブスクリプションURL自体は、現在動作中の設定ではありません。サーバー側で内容が変更されても、クライアントで更新が完了するまでは、新しいルールやノードはローカル設定に反映されません。

名称クライアントでの役割主な操作
Profile設定一覧から選んで使う設定一式名前を付ける・選択する・削除する
サブスクリプションリモート設定を取得するためのURL登録・手動更新
ローカル設定ファイルから読み込む、または端末に保存した設定読み込み・編集・バックアップ

混同しやすいものとして、設定ファイル内のproxy-providersでノードプロバイダーのURLを参照するケースがあります。これは設定で使うノード情報を更新するためのもので、設定一覧に別のProfileとして追加されるわけではありません。何を変更しているのか判断するには、操作が「設定一覧」で行われているのか、YAMLファイルの内容で行われているのかを確認しましょう。

リモートProfileを追加する:URLを確認してから登録

ここでは、「設定」または「Profiles」の一覧があるiPhone用Clashクライアントを例に説明します。クライアントによって「設定」「Profiles」「設定ファイル」など表示名やボタンの位置が異なります。別のアプリと同じ画面を探すのではなく、機能を目安に操作してください。登録前に、手元のURLが利用中のクライアントで読み込める設定URLか確認しましょう。サービスのログインページや請求ページ、単一ノードの共有リンクとは異なります。

  1. 信頼できる配布元から設定のサブスクリプションURLをコピーします。クエリパラメーターが登録情報に使われている場合があるため、URLを手作業で加工せず、そのまま控えておきましょう。
  2. クライアントの「設定」または「Profiles」一覧を開き、「追加」または右上のプラスボタンをタップして、「URLから読み込む」「リモート設定」などを選びます。
  3. URLを貼り付け、「普段使い」など見分けやすい名前を入力します。更新間隔の設定が必要な場合は、まず既定値のままにしておきましょう。
  4. 保存したら、ダウンロードと解析が完了するまで待ちます。一覧に新しい項目が表示されたら、詳細を開いてノードやプロキシグループがあるか確認します。
  5. 追加したProfileを選択して現在の設定にします。続いて、出力モードとプロキシグループの選択を確認し、システムのVPN接続を開始します。

サブスクリプションURLにはアカウントを識別する情報が含まれていることがあります。URL全体を公開スクリーンショットや質問投稿、共有ノートに載せないでください。問題を調べるときは、エラーメッセージと読み込み方法だけを伝えましょう。

読み込みに失敗したら、まず「ダウンロード失敗」と「解析失敗」を切り分けます。前者はネットワーク、URLの欠落、サブスクリプションの有効性を確認してください。後者は、取得した内容がクライアント対応のClash形式か確認します。Webページが開けても、有効なYAMLが返されるとは限りません。サービス側がClash用と他のクライアント用の形式を別々に提供している場合は、利用中のクライアントに対応するものを選んでください。

ファイルから追加する:用途を固定したい場合や手動編集に

.yamlまたは.ymlファイルがある場合は、まずiPhoneの「ファイル」アプリに保存し、クライアントの「ファイルから読み込む」「ローカル設定」機能で選択します。システムの共有メニューから読み込めるクライアントもあります。読み込み後はProfile一覧に戻って選択してください。「ファイル」アプリに保存しただけでは、クライアントに読み込まれたことにはなりません。

ローカル設定は、ルールを試す場合や動作するバージョンを残す場合、リモートURLに依存しない設定を管理する場合に便利です。YAMLを編集するときはインデントをスペースで統一し、正常に動作するコピーを先に保存してください。Clashとmihomoでは対応するフィールドに違いがあります。特定のコアでのみ認識されるフィールドを含む設定は、別のクライアントでファイルを読み込めても、解析時に未対応と表示されることがあります。

原因を特定しやすいルールの例

「特定のドメインが想定したプロキシグループを通らない」場合は、ノード一覧だけでなく、まず現在のProfileのルールを確認します。ルールは設定内の順に評価され、先に一致したルールで出力先が決まることがあります。プロキシグループ名も、この設定で定義された名前と一致している必要があります。ローカルファイルを変更したら、クライアントの案内に従って保存・再読み込みし、新しい接続でテストしてください。

複数の設定に名前を付けて更新・切り替える

設定が増えたら、クライアント名を繰り返すのではなく、用途が分かる名前を付けましょう。「普段使い」「仕事用ネットワーク」「ローカルテスト」なら、「設定1」「設定2」より見分けやすくなります。設定一覧の項目を長押しするか、項目横のメニューから「名前を変更」「表示名を編集」を探してください。リモート設定の編集画面で表示名を変更するクライアントもあります。通常、名前の変更は端末上の一覧表示に反映されるだけで、リモートのサブスクリプション内容は変わりません。

リモート設定を更新する

  1. Profile一覧で更新したいリモート設定を探し、「更新」または「再読み込み」を実行します。その設定を選択しただけでは更新されません。
  2. 更新が完了するまで待ちます。成功したら、ノード数、プロキシグループ、ルールが想定どおりか確認し、現在選択中のProfileもチェックしましょう。
  3. 更新に失敗しても、古い設定はすぐに削除せず残しておきます。ネットワーク、サブスクリプションの有効期限、サービスが提供する形式を確認してから再試行してください。

リモート設定を次回更新すると、その設定のコピーに直接加えた変更が上書きされることがあります。カスタムルールを継続して使う場合は、クライアントにオーバーライドやマージ機能があるか確認してください。機能がなければローカル設定として別に保存し、「サブスクリプションに追従する設定」と「自分で管理する設定」を分けましょう。自動更新の可否や確認間隔は、クライアントやシステムの稼働状況によって異なります。

使用中のProfileを切り替える

「設定」または「Profiles」一覧に戻り、使いたい項目をタップします。選択マークや現在の設定名が変わったことを確認してください。次にプロキシグループ画面を開き、ルールモードで各グループに選ばれている項目を確認します。2つのProfileに同じ「PROXY」というグループがあっても、含まれるノードは異なる場合があります。前の設定での選択から、切り替え後の出力先を判断しないようにしましょう。

切り替え後、ブラウザーでページを開き直すか、確認したいアプリからリクエストを再実行します。既存の接続は切り替え前のセッションを引き継ぐことがあります。結果がすぐに変わらない場合は、関連するページを閉じて再度試してください。クライアントから接続の再起動を求められたら、案内に従っていったん切断してから再接続し、iPhoneの「設定」→「VPN」で接続状態を確認します。

複数設定の管理でよくある3つの誤解

更新は成功したのに、古い設定のまま使っている

更新したのは一覧内の特定の項目で、現在選択中の設定とは限りません。まず更新結果に表示された名前を確認し、次に現在の設定名を確認してください。同じURLを何度も登録すると、似た項目が複数並ぶ場合があります。新しい項目が使えると確認できるまでは、名前だけで古い項目を削除しないようにしましょう。

設定を変えても、ルールモードで違いが分からない

まず、クライアントがルール・グローバル・直結のどのモードになっているか確認します。通常、グローバルモードでは設定内の個別ルールに従って出力先が決まるわけではありません。直結モードも、別の設定にプロキシルールが追加されたからといって、自動的にプロキシ経由にはなりません。ルールモードに戻してから、対象ドメインに適用されるルールとプロキシグループを確認してください。モードの名称はクライアントの画面に従います。

設定は選択できるのに、システム接続が確立しない

Profileが提供するのは動作設定で、iPhoneのシステムVPN接続は別の仕組みです。初回の有効化時は、システムの案内に従ってVPN設定の追加を許可してください。その後、クライアントで接続状態を確認し、「設定」→「VPN」でシステム側の状態も確認します。デスクトップ向けの説明にある7890などのローカルプロキシポートを、iPhoneのシステムVPNで手入力するポートと混同しないでください。

元に戻せる設定を残しておく

サブスクリプションURL、ルール、DNS設定を変更する前に、現在動作しているProfileの名前、出力モード、重要なプロキシグループの選択を控えておきましょう。ローカルYAMLは変更前のコピーを保存し、リモートサブスクリプションは配布元のURLを控えて、該当アカウントに引き続きアクセスできることを確認してください。エクスポートやバックアップの際も、ファイルにノードの認証情報やサブスクリプション情報が含まれる可能性に注意しましょう。

普段の使い方はシンプルにできます。安定したリモート設定を通常の接続に使い、変更を試すためのローカル設定を1つ用意します。切り替えるときはProfileを選び、モードとプロキシグループを確認してから、新しいリクエストで動作を検証します。問題が起きても、サブスクリプションの更新、設定の切り替え、システム接続のどれが原因か判断しやすくなります。