プロキシポリシー
プロキシポリシーは、リクエストを別のプロキシサーバーに転送することを示します。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://....
注意: HTTPSおよびSOCKS5-TLSポリシーは、認証情報の後に追加の
key=valueオプションを最大1つまで受け付けます。Trojanポリシーには明示的なtls=trueが必要です — TLSは暗黙に有効化されません。
パラメータ
| タイプ | ユーザー名 | パスワード | メソッド | TLS | XTLS | WebSocket | QUIC |
|---|---|---|---|---|---|---|---|
| HTTP | √ | √ | |||||
| HTTPS | √ | √ | TLS | ||||
| Socks | √ | √ | |||||
| Socks5-TLS | √ | √ | TLS | ||||
| Shadowsocks | √ | メソッド、OBFS | |||||
| ShadowsocksR | √ | メソッド、プロトコル、OBFS | |||||
| Trojan | √ | √ | TLS | WS、gRPC | |||
| VMess | uuid | TLS | WS、gRPC | ||||
| VLESS | uuid | TLS | XTLS | WS、gRPC | |||
| 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を送信します。
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メソッドはマルチユーザーモードをサポートしていません。
obfs: オプション。
現在のサポート:
tls
http
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
XTLSを持つプロキシのパラメータ
xtls: オプション。
xtls=true
XTLSトランスポートを有効にします。xtls-rprx-directフローのみがサポートされています。
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が含まれます。一般的なブラウザフィンガープリントを使用することで検出を回避できます。
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は従来の証明書を使用しません。接続はカモフラージュサーバーの実際の証明書を使用します。
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)、MASQUEでサポートされています。
cert-fingerprint-sha256: オプション
cert-fingerprint-sha256=<hex>
SHA-256フィンガープリントによってサーバー証明書をピン留めします。エイリアスcert-fpも受け付けられます。現在はQUICベースのプロトコル(例: 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値は|で区切ります。
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ハンドシェイクヘッダーの予約バイト。
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が含まれます。一般的なブラウザフィンガープリントを使用することで検出を回避できます。
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を使用します。
mux: 任意
mux=true
共有QUIC接続上でマルチプレクスを有効にします(接続プール設定に依存)。
sni / alpn / skip-cert-verify: 任意
TLSと同じ。MASQUEはQUIC上で動作するため、通常はalpn=h3を使用します。
SSHを持つプロキシのパラメータ
完全なドキュメントについてはSSHプロキシを参照してください。