provider・プロキシグループ・選択中ノードを分ける
proxy-providers はノード集合の取得元です。リモート URL、ローカルファイル、またはインライン設定からプロキシ項目を読み込みます。proxy-groups は use でその集合を参照し、手動選択、遅延テスト、フェイルオーバーなどの方針を決めます。画面で最後に選ぶものは具体的なノード、または別の子グループです。
provider の更新成功は「内容を取得して解析できた」ことしか証明しません。グループが空なら、まず use、名前フィルター、除外プロトコルを確認します。項目があるのにすべてタイムアウトする場合は、ノードへの接続とヘルスチェック先を調べます。
HTTP・file・inline の使い分け
通常のリモート購読は type: http とし、url、固有のキャッシュ path、更新 interval を指定します。file はローカルファイルを読むだけで、リモート更新は行いません。inline は自分で保守する少数の固定ノード向けです。
YAMLproxy-providers:
main-subscription:
type: http
url: "https://provider.example/sub?token=REDACTED"
path: ./providers/main.yaml
interval: 21600
proxy: DIRECT
size-limit: 10485760
proxy は購読を取得するリクエスト自体の経路です。購読サーバーが直結で届かないなら DIRECT は不適切です。また、複数 provider で同じキャッシュパスを共有しないでください。size-limit はバイト単位で、例は 10 MiB です。異常に大きい応答を抑えますが、配布元の信頼性は保証しません。
名前とプロトコルを段階的に絞り込む
filter は名前が正規表現に一致する項目を残し、exclude-filter は一致項目を除外します。名前条件は provider 側にも、それを参照するグループ側にも設定できます。provider の exclude-type はその集合のプロトコルを除外しますが、グループ側の同名項目は公式資料上、直接追加した outbound だけが対象で、use の provider 項目は除外しません。地域別なら一つの provider を名前条件で分けます。
YAMLproxy-groups:
- name: Japan
type: select
use: [main-subscription]
filter: '(?i)(日本|東京|大阪|japan|tokyo|osaka|\bjp\b)'
exclude-filter: '(?i)(期限|残量|公式|プラン)'
判定対象は配布元が付けた表示名であり、サーバーの実所在地ではありません。名称変更だけでグループが空になることがあります。YAML と正規表現の両方がバックスラッシュを解釈するため、まずテスト用グループで一条件ずつ確認します。
ヘルスチェックが証明する範囲
ヘルスチェックは各ノード経由で指定 URL にアクセスし、遅延、タイムアウト、期待する HTTP ステータスを評価します。主な項目は enable、url、interval、timeout、lazy、expected-status です。小さく安定し、候補となる出口から到達可能な URL を選びます。
YAMLhealth-check:
enable: true
url: https://www.gstatic.com/generate_204
interval: 600
timeout: 5000
lazy: true
expected-status: 204
成功は、その時点でその URL に届いたという意味です。動画、ゲーム、特定 API の利用可否までは保証しません。逆にテスト先だけが特定出口を拒否して失敗する場合もあります。短すぎる間隔はノード数に比例して通信を増やすので避けます。
select・url-test・fallback に接続する
固定出口が必要なら select、通常のブラウジングで自動選択したいなら url-test、順序付きの主回線と予備回線なら fallback を検討します。provider のヘルスチェックとグループのテストは階層が異なり、同じ数字に見えても役割は別です。
| 用途 | 種類 | 確認点 |
|---|---|---|
| 会議・固定出口 | select | 途中で自動変更しない |
| 一般閲覧 | url-test | テスト先の偏り |
| 主系・予備系 | fallback | 順序と復旧時の動作 |
複雑な条件を付けない「全ノード」グループも残しておくと便利です。地域グループだけが空になった場合、リモート購読ではなくフィルター条件に原因を絞れます。
一層ずつ検証する
- provider を手動更新し、時刻、サイズ、解析ログを確認します。
- フィルターなしの一時グループで元の名前と件数を確認します。
- 包含、除外、プロトコル条件を一つずつ追加します。
- ヘルスチェックを実行し、空グループ、テスト失敗、対象サービス失敗を区別します。
- 最後にグループ種類や間隔を調整します。
取得内容が HTML のログイン画面、認証エラー、空ファイルなら、正規表現ではなく配布元を直します。現行項目は公式の proxy-providers 資料と proxy-groups 資料で確認できます。
変更前の設定を保存し、「取得成功」「グループに項目あり」「テスト成功」「目的サービス成功」を別々に記録してください。この順序なら、配布元の名称変更やノード入れ替えにも落ち着いて対応できます。
公式情報源とバージョン範囲
バージョン番号、ファイル名、画面表示は更新で変わる場合があります。作業前にリンク先の公式資料を確認してください。