プロキシポリシー
プロキシポリシーは、リクエストを別のプロキシサーバーに転送することを示します。ChuteはHTTP/HTTPS/SOCKS5/SOCKS5-TLS/SS/SSR/Trojan/VMess/VLESS/AnyTLS/TUIC/Hysteria2/WireGuard/ShadowTLS/MASQUE/SSHプロキシプロトコルをサポートしています。
[Proxy]セクションでプロキシポリシーを宣言します。異なるルールに対して複数のプロキシを作成できます。
例:
[Proxy]
ProxyHTTP = http, 1.2.3.4, 443, username, password
ProxyHTTPS = https, 1.2.3.4, 443, username, password, sni=example.com
ProxySOCKS5 = socks5, 1.2.3.4, 443, username, password
ProxySOCKS5TLS = socks5-tls, 1.2.3.4, 443, username, password, sni=example.com
SS = ss, 1.2.3.4, 443, method, password, obfs=http
SSR = ssr, 1.2.3.4, 443, method, password, protocol=auth_chain_f, protocol_param=user:pass, obfs=http_post, obfs_param=example.com
Trojan = trojan, 1.2.3.4, 443, password=password, tls=true, sni=example.com, skip-cert-verify=false, ws=true
VMess = vmess, 1.2.3.4, 443, uuid=uuid, sni=example.com, tls=true, ws=true
VLESS = vless, 1.2.3.4, 443, uuid=uuid, sni=example.com, xtls=true
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com
TUIC = tuic, 1.2.3.4, 443, uuid=uuid, password=password, sni=example.com
Hysteria2 = hysteria2, 1.2.3.4, 443, auth=password, sni=example.com, up=10, down=100
WireGuard = wireguard, private-key=base64key, peer-public-key=base64key, section-name=wg0, self-ip=10.0.0.2
ShadowTLS = shadowtls, 1.2.3.4, 443, password=password, sni=example.com, skip-cert-verify=false, fingerprint=chrome
ProxyMASQUE = masque, 1.2.3.4, 443, token=auth-token, mode=connect-udp, sni=example.com, alpn=h3, skip-cert-verify=false
SSH = ssh, 1.2.3.4, 22, root, password=pw
SCHEME = scheme, ssr://....
注意: Trojanポリシーには明示的な
tls=trueが必要です — TLSは暗黙に有効化されません。
パラメータ
| タイプ | ユーザー名 | パスワード | メソッド | TLS | XTLS | WebSocket | QUIC |
|---|---|---|---|---|---|---|---|
| HTTP | √ | √ | |||||
| HTTPS | √ | √ | TLS | ||||
| Socks | √ | √ | |||||
| Socks5-TLS | √ | √ | TLS | ||||
| Shadowsocks | √ | メソッド、OBFS | |||||
| ShadowsocksR | √ | メソッド、プロトコル、OBFS | |||||
| Trojan | √ | √ | TLS、フィンガープリント、ECH | WS、gRPC、XHTTP | |||
| VMess | uuid | TLS、フィンガープリント、ECH | WS、gRPC、XHTTP | ||||
| VLESS | uuid | TLS、フィンガープリント、ECH | XTLS | WS、gRPC、XHTTP | |||
| AnyTLS | √ | TLS | |||||
| TUIC | uuid | √ | TLS | √ | |||
| Hysteria2 | auth | TLS | √ | ||||
| WireGuard | private-key | ネイティブWireGuard | |||||
| ShadowTLS | √ | TLS、フィンガープリント | |||||
| MASQUE | token | TLS、モード、マルチプレクス | √ | ||||
| SSH | √ | 認証 | |
TLSを持つプロキシのパラメータ
tls: オプション。
tls=true
TLSトランスポートを有効にします。
skip-cert-verify: オプション
skip-cert-verify=true
このオプションが有効な場合、Chuteはサーバーの証明書を検証しません。
sni(デフォルト: hostname)
sni=exmaple.com
TLSハンドシェイク中にServer Name Indication(SNI)をカスタマイズできます。デフォルトでは、Chuteはほとんどのブラウザと同様にホスト名でSNIを送信します。
fingerprint: オプション。
fingerprint=chrome
システムデフォルトではなくブラウザのTLS ClientHelloを送出し、ハンドシェイクがプロキシ
クライアントのものとして目立たないようにします。指定できる値は chrome、
firefox、safari、ios に加えて edge、360、qq、android、random で、
後者はいずれもChromeとして扱われます。
TLS上のTrojan、VMess、VLESS(WebSocketおよびgRPCトランスポートを含む)に適用され ます。REALITYとShadowTLSには各セクションに同名のオプションがあります。個別に指定 のないすべてのポリシーへ一括で設定するには global-client-fingerprint を使用してください。
フィンガープリントを設定すると、耐量子鍵交換も有効になります。ChuteはX25519に 加えてX25519MLKEM768ハイブリッドグループを提示するため、今日記録された通信が 将来量子計算機を手にした攻撃者に復号されることはありません。このグループを知ら ないサーバーは単にX25519を選ぶだけなので、支障はありません。フィンガープリント を設定しない場合はシステムのTLSスタックが使われ、このグループは提示されません。 ECHにフィンガープリントが必要なのと同じ理由です。
Shadowsocksを持つプロキシのパラメータ
method: 必須。
現在のサポート:
rc4-md5
aes-128-cfb
aes-192-cfb
aes-256-cfb
aes-128-ctr
aes-192-ctr
aes-256-ctr
bf-cfb
camellia-128-cfb
camellia-192-cfb
camellia-256-cfb
salsa20
chacha20
chacha20-ietf
aes-128-gcm
aes-192-gcm
aes-256-gcm
chacha20-ietf-poly1305
xchacha20-ietf-poly1305
Shadowsocks 2022 メソッド
ChuteはShadowsocks 2022プロトコルをサポートしており、BLAKE3ベースの鍵導出とAEAD暗号を使用します。メソッド名が暗号スイートを決定します:
2022-blake3-aes-128-gcm
2022-blake3-aes-256-gcm
2022-blake3-chacha20-poly1305
パスワード形式:
SS2022のパスワードフィールドは、:(コロン)で区切られた1つまたは2つのbase64エンコードキーで構成されます。
シングルユーザーモード(1つのキー):
SS2022 = ss, 1.2.3.4, 443, 2022-blake3-aes-256-gcm, "base64-key"
アイデンティティヘッダー付きマルチユーザーモード(2つのキー):
2022-blake3-aes-128-gcmと2022-blake3-aes-256-gcmでは、アイデンティティヘッダーキーとユーザーキーを:で区切って提供できます:
SS2022 = ss, 1.2.3.4, 443, 2022-blake3-aes-256-gcm, "header-base64-key:user-base64-key"
各キーはbase64エンコードされた文字列です(標準およびURLセーフbase64の両方をサポート)。必要なキーの長さ:
| メソッド | ユーザーキー長 | ヘッダーキー長 |
|---|---|---|
2022-blake3-aes-128-gcm |
16バイト | 16バイト |
2022-blake3-aes-256-gcm |
32バイト | 32バイト |
2022-blake3-chacha20-poly1305 |
32バイト | N/A(アイデンティティヘッダー非サポート) |
キーの生成:
openssl rand -base64 32
注意: SS2022メソッドは
obfsパラメータをサポートしていません。2022-blake3-chacha20-poly1305メソッドはマルチユーザーモードをサポートしていません。
Shadowsocks AEGIS メソッド
ChuteはAEGIS系のAEAD暗号もサポートしています。AESラウンド関数の上に構築されており、ハードウェアAESを備えたプロセッサ(近年のiPhone、iPad、Apple TV、Macはいずれも該当します)では、AES-GCMやChaCha20-Poly1305より明確に高速です:
aegis-128l
aegis-256
設定方法は上記の従来のAEADメソッドと同じで、パスワードはbase64鍵ではなく通常のパスフレーズです:
AEGIS = ss, 1.2.3.4, 443, aegis-128l, your-password
| メソッド | 鍵 | Nonce | 認証タグ |
|---|---|---|---|
aegis-128l |
16バイト | 16バイト | 16バイト |
aegis-256 |
32バイト | 32バイト | 16バイト |
その他はすべてSIP004に従います: saltは鍵と同じ長さ、セッションサブキーはHKDF-SHA1(key, salt, "ss-subkey")、TCPペイロードは長さ接頭辞付きのAEADチャンクで運ばれ各操作後にnonceを増加、UDPはすべてゼロのnonceを使用します。
サーバーはご自身で用意する必要があります。 AEGISはShadowsocks仕様の一部ではありません。定義するSIPは存在せず、shadowsocks-rust、shadowsocks-libev、shadowsocks-go、sing-box、Xrayを含む主要なShadowsocksサーバーはいずれも実装していません。これらのメソッドを選んでも、対応するように構築されたご自身のサーバーに対してのみ接続できます。商用ノードや共有ノードに接続する場合は、上記の相互運用可能なメソッドをご利用ください。
obfs: オプション。
現在のサポート:
tls
http
obfs_param: オプション。
obfs_param=example.com
obfsレイヤーが使用するHostを設定します。未設定の場合のデフォルトはcloudfront.netです。
ShadowsocksR/ShadowsocksRR/ShadowsocksR-Akarinを持つプロキシのパラメータ
method: 必須。
現在のサポート:
rc4
rc4-md5-6
rc4-md5
aes-128-cfb
aes-192-cfb
aes-256-cfb
aes-128-ctr
aes-192-ctr
aes-256-ctr
bf-cfb
camellia-128-cfb
camellia-192-cfb
camellia-256-cfb
cast5-cfb
des-cfb
idea-cfb
rc2-cfb
seed-cfb
salsa20
chacha20
chacha20-ietf
protocol: オプション。
現在のサポート:
origin
auth_sha1
auth_sha1_v2
auth_sha1_v4
auth_aes128_md5
auth_aes128_sha1
auth_chain_a
auth_chain_b
auth_chain_c
auth_chain_d
auth_chain_e
auth_chain_f
auth_akarin_rand
auth_akarin_spec_a
protocol_param: オプション。
obfs: オプション。
現在のサポート:
plain
http_simple
http_post
tls1.2_ticket_auth
obfs_param: オプション。
WebSocketを持つプロキシのパラメータ
ws: オプション。
ws=true
WebSocketトランスポートを有効にします。
ws-path: オプション。
ws-path=/exmaple
WebSocket HTTPリクエストのパスを変更します。
ws-headers: オプション。
ws-headers=Header1:Value1|Header2:Value2
WebSocket HTTPリクエストのHTTPヘッダーを変更します。
gRPCを持つプロキシのパラメータ
gRPCトランスポートはTrojan、VMess、VLESSプロトコルで利用可能です。TLS上のHTTP/2ベースのgRPCフレーミングを使用し、特定のネットワーク制限を回避するのに役立ちます。
grpc: オプション。
grpc=true
gRPCトランスポートを有効にします。TLSが有効である必要があります。
grpc-service-name: grpc=trueの場合は必須。
grpc-service-name=MyService
多重化のためのgRPCサービス名/パスを指定します。サーバー側で設定されたサービス名と一致する必要があります。デフォルト値はありません。
grpc-multi-mode: オプション。
grpc-multi-mode=true
gRPCのマルチモードを有効にします。これにより、複数のストリームが単一のgRPC接続を共有してパフォーマンスが向上します。
VMessとgRPCの例:
VMess = vmess, 1.2.3.4, 443, uuid=uuid, tls=true, grpc=true, grpc-service-name=GunService, sni=example.com
XHTTPを持つプロキシのパラメータ
XHTTPトランスポートはTrojan、VMess、VLESSプロトコルで利用できます。1本の接続を 維持するのではなく、通常のHTTPリクエストの中にトンネルを収めます。ダウンロードは 終わらない1本のレスポンス、アップロードは連続したPOSTか終わらない1本のPOSTです。 CDN越しに使えるのが、WebSocketやgRPCではなくこれを選ぶ主な理由です。
HTTPバージョンは直接設定しません。TLSなしならHTTP/1.1、TLSありならHTTP/2ですが、
alpnがちょうどhttp/1.1ならHTTP/1.1、ちょうどh3ならHTTP/3になります。REALITY
は常にHTTP/2です。
xhttp: オプション。
xhttp=true
XHTTPトランスポートを有効にします。
xhttp-mode: オプション。
xhttp-mode=packet-up
アップロードの運び方です。auto(デフォルト)はpacket-upと同じで、REALITY使用時は
stream-oneと同じになります。
packet-up— アップロードは連番付きのPOSTの列。互換性が最も高く、CDNとの相性も 最良です。stream-up— アップロードは終わらない1本のPOSTで、ダウンロードは別のリクエスト。stream-one— 1つのリクエストが送受信の両方を運びます。サーバーと経路上の機器が 全二重HTTPに対応している必要があります。
サーバーは通常モードを固定しており、食い違うと400が返ります。
xhttp-path: オプション。
xhttp-path=/yourpath
リクエストパス。デフォルトは/。サーバーがXHTTPを提供しているパスと一致させます。
xhttp-host: オプション。
xhttp-host=example.com
HostヘッダーとリクエストURLに使うホスト名。デフォルトはsni、未設定ならサーバー
アドレスです。
xhttp-headers: オプション。
xhttp-headers=Header1:Value1|Header2:Value2
追加のHTTPヘッダー。書式はws-headersと同じです。
xhttp-padding: オプション。
xhttp-padding=100-1000
各リクエストが運ぶパディング長の範囲。MIN-MAXまたは単一の数値で、デフォルトは
100-1000です。サーバーはパディングを必須とし長さを検証します。範囲はサーバーが
受け入れる区間に収めてください。パディングが無い、または長さが合わない場合は400が
返ります。
xhttp-max-post-bytes: オプション。
xhttp-max-post-bytes=1000000
アップロード1回あたりのPOST最大バイト数。デフォルトは1000000。超える書き込みは複数の
POSTに分割されます。
xhttp-min-post-interval: オプション。
xhttp-min-post-interval=30
連続するアップロードPOSTの最小間隔(ミリ秒)。デフォルトは30。
xhttp-xmux-max-concurrency、xhttp-xmux-max-connections、xhttp-xmux-max-reuse-times、xhttp-xmux-max-lifetime: オプション。
xhttp-xmux-max-concurrency=4
XMUXは下位のHTTP/2接続をプールし、複数のトンネルで1本の接続を共有させます。トンネル
ごとに接続を張るのではなく、通常のブラウザセッションのように見えます。4つともデフォルトは
0で、プーリングは無効です。
xhttp-xmux-max-concurrency— 1本の接続を共有できるトンネル数。xhttp-xmux-max-connections— サーバーごとに許可する接続数。xhttp-xmux-max-reuse-times— 1本の接続が何本のトンネルを扱ったら新規受付を やめるか。xhttp-xmux-max-lifetime— 何秒経過したら新規トンネルの受付をやめるか。
XHTTPのポリシーではmux=trueは拒否されます。XHTTPは独自の多重化を備えており、汎用の
多重化を重ねると二重になるためです。
xhttp-download-server、xhttp-download-port: オプション。
xhttp-download-server=cdn.example.com
ダウンロードだけを別のアドレス(通常は同じサーバーの前段にあるCDN)経由にし、 アップロードは主アドレスのままにします。両者は同じサーバーに到達する必要があります。 セッションはサーバー側の状態なので、経路を変えるのは問題ありませんが、サーバーを 変えることはできません。
VLESSとXHTTPの例:
VLESS = vless, 1.2.3.4, 443, uuid=uuid, tls=true, xhttp=true, xhttp-mode=packet-up, xhttp-path=/yourpath, sni=example.com
XTLSを持つプロキシのパラメータ
xtls: オプション。
xtls=true
xtls-rprx-directフローでXTLSトランスポートを有効にします。XTLS Visionを使用する場合は、代わりにflowパラメータを使用してください。
flow: オプション。
flow = xtls-rprx-vision
XTLSのフロー制御を選択します。サポートされている値はxtls-rprx-visionのみで、Visionフレーミングを有効にします。フロー値はVLESSのアドオンでサーバーに送信されます。
skip-cert-verify: オプション
skip-cert-verify=true
TLSと同じです。
sni(デフォルト: hostname)
sni=exmaple.com
TLSと同じです。
REALITYを持つプロキシのパラメータ
REALITYは、プロキシトラフィックを実際のWebサイトへの通常のTLSトラフィックと区別できなくするTLSベースの難読化技術です。VLESSプロトコルで使用できます。
reality: オプション。
reality=true
REALITY難読化を有効にします。カモフラージュ先として機能するターゲットサーバーが必要です。
public-key: 必須。
public-key=BASE64KEY
サーバーのX25519公開鍵(base64)。これがないとREALITYハンドシェイクを構築できません。
short-id: オプション。
short-id=abcd1234
REALITY認証に使用される短い識別子。通常は16進数文字列です。
server-name: オプション。
server-name=www.microsoft.com
TLSハンドシェイク中に提示するSNI(Server Name Indication)。最良のカモフラージュ効果を得るために、実際によくアクセスされるWebサイトである必要があります。ターゲットサーバーの証明書はこの名前と一致する必要があります。
fingerprint: オプション。
fingerprint=chrome
模倣するTLSクライアントフィンガープリント。サポートされる値にはchrome、firefox、safari、ios、edge、360、qq、android、randomが含まれます。一般的なブラウザフィンガープリントを使用することで検出を回避できます。なお、ここではandroidとrandomは個別のフィンガープリントではなく、chromeとして扱われます(警告がログに記録されます)。
spiderx: オプション。
spiderx=/path
REALITYスパイダーカモフラージュのカスタムパス。
VLESSでの例:
VLESS = vless, 1.2.3.4, 443, uuid=uuid, reality=true, public-key=BASE64KEY, server-name=www.microsoft.com, short-id=abcd, fingerprint=chrome
注意: REALITYは従来の証明書を使用しません。接続はカモフラージュサーバーの実際の証明書を使用します。
ECHを持つプロキシのパラメータ
Encrypted Client Helloは、接続を観測している相手からサーバー名を隠します。本当の
名前はハンドシェイクの内部で暗号化され、経路上に現れるのはサーバーのECHConfigが
公開する public_name です。
ECHはクライアントフィンガープリントと同じ実装の上に載っているため、ポリシーには
fingerprint も必要です。指定がなければ ech=true は何も
せず、本当の名前がそのまま送出されます。素のTLS上のTrojan、VMess、VLESS
(WebSocketトランスポートを含む)に適用されます。
注意: gRPCトランスポートはECHをサポートしていません。
grpc=trueの場合、ech=trueは黙って無視され、本当のサーバー名がそのまま送出されます。 (クライアントフィンガープリントと耐量子鍵交換はgRPCにも適用されます。)
ech: オプション。
ech=true
ECHを有効にします。ech-config が未設定の場合、Chuteはブラウザと同じように
サーバー名のDNS HTTPSレコードからECHConfigを取得します。
ech-config: オプション。
ech-config=AEX+DQBBAAAgACD...
base64のECHConfigListで、DNS参照の代わりに使われます。サーバーがHTTPSレコードを 公開していない場合や、特定の設定に固定したい場合に指定します。
ech-public-name: オプション。
ech-public-name=cover.example.com
平文で送出されるカバー名を上書きします。デフォルトではECHConfig内の public_name が
使われ、それがサーバーの期待する値です。設定を別のホストが代理で公開している構成
でのみ指定してください。
Trojanの例:
Trojan = trojan, 1.2.3.4, 443, password=pw, tls=true, sni=secret.example.com, fingerprint=chrome, ech=true
サーバーがECHを拒否した場合(多くは設定が古くなったため)、カバー名で応答して その名前の証明書を提示するため、接続は黙って続行されるのではなく認証に失敗します。
ech-configを更新するか、削除してDNS参照に戻してください。
TCP Fast Open(実験的)
tfo: オプション
tfo=true
TCP Fast Openの詳細についてはWikipediaを参照してください。TCP Fast Openを有効にすると、予期しない接続障害が発生する可能性があります。
共通パラメータ
udp-relay: オプション(デフォルト: true)
udp-relay=false
ポリシーをTCP専用としてマークします。プロトコルがサポートしている場合、UDPリレーはデフォルトで有効です。ポリシーをUDPトラフィックのリレーから除外するにはudp-relay=falseを設定してください。
mux: オプション
mux=true
接続の再利用 / マルチプレクスを有効にします。エイリアスmultiplexとreuseも受け付けられます。Trojan、VMess、VLESS、Hysteria2、Shadowsocks(R)、ShadowTLS、MASQUEでサポートされています。
cert-fingerprint-sha256: オプション
cert-fingerprint-sha256=<hex>
SHA-256フィンガープリントによってサーバー証明書をピン留めします。エイリアスcert-fpも受け付けられます。現在はMASQUEでのみ有効です。
encrypt-method(VMess): オプション(デフォルト: auto)
encrypt-method=aes-128-gcm
VMessペイロードの暗号化。サポートされる値: aes-128-gcm、chacha20-poly1305、aes-128-cfb(エイリアスlegacy)、none。
alpn: オプション
alpn=h2|http/1.1
複数のALPN値は|で区切ります。
underlying-proxy: オプション。
underlying-proxy=OtherProxy
プロキシチェーン: 値には、このポリシーのトラフィックを運ぶべき別のポリシーの名前を指定します。設定の保存時にパースされ保持されますが、現在のカーネルでは有効ではありません — 警告がログに記録され、ポリシーは引き続き自身のサーバーに直接接続します。
注意: Clash/mihomoプロファイルをインポートすると
dialer-proxyからこのオプションが生成されるため、インポート後にポリシーがチェーンされているように見えても、そのトラフィックは実際にはチェーンされません。
test-url: オプション。
test-url=http://www.gstatic.com/generate_204
ポリシー単位のレイテンシテストURLです。設定の保存時に受け付けられ保持されますが、読み取られることはありません: ベンチマークは常に、そのポリシーを含むポリシーグループのurlを使用します。不明なオプションとは異なり、認識されるオプションのリストに含まれているため警告は発生しません。
AnyTLSを持つプロキシのパラメータ
AnyTLSはパディング難読化を備えたTLSベースのプロキシプロトコルです。
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com, skip-cert-verify=false
password: 必須。
認証に使用されるパスワード/パスフレーズ。
sni(デフォルト: hostname)
sni=exmaple.com
TLSと同じです。
skip-cert-verify: オプション
skip-cert-verify=true
TLSと同じです。
パディングスキーム: オプション
パディングはstop=Nと数値のパケットごとのキーで設定します:
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com, stop=2, 0=30-30, 1=100-400+c
| パラメータ | 説明 |
|---|---|
stop |
パディングされるパケットの数 |
0、1、2、... |
各パケットのパディングスキーム(数値キー) |
各スキームは+(または,)で結合されたセグメントのリストで、セグメントはc(チェック)またはmin-maxバイト範囲(最大16384)です。例: stop=2, 0=30-30, 1=100-400+c。
TUICを持つプロキシのパラメータ
TUICは多重化TCPおよびUDPリレーを提供するQUICベースのプロキシプロトコルです。
TUIC = tuic, 1.2.3.4, 443, uuid=uuid, password=password, sni=example.com, skip-cert-verify=false, alpn=h3
uuid: 必須。
認証用のUUID。
password: 必須。
認証用のパスワード。
sni(デフォルト: hostname)
sni=exmaple.com
TLSと同じです。
skip-cert-verify: オプション
skip-cert-verify=true
TLSと同じです。
alpn: オプション
alpn=h3
QUIC接続のALPN文字列を指定します。
Hysteria2を持つプロキシのパラメータ
Hysteria2は、高スループットシナリオ向けのBrutal輻輳制御を備えたQUICベースのプロキシプロトコルです。
Hysteria2 = hysteria2, 1.2.3.4, 443, auth=password, sni=example.com, skip-cert-verify=false, up=10, down=100, alpn=h3
auth: 必須。
認証パスワード/トークン。
sni(デフォルト: hostname)
sni=exmaple.com
TLSと同じです。
skip-cert-verify: オプション
skip-cert-verify=true
TLSと同じです。
up: オプション(Mbps)
up=10
アップロード帯域幅(Mbps)。
down: オプション(Mbps)
down=100
ダウンロード帯域幅(Mbps)。
alpn: オプション
alpn=h3
QUIC接続のALPN文字列を指定します。
obfs: オプション
obfs=salamander
QUICトラフィックのSalamander難読化を有効にします。SalamanderはBLAKE2b-256 XORを使用してQUICパケットを難読化し、DPI(ディープパケットインスペクション)に対する耐性を持たせます。
obfs-password: オプション
obfs-password=your-obfuscation-key
Salamander難読化に使用されるパスワード/キー。obfs=salamanderが設定されている場合に必須です。
WireGuardを持つプロキシのパラメータ
WireGuardは最新のVPNプロトコルです。ChuteはWireGuardをアウトバウンドプロキシポリシーとしてサポートしており、インラインまたは名前付き[WireGuard]セクションを参照することで設定できます。
インライン設定:
WireGuard = wireguard, private-key=base64key, peer-public-key=base64key, self-ip=10.0.0.2, server=1.2.3.4, port=51820
セクション参照(推奨):
WireGuard = wireguard, section-name=wg0
[WireGuard]セクションの構文についてはWireGuard設定を参照してください。
private-key: 必須(インラインのみ)。
Base64エンコードされたWireGuard秘密鍵。
peer-public-key: 必須(インラインのみ)。
Base64エンコードされたWireGuardピア公開鍵。
self-ip: オプション(インライン)。
WireGuardインターフェースに割り当てられるローカルIPアドレス(例: 10.0.0.2)。
self-ip-v6: オプション(インライン)。
WireGuardインターフェースに割り当てられるローカルIPv6アドレス。
server: 必須。
リモートWireGuardサーバーアドレス(ポリシー行の代わりに、参照される[WireGuard]セクションから取得することもできます)。
port: 必須。
リモートWireGuardサーバーポート(ポリシー行の代わりに、参照される[WireGuard]セクションから取得することもできます)。
preshared-key: オプション。
耐量子性のためのBase64エンコードされた事前共有鍵。
keepalive: オプション(秒)。
keepalive=25
NAT越えのための永続的キープアライブ間隔。
mtu: オプション。
mtu=1420
WireGuardインターフェースのMTU。
reserved: オプション。
reserved=0,1,2
WireGuardパケットヘッダーの予約バイト。現在のカーネルでは解析されますが有効ではありません。この値はBoringTun FFIでサポートされていないため、警告がログに記録され無視されます。
ShadowTLSを持つプロキシのパラメータ
ShadowTLSは、標準的なTLS 1.3セッション内にトラフィックをカプセル化するTLSベースのプロキシプロトコルです。TLSハンドシェイク後にパスワードベースのハンドシェイクを使用して認証し、プロキシ接続を確立します。
ShadowTLS = shadowtls, 1.2.3.4, 443, password=password, sni=example.com, skip-cert-verify=false, fingerprint=chrome
password: 必須。
ShadowTLSハンドシェイク認証に使用されるパスワード。
sni(デフォルト: hostname)
sni=example.com
TLSと同じです。
skip-cert-verify: オプション
skip-cert-verify=true
TLSと同じです。
fingerprint: オプション
fingerprint=chrome
模倣するTLSクライアントフィンガープリント。サポートされる値にはchrome、firefox、safari、ios、edge、360、qq、android、randomが含まれます。一般的なブラウザフィンガープリントを使用することで検出を回避できます。なお、ここではandroidとrandomは個別のフィンガープリントではなく、chromeとして扱われます(警告がログに記録されます)。
MASQUEを持つプロキシのパラメータ
MASQUEはHTTP/3ベースのプロキシプロトコルで、QUIC上でトラフィックをトンネルします。MASQUEポリシーにはtype、host、portが必要で、認証tokenは任意です。
ProxyMASQUE = masque, 1.2.3.4, 443, token=auth-token, mode=connect-udp, sni=example.com, alpn=h3, skip-cert-verify=false, mux=true
token: オプション
token=auth-token
MASQUEサーバー用の任意のBearer認証トークンです。エイリアスmasque-token=も受け付けます。
mode: オプション
mode=connect-udp
互換性のために受け付けられますが、トンネリング動作は変わりません: TCPフローは常にプレーンなCONNECTトンネルを使用し、UDPフローは常にconnect-udpを使用します。エイリアスmasque-mode=も受け付けます。
mux: オプション
mux=true
共有QUIC接続上でマルチプレクスを有効にします(接続プール設定に依存)。
sni / alpn / skip-cert-verify: オプション
TLSと同じ。MASQUEはQUIC上で動作するため、通常はalpn=h3を使用します。
SSHを持つプロキシのパラメータ
完全なドキュメントについてはSSHプロキシを参照してください。
本ページは英語版からの翻訳です。内容に相違がある場合は、英語版が優先されます。