プロキシプロバイダー
proxy-providers を使うと、サブスクリプションリンクから動的に複数のノードを取得でき、各ノードを proxies に手動で記述する必要がありません。プロキシグループでは use フィールドでプロキシプロバイダーを読み込みます。
設定例
proxy-providers: provider1: type: http url: "http://test.com" path: ./proxy_providers/provider1.yaml interval: 3600 health-check: enable: true url: https://www.gstatic.com/generate_204 interval: 300 lazy: true filter: "(?i)港|hk|hongkong|hong kong" override: additional-prefix: "[provider1] " udp: true
基本フィールド
provider1)必須プロバイダー名。重複不可で、プロキシグループ名とは区別することを推奨します。
type必須http/file/inline から選択可能。
urltype が http の場合は必須サブスクリプションアドレス。
pathオプションダウンロード後に保存するファイルパス。未指定の場合は URL の MD5 がファイル名として使用されます。セキュリティ上の理由から、パスは HomeDir 内のみ許可され、それ以外の場所を使う場合は SAFE_PATHS 環境変数の設定が必要です。
intervalオプションプロバイダーの更新間隔(単位:秒)。
proxyオプション指定したプロキシを経由してダウンロード/更新を行います。
size-limitデフォルト 0ダウンロードするファイルの最大サイズ制限(単位:バイト)。0 は無制限を意味します。
headerオプションカスタム HTTP リクエストヘッダー。例えば認証が必要なサブスクリプションアドレスに Authorization を追加する場合などに使用します。
payloadtype が inline の場合は必須ノードの内容を直接インラインで記述します。書式は proxies と同じです。http/file の解析に失敗した場合のフォールバックノードとしても使用されます。
health-check ヘルスチェック
| フィールド | 説明 |
|---|---|
enable | 有効にするかどうか |
url | ヘルスチェック用アドレス。https://www.gstatic.com/generate_204 または https://cp.cloudflare.com を推奨 |
interval | チェック間隔(単位:秒) |
timeout | タイムアウト時間(単位:ミリ秒) |
lazy | デフォルト true。プロバイダー内のノードが未使用の場合はテストを行いません |
expected-status | 期待する HTTP レスポンスステータスコード。書式はプロキシグループ共通フィールドを参照 |
override オーバーライド
このプロバイダー内のすべてのノードのフィールドをまとめてオーバーライドします。よくある使い方:
| フィールド | 説明 |
|---|---|
additional-prefix / additional-suffix | ノード名にまとめて接頭辞/接尾辞を追加 |
proxy-name | 正規表現でノード名の内容を置換します。pattern でマッチ、target で置換($1 によるグループ参照に対応) |
udp / tfo / mptcp / skip-cert-verify / dialer-proxy / interface-name / routing-mark / ip-version | 共通フィールドをまとめてオーバーライドします。意味は各共通フィールドの説明と同じです |
up / down | 帯域幅をまとめて設定(Hysteria/Hysteria2 専用) |
udp-over-tcp | UDP over TCP をまとめて設定(Shadowsocks 専用) |
フィルターと復号
filter / exclude-filterオプションキーワードや正規表現でノードをフィルター/除外します。複数の正規表現は ` で区切ります。
exclude-typeオプション正規表現には対応していません。| で区切り、ノードタイプ単位で除外します。例:"ss|http"。
age-secret-keyオプションサブスクリプションファイルが age で暗号化されている場合、このキーを入力すれば自動的に復号されます。対応するキーは mihomo age keygen で生成できます。
プロバイダーファイル自体の書式(YAML / URI / Base64 の3種類)についてはプロキシプロバイダーのコンテンツを参照してください。