プロキシポリシー
プロキシポリシーは、リクエストを別のプロキシサーバーに転送することを示します。ChuteはHTTP/HTTPS/SOCKS5/SOCKS5-TLS/SS/SSR/Trojan/VMess/VLESS/AnyTLS/TUIC/Hysteria2/WireGuard/ShadowTLS/SSHプロキシプロトコルをサポートしています。
[Proxy]セクションでプロキシポリシーを宣言します。異なるルールに対して複数のプロキシを作成できます。
例:
[Proxy]
ProxyHTTP = http, 1.2.3.4, 443, username, password
ProxyHTTPS = https, 1.2.3.4, 443, username, password, sni=example.com, skip-cert-verify=false
ProxySOCKS5 = socks5, 1.2.3.4, 443, username, password
ProxySOCKS5TLS = socks5-tls, 1.2.3.4, 443, username, password, sni=example.com, skip-cert-verify=false
SS = ss, 1.2.3.4, 443, method, password, obfs=post
SSR = ssr, 1.2.3.4, 443, method, password, protocol=auth_chain_f, protocol_param=user:pass, obfs=http_pose, obfs_param=example.com
Trojan = trojan, 1.2.3.4, 443, password=password, 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
SSH = ssh, 1.2.3.4, 22, root, password=pw
SCHEME = scheme, ssr://....
パラメータ
| タイプ | ユーザー名 | パスワード | メソッド | 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、フィンガープリント | |||||
| SSH | √ | 認証 |
TLSを持つプロキシのパラメータ
tls: オプション。
tls=true
TLSトランスポートを有効にします。
skip-cert-verify: オプション
skip-cert-verify=true
このオプションが有効な場合、Chuteはサーバーの証明書を検証しません。
sni(デフォルト: hostname)
sni=exmaple.com
TLSハンドシェイク中にServer Name Indication(SNI)をカスタマイズできます。sni=offを使用して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-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およびTrojanプロトコルで使用できます。
reality: オプション。
reality=true
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, server-name=www.microsoft.com, short-id=abcd, fingerprint=chrome
注意: REALITYは従来の証明書を使用しません。接続はカモフラージュサーバーの実際の証明書を使用します。
TCP Fast Open(実験的)
tfo: オプション
tfo=true
TCP Fast Openの詳細についてはWikipediaを参照してください。TCP Fast Openを有効にすると、予期しない接続障害が発生する可能性があります。
AnyTLSを持つプロキシのパラメータ
AnyTLSはパディング難読化を備えたTLSベースのプロキシプロトコルです。
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com, skip-cert-verify=false, padding-scheme=ux
password: 必須。
認証に使用されるパスワード/パスフレーズ。
sni(デフォルト: hostname)
sni=exmaple.com
TLSと同じです。
skip-cert-verify: オプション
skip-cert-verify=true
TLSと同じです。
padding-scheme: オプション
padding-scheme=ux
TLSレコードパディングスキームを指定します。サポートされる値: ux。
レイヤー数とレイヤーごとのスキームを指定することで、複数のパディングレイヤーを設定できます:
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com, stop=2, 0=ux, 1=ux
| パラメータ | 説明 |
|---|---|
stop |
パディングスキームレイヤーの数 |
0、1、2、... |
各レイヤーのパディングスキーム(数値キー) |
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-ipv6: オプション(インライン)。
WireGuardインターフェースに割り当てられるローカルIPv6アドレス。
server: オプション(インライン)。
リモートWireGuardサーバーアドレス。
port: オプション(インライン)。
リモートWireGuardサーバーポート。
preshared-key: オプション。
ポスト量子耐性のためのBase64エンコードされた事前共有鍵。
keepalive: オプション(秒)。
keepalive=25
NAT越えのための永続的キープアライブ間隔。
mtu: オプション。
mtu=1420
WireGuardインターフェースのMTU。
reserved-bits: オプション。
reserved-bits=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が含まれます。一般的なブラウザフィンガープリントを使用することで検出を回避できます。
SSHを持つプロキシのパラメータ
完全なドキュメントについてはSSHプロキシを参照してください。