dialer-proxy
指定した proxies が別のプロキシグループ/出口プロキシを経由してネットワーク接続を確立するようにし、プロキシチェーンを構成します。自分の VPS 着地ノードの実際の IP を保護したり、内外ネットワーク分離環境を突破したりする場面でよく使われます。
基本的な使い方
proxies: - name: "ss1" dialer-proxy: dialer # ... - name: "ss2" # ... proxy-groups: - name: dialer type: select proxies: - ss2 rules: - MATCH,ss1
上記の例では、ss1 は ss2 を経由して接続を確立し、プロキシチェーンは次のようになります:コア --ss1--> ss2 でラップ --ss2--> ss2 サーバー --ss1--> ss1 サーバー --> 宛先。最終的な挙動は次の通りです:
- 対象サイトからは ss1 の IP しか見えないss2 の存在は分からない
- 契約しているインターネットプロバイダーからは ss2 にアクセスしているようにしか見えないss1 の存在は分からない
- ss2 サーバーは ss1 に転送していることしか分からない最終的にどのサイトにアクセスしているかは分からない
よくある場面:自前 VPS 着地の保護
proxies: - name: "ss1" dialer-proxy: dialer # ... proxy-providers: provider1: type: http url: "http://test.com" proxy-groups: - name: dialer type: select use: - provider1 rules: - MATCH,ss1
サブスクリプションアドレスを provider1 に、自分の VPS 上に構築したノードを ss1 に設定すると、ブラウザでアクセスした際に表示されるのは ss1 の IP になります。
特別な理由がない限り、中継される着地 VPS ノードには hy2/tuic/wg などの UDP 系プロトコルを選ばないでください。また reality/shadowtls など TLS 偽装を伴うプロトコルも避けてください——サブスクリプションのノードがこれらのプロトコルを正常に運べない場合があります。最もシンプルな SS-AEAD または VMess を選ぶことをお勧めします。
relay からの移行
relay タイプのプロキシグループは既に非推奨となっています(relay を参照)が、プロキシグループ自体は dialer-proxy を直接サポートしていません。元の relay に複数の select グループが含まれていた場合は、proxy-providers の override を使ってまとめて dialer-proxy を設定することで移行できます:
proxies: - { name: "proxy1", type: "socks" } - { name: "proxy2", type: "socks" } proxy-groups: - { name: "select1", type: select, proxies: ["proxy1", "proxy2"] } - { name: "select2", type: select, use: ["provider1"] } proxy-providers: provider1: type: inline override: dialer-proxy: select1 payload: - { name: "proxy3", type: "socks" } - { name: "proxy4", type: "socks" } rules: - MATCH,select2
考え方としては、元の relay の後半のノード(proxy3/proxy4)を inline タイプの proxy-providers 内に定義し、override.dialer-proxy でまとめて select1 を経由するように設定します。これにより元のチェーンプロキシと同等の効果が得られます。