Proxy-Richtlinie
Eine Proxy-Richtlinie gibt an, dass die Anfrage an einen anderen Proxyserver weitergeleitet wird. Chute unterstützt HTTP/HTTPS/SOCKS5/SOCKS5-TLS/SS/SSR/Trojan/VMess/VLESS/AnyTLS/TUIC/Hysteria2/WireGuard/ShadowTLS/MASQUE/SSH-Proxy-Protokolle.
Der Abschnitt [Proxy] deklariert Proxy-Richtlinien. Sie können mehrere Proxys für verschiedene Regeln erstellen.
Beispiel:
[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://....
Hinweis: HTTPS- und SOCKS5-TLS-Richtlinien akzeptieren höchstens eine zusätzliche
key=value-Option nach den Anmeldedaten. Eine Trojan-Richtlinie benötigt ein explizitestls=true— TLS wird nicht impliziert.
Parameter
| Typ | Benutzername | Passwort | Methode | TLS | XTLS | Websocket | QUIC |
|---|---|---|---|---|---|---|---|
| HTTP | √ | √ | |||||
| HTTPS | √ | √ | TLS | ||||
| Socks | √ | √ | |||||
| Socks5-TLS | √ | √ | TLS | ||||
| Shadowsocks | √ | Methode, OBFS | |||||
| ShadowsocksR | √ | Methode, Protokoll, 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 | Natives WireGuard | |||||
| ShadowTLS | √ | TLS, Fingerprint | |||||
| MASQUE | token | TLS, Modus, Multiplexing | √ | ||||
| SSH | √ | Auth | |
Parameter für Proxy mit TLS
tls: Optional.
tls=true
Aktiviert TLS-Transport.
skip-cert-verify: Optional
skip-cert-verify=true
Wenn diese Option aktiviert ist, überprüft Chute das Serverzertifikat nicht.
sni (Standard: hostname)
sni=exmaple.com
Sie können die Server Name Indication (SNI) während des TLS-Handshakes anpassen. Standardmäßig sendet Chute SNI mit dem Hostnamen wie die meisten Browser.
Parameter für Proxy mit Shadowsocks
method: Erforderlich.
Derzeit unterstützt:
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 Methoden
Chute unterstützt das Shadowsocks 2022-Protokoll, das BLAKE3-basierte Schlüsselableitung und AEAD-Chiffren verwendet. Der Methodenname bestimmt die Chiffre-Suite:
2022-blake3-aes-128-gcm
2022-blake3-aes-256-gcm
2022-blake3-chacha20-poly1305
Passwortformat:
Das Passwortfeld für SS2022 besteht aus einem oder zwei base64-kodierten Schlüsseln, getrennt durch : (Doppelpunkt).
Einzelbenutzermodus (ein Schlüssel):
SS2022 = ss, 1.2.3.4, 443, 2022-blake3-aes-256-gcm, "base64-key"
Mehrbenutzermodus mit Identitätsheadern (zwei Schlüssel):
Für 2022-blake3-aes-128-gcm und 2022-blake3-aes-256-gcm können Sie einen Identitätsheader-Schlüssel und einen Benutzerschlüssel angeben, getrennt durch ::
SS2022 = ss, 1.2.3.4, 443, 2022-blake3-aes-256-gcm, "header-base64-key:user-base64-key"
Jeder Schlüssel ist ein base64-kodierter String (unterstützt sowohl Standard- als auch URL-sicheres base64). Die erforderlichen Schlüssellängen:
| Methode | Benutzerschlüssellänge | Header-Schlüssellänge |
|---|---|---|
2022-blake3-aes-128-gcm |
16 Bytes | 16 Bytes |
2022-blake3-aes-256-gcm |
32 Bytes | 32 Bytes |
2022-blake3-chacha20-poly1305 |
32 Bytes | N/A (keine Identitätsheader-Unterstützung) |
Einen Schlüssel generieren:
openssl rand -base64 32
Hinweis: SS2022-Methoden unterstützen den Parameter
obfsnicht. Die Methode2022-blake3-chacha20-poly1305unterstützt keinen Mehrbenutzermodus.
obfs: Optional.
Derzeit unterstützt:
tls
http
Parameter für Proxy mit ShadowsocksR/ShadowsocksRR/ShadowsocksR-Akarin
method: Erforderlich.
Derzeit unterstützt:
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: Optional.
Derzeit unterstützt:
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: Optional.
obfs: Optional.
Derzeit unterstützt:
plain
http_simple
http_post
tls1.2_ticket_auth
obfs_param: Optional.
Parameter für Proxy mit WebSocket
ws: Optional.
ws=true
Aktiviert WebSocket-Transport.
ws-path: Optional.
ws-path=/exmaple
Ändert den Pfad der WebSocket-HTTP-Anfrage.
ws-headers: Optional.
ws-headers=Header1:Value1|Header2:Value2
Ändert den HTTP-Header der WebSocket-HTTP-Anfrage.
Parameter für Proxy mit gRPC
gRPC-Transport ist für Trojan-, VMess- und VLESS-Protokolle verfügbar. Es verwendet HTTP/2-basiertes gRPC-Framing über TLS, was helfen kann, bestimmte Netzwerkbeschränkungen zu umgehen.
grpc: Optional.
grpc=true
Aktiviert gRPC-Transport. Erfordert, dass TLS aktiviert ist.
grpc-service-name: Erforderlich, wenn grpc=true.
grpc-service-name=MyService
Gibt den gRPC-Dienstnamen/-pfad für Multiplexing an. Er muss mit dem auf dem Server konfigurierten Dienstnamen übereinstimmen; es gibt keinen Standardwert.
grpc-multi-mode: Optional.
grpc-multi-mode=true
Aktiviert den Multi-Modus für gRPC, der es mehreren Streams ermöglicht, eine einzelne gRPC-Verbindung für bessere Leistung zu teilen.
Beispiel mit VMess und gRPC:
VMess = vmess, 1.2.3.4, 443, uuid=uuid, tls=true, grpc=true, grpc-service-name=GunService, sni=example.com
Parameter für Proxy mit XTLS
xtls: Optional.
xtls=true
Aktiviert XTLS-Transport. Nur der xtls-rprx-direct-Flow wird unterstützt.
skip-cert-verify: Optional
skip-cert-verify=true
Wie bei TLS.
sni (Standard: hostname)
sni=exmaple.com
Wie bei TLS.
Parameter für Proxy mit REALITY
REALITY ist eine TLS-basierte Verschleierungstechnik, die Proxy-Verkehr von regulärem TLS-Verkehr zu einer echten Website ununterscheidbar macht. Es kann mit dem VLESS-Protokoll verwendet werden.
reality: Optional.
reality=true
Aktiviert REALITY-Verschleierung. Erfordert einen Zielserver, der als Tarnziel fungiert.
public-key: Erforderlich.
public-key=BASE64KEY
Der X25519-öffentliche-Schlüssel des Servers (base64). Der REALITY-Handshake kann ohne ihn nicht aufgebaut werden.
short-id: Optional.
short-id=abcd1234
Eine kurze Kennung, die für die REALITY-Authentifizierung verwendet wird. Typischerweise ein Hex-String.
server-name: Optional.
server-name=www.microsoft.com
Die SNI (Server Name Indication), die während des TLS-Handshakes präsentiert wird. Dies sollte eine echte, häufig besuchte Website für den besten Tarneffekt sein. Das Zertifikat des Zielservers muss mit diesem Namen übereinstimmen.
fingerprint: Optional.
fingerprint=chrome
TLS-Client-Fingerprint, der nachgeahmt werden soll. Unterstützte Werte sind chrome, firefox, safari, ios, edge, 360, qq. Die Verwendung eines gängigen Browser-Fingerprints hilft, Erkennung zu vermeiden.
spiderx: Optional.
spiderx=/path
Benutzerdefinierter Pfad für die REALITY-Spider-Tarnung.
Beispiel mit 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
Hinweis: REALITY verwendet kein traditionelles Zertifikat. Die Verbindung verwendet das echte Zertifikat des Tarnservers.
TCP Fast Open (Experimentell)
tfo: Optional
tfo=true
Weitere Informationen zu TCP Fast Open finden Sie in Wikipedia. Die Aktivierung von TCP Fast Open kann zu unerwarteten Verbindungsfehlern führen.
Gemeinsame Parameter
udp-relay: Optional (Standard: true)
udp-relay=false
Markiert die Richtlinie als nur-TCP. UDP-Relay ist standardmäßig aktiviert, wo das Protokoll es unterstützt; setzen Sie udp-relay=false, um die Richtlinie vom UDP-Relay auszuschließen.
mux: Optional
mux=true
Aktiviert Verbindungswiederverwendung / Multiplexing. Die Aliase multiplex und reuse werden ebenfalls akzeptiert. Unterstützt von Trojan, VMess, VLESS, Hysteria2, Shadowsocks(R) und MASQUE.
cert-fingerprint-sha256: Optional
cert-fingerprint-sha256=<hex>
Pinnt das Serverzertifikat anhand seines SHA-256-Fingerprints. Der Alias cert-fp wird ebenfalls akzeptiert. Derzeit wirksam für QUIC-basierte Protokolle (z.B. MASQUE).
encrypt-method (VMess): Optional (Standard: auto)
encrypt-method=aes-128-gcm
VMess-Payload-Verschlüsselung. Unterstützte Werte: aes-128-gcm, chacha20-poly1305, aes-128-cfb (Alias legacy), none.
alpn: Optional
alpn=h2|http/1.1
Mehrere ALPN-Werte werden mit | getrennt.
Parameter für Proxy mit AnyTLS
AnyTLS ist ein TLS-basiertes Proxy-Protokoll mit Padding-Verschleierung.
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com, skip-cert-verify=false
password: Erforderlich.
Das Passwort/die Passphrase, die für die Authentifizierung verwendet wird.
sni (Standard: hostname)
sni=exmaple.com
Wie bei TLS.
skip-cert-verify: Optional
skip-cert-verify=true
Wie bei TLS.
Padding-Schema: Optional
Das Padding wird mit stop=N plus numerischen Pro-Paket-Schlüsseln konfiguriert:
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com, stop=2, 0=30-30, 1=100-400+c
| Parameter | Beschreibung |
|---|---|
stop |
Anzahl der gepolsterten Pakete |
0, 1, 2, ... |
Padding-Schema für jedes Paket (numerische Schlüssel) |
Jedes Schema ist eine Liste von Segmenten, verbunden durch + (oder ,), wobei ein Segment entweder c (check) oder ein min-max-Byte-Bereich ist (max. 16384), z.B. stop=2, 0=30-30, 1=100-400+c.
Parameter für Proxy mit TUIC
TUIC ist ein QUIC-basiertes Proxy-Protokoll, das gemultiplextes TCP- und UDP-Relay bietet.
TUIC = tuic, 1.2.3.4, 443, uuid=uuid, password=password, sni=example.com, skip-cert-verify=false, alpn=h3
uuid: Erforderlich.
Die UUID für die Authentifizierung.
password: Erforderlich.
Das Passwort für die Authentifizierung.
sni (Standard: hostname)
sni=exmaple.com
Wie bei TLS.
skip-cert-verify: Optional
skip-cert-verify=true
Wie bei TLS.
alpn: Optional
alpn=h3
Gibt den ALPN-String für die QUIC-Verbindung an.
Parameter für Proxy mit Hysteria2
Hysteria2 ist ein QUIC-basiertes Proxy-Protokoll mit Brutal Congestion Control für Szenarien mit hohem Durchsatz.
Hysteria2 = hysteria2, 1.2.3.4, 443, auth=password, sni=example.com, skip-cert-verify=false, up=10, down=100, alpn=h3
auth: Erforderlich.
Das Authentifizierungspasswort/-token.
sni (Standard: hostname)
sni=exmaple.com
Wie bei TLS.
skip-cert-verify: Optional
skip-cert-verify=true
Wie bei TLS.
up: Optional (Mbps)
up=10
Upload-Bandbreite in Mbps.
down: Optional (Mbps)
down=100
Download-Bandbreite in Mbps.
alpn: Optional
alpn=h3
Gibt den ALPN-String für die QUIC-Verbindung an.
obfs: Optional
obfs=salamander
Aktiviert die Salamander-Verschleierung für den QUIC-Verkehr. Salamander verwendet BLAKE2b-256 XOR, um QUIC-Pakete zu verschleiern und sie resistent gegen DPI (Deep Packet Inspection) zu machen.
obfs-password: Optional
obfs-password=your-obfuscation-key
Das Passwort/der Schlüssel, das/der für die Salamander-Verschleierung verwendet wird. Erforderlich, wenn obfs=salamander gesetzt ist.
Parameter für Proxy mit WireGuard
WireGuard ist ein modernes VPN-Protokoll. Chute unterstützt WireGuard als ausgehende Proxy-Richtlinie, entweder inline oder durch Verweis auf einen benannten [WireGuard]-Abschnitt.
Inline-Konfiguration:
WireGuard = wireguard, private-key=base64key, peer-public-key=base64key, self-ip=10.0.0.2, server=1.2.3.4, port=51820
Abschnittsreferenz (empfohlen):
WireGuard = wireguard, section-name=wg0
Siehe WireGuard-Konfiguration für die [WireGuard]-Abschnittssyntax.
private-key: Erforderlich (nur inline).
Base64-kodierter WireGuard-Privatschlüssel.
peer-public-key: Erforderlich (nur inline).
Base64-kodierter WireGuard-Peer-öffentlicher-Schlüssel.
self-ip: Optional (inline).
Lokale IP-Adresse, die der WireGuard-Schnittstelle zugewiesen wird (z.B. 10.0.0.2).
self-ip-v6: Optional (inline).
Lokale IPv6-Adresse, die der WireGuard-Schnittstelle zugewiesen wird.
server: Erforderlich.
Remote-WireGuard-Serveradresse (kann stattdessen aus dem referenzierten [WireGuard]-Abschnitt stammen).
port: Erforderlich.
Remote-WireGuard-Serverport (kann stattdessen aus dem referenzierten [WireGuard]-Abschnitt stammen).
preshared-key: Optional.
Base64-kodierter Pre-Shared-Key für Post-Quantum-Resistenz.
keepalive: Optional (Sekunden).
keepalive=25
Persistentes Keepalive-Intervall für NAT-Traversal.
mtu: Optional.
mtu=1420
MTU für die WireGuard-Schnittstelle.
reserved: Optional.
reserved=0,1,2
Reservierte Bytes für den WireGuard-Handshake-Header.
Parameter für Proxy mit ShadowTLS
ShadowTLS ist ein TLS-basiertes Proxy-Protokoll, das Verkehr innerhalb einer Standard-TLS-1.3-Sitzung kapselt. Es verwendet einen passwortbasierten Handshake nach dem TLS-Handshake, um die Proxy-Verbindung zu authentifizieren und herzustellen.
ShadowTLS = shadowtls, 1.2.3.4, 443, password=password, sni=example.com, skip-cert-verify=false, fingerprint=chrome
password: Erforderlich.
Das Passwort, das für die ShadowTLS-Handshake-Authentifizierung verwendet wird.
sni (Standard: hostname)
sni=example.com
Wie bei TLS.
skip-cert-verify: Optional
skip-cert-verify=true
Wie bei TLS.
fingerprint: Optional
fingerprint=chrome
TLS-Client-Fingerprint, der nachgeahmt werden soll. Unterstützte Werte sind chrome, firefox, safari, ios, edge, 360, qq. Die Verwendung eines gängigen Browser-Fingerprints hilft, Erkennung zu vermeiden.
Parameter für Proxy mit MASQUE
MASQUE ist ein HTTP/3-basiertes Proxy-Protokoll, das Datenverkehr über QUIC tunnelt. Eine MASQUE-Policy erfordert type, host und port; ein Authentifizierungs-token ist optional.
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: Optional
token=auth-token
Optionales Bearer-Authentifizierungs-Token für den MASQUE-Server. Der Alias masque-token= wird ebenfalls akzeptiert.
mode: Optional
mode=connect-udp
Wird aus Kompatibilitätsgründen akzeptiert, ändert aber das Tunneling-Verhalten nicht: TCP-Datenströme verwenden immer einen einfachen CONNECT-Tunnel und UDP-Datenströme immer connect-udp.
mux: Optional
mux=true
Multiplexing über eine gemeinsame QUIC-Verbindung aktivieren (abhängig von der Connection-Pool-Einstellung).
sni / alpn / skip-cert-verify: Optional
Wie bei TLS. Da MASQUE über QUIC läuft, wird typischerweise alpn=h3 verwendet.
Parameter für Proxy mit SSH
Siehe SSH-Proxy für die vollständige Dokumentation.