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/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, 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://....
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 | |||||
| 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. Verwenden Sie sni=off, um SNI vollständig zu deaktivieren. 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: Optional.
grpc-service-name=MyService
Gibt den gRPC-Dienstnamen/-pfad für Multiplexing an. Standardmäßig wird der Standarddienstname verwendet, wenn nicht festgelegt.
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 VLESS- und Trojan-Protokollen verwendet werden.
reality: Optional.
reality=true
Aktiviert REALITY-Verschleierung. Erfordert einen Zielserver, der als Tarnziel fungiert.
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, 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.
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, padding-scheme=ux
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-scheme: Optional
padding-scheme=ux
Gibt das TLS-Datensatz-Padding-Schema an. Unterstützte Werte: ux.
Mehrere Padding-Schichten können konfiguriert werden, indem die Anzahl der Schichten und Schemas pro Schicht angegeben werden:
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com, stop=2, 0=ux, 1=ux
| Parameter | Beschreibung |
|---|---|
stop |
Anzahl der Padding-Schema-Schichten |
0, 1, 2, ... |
Padding-Schema für jede Schicht (numerische Schlüssel) |
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-ipv6: Optional (inline).
Lokale IPv6-Adresse, die der WireGuard-Schnittstelle zugewiesen wird.
server: Optional (inline).
Remote-WireGuard-Serveradresse.
port: Optional (inline).
Remote-WireGuard-Serverport.
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-bits: Optional.
reserved-bits=0,1,2
Reservierte Bits für den WireGuard-Handshake.
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 SSH
Siehe SSH-Proxy für die vollständige Dokumentation.