Verschiedene Optionen

[General]
ipv6 = true
loglevel = notify

skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, localhost, *.local

tun-excluded-routes = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12
tun-included-routes = 192.168.1.12/32

Allgemeine Optionen

Vollständige IPv6-Unterstützung aktivieren (Standard: true)

ipv6 = true

loglevel (Standard: warning)

loglevel = notify

Einer von none, fatal, warning, notify, info oder verbose. Es wird nicht empfohlen, verbose im täglichen Gebrauch zu aktivieren, da dies die Leistung erheblich verlangsamt.

skip-proxy

skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, localhost, *.local

In der iOS-Version zwingt diese Option Verbindungen zu diesen Domain-/IP-Bereichen, von Chute TUN anstelle von Chute Proxy verarbeitet zu werden. In der macOS-Version werden diese Einstellungen auf das System angewendet, wenn "Als Systemproxy festlegen" aktiviert ist. Diese Option wird verwendet, um Kompatibilitätsprobleme mit einigen Apps zu beheben.

  • Um eine einzelne Domain anzugeben, geben Sie den Domainnamen ein - zum Beispiel apple.com.
  • Um alle Websites auf einer Domain anzugeben, verwenden Sie ein Sternchen vor dem Domainnamen - zum Beispiel *apple.com.
  • Um einen bestimmten Teil einer Domain anzugeben, geben Sie jeden Teil an - zum Beispiel store.apple.com.
  • Um Hosts oder Netzwerke nach IP-Adressen anzugeben, geben Sie eine bestimmte IP-Adresse wie 192.168.2.11 oder einen Adressbereich wie 192.168.2.* oder 192.168.2.0/24 ein.

Hinweis: Wenn Sie eine IP-Adresse oder einen Adressbereich eingeben, können Sie den Proxy nur umgehen, wenn Sie über diese Adresse eine Verbindung zu diesem Host herstellen, nicht wenn Sie über einen Domainnamen eine Verbindung herstellen, der zu dieser Adresse aufgelöst wird.


Proxy-Server-Listening

interface = 127.0.0.1
port = 8118
socks-interface = 127.0.0.1
socks-port = 8119

interface / port steuern die Lauschadresse und den Port des HTTP-Proxyservers (Standard 127.0.0.1:8118). socks-interface / socks-port steuern den SOCKS5-Proxyserver (Standard 127.0.0.1:8119).

Kompatibilitäts-Aliase: doh-server wird als Alias von doh akzeptiert; http-listen / socks5-listen (z.B. 0.0.0.0:6152, [::]:6153 oder ein bloßer Port) werden auf die obigen interface/port-Einstellungen abgebildet. Ein Wildcard-Listen-Host (0.0.0.0, :: oder *) setzt außerdem allow-wifi-access = true.


Eingehende Proxy-Authentifizierung

http-auth = username:password

Erfordert, dass sich Clients authentifizieren, bevor sie die HTTP- und SOCKS5-Proxyserver von Chute verwenden. Die Zeile kann wiederholt werden, um mehrere Anmeldedaten zu erlauben.


Systemanfragen umgehen

bypass-system = true

Wenn aktiviert, umgehen Anfragen von Systemprozessen die Chute-Verarbeitung.

Standard: true.


Immer echte IP

always-real-ip = *.example.com, tracker.example.org

Wenn Chute gefälschte IP-Adressen für gekaperte DNS-Abfragen bereitstellt (siehe hijack-dns), werden Hostnamen, die dieser durch Kommas getrennten Liste entsprechen, immer mit ihren echten aufgelösten IP-Adressen beantwortet. Wildcards werden unterstützt.


Bestehende Verbindungen unterbrechen

interrupt-exist-connections = true

Wenn aktiviert, werden beim Ändern der ausgewählten Richtlinie in einer beliebigen Richtliniengruppe (über URL-Test, Fallback, Load Balance, SSID oder manuelle Auswahl) bestehende Verbindungen, die die alte Richtlinie verwendeten, ordnungsgemäß beendet. Dies stellt sicher, dass Verbindungen sofort den neu ausgewählten Proxy verwenden, anstatt auf dem alten zu verweilen.

Jede betroffene Verbindung wird ordnungsgemäß mit einer 3-Sekunden-Zeitüberschreitung geschlossen, bevor sie zwangsweise getrennt wird.

Standard: false. Dies ist eine globale Einstellung — sie betrifft alle Richtliniengruppen.


Network Framework (macOS / tvOS)

network-framework = true

Aktiviert Apple Network.framework für ausgehende Verbindungen. Die Verwendung von Network.framework kann eine bessere Leistung und moderne TLS-Stack-Integration auf unterstützten Plattformen bieten.

Standard: true auf macOS, false auf iOS und tvOS.


Einfache Hostnamen ausschließen

exclude-simple-hostnames = true

Wenn aktiviert, umgehen Anfragen an einfache Hostnamen (einzelne Bezeichnungen ohne Punkt, z.B. localhost) die Proxy-Regeln und werden lokal aufgelöst. Dies hilft, unnötige DNS-Abfragen für lokale Netzwerknamen zu vermeiden.

Auf Chute Mac aktiviert eine einmalige Migration diese Option beim ersten Start standardmäßig; eine explizite Aus-Einstellung des Benutzers wird respektiert.

Standard: false.


Datenbankaufzeichnung deaktivieren

disable-db-record = true

Wenn aktiviert, stoppt Chute das Schreiben von Verkehrsaufzeichnungen in die lokale Datenbank. Dies kann die Leistung verbessern und die Speichernutzung reduzieren, jedoch ist der Verkehrsverlauf dann im Chute Dashboard nicht verfügbar.

Standard: false.


menu-bar-show-speed = true

Wenn aktiviert, zeigt Chute Mac die aktuelle Upload- und Download-Geschwindigkeit in der Menüleiste an.

Standard: false.


Andere DNS-Server kapern

hijack-dns = 8.8.8.8:53

Standardmäßig gibt Chute nur gefälschte IP-Adressen für DNS-Abfragen zurück, die an die Chute-DNS-Adresse (198.18.0.2) gesendet werden. Abfragen, die an Standard-DNS gesendet werden, werden einfach weitergeleitet.

Einige Geräte oder Software verwenden immer einen fest codierten DNS-Server. (Zum Beispiel verwenden Google Speakers immer 8.8.8.8). Sie können diese Option verwenden, um die Abfrage zu kapern und eine gefälschte Adresse zu erhalten.

Sie können hijack-dns = *:53 verwenden, um alle DNS-Abfragen zu kapern.


Ausgeschlossene Routen

tun-excluded-routes = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12

Chute VIF kann nur TCP- und UDP-Protokolle verarbeiten. Verwenden Sie diese Option, um bestimmte IP-Bereiche zu umgehen, damit der gesamte Verkehr durchgelassen wird.

Hinweis: Diese Option funktioniert nur für den VIF (utun)-Typ des Erweiterten Modus — sie hat keine Auswirkung bei Verwendung des PacketTunnel VPN-Typs. Anfragen, die vom Chute Proxy Server verarbeitet werden, sind nicht betroffen. Kombinieren Sie 'skip-proxy' und 'tun-excluded-routes', um sicherzustellen, dass bestimmter HTTP-Verkehr Chute umgeht.

Diese Option könnte einen Systemfehler ENOMEM (Cannot allocate memory) verursachen. Es scheint ein Fehler im iOS-System zu sein. Bitte verwenden Sie diese Option nach Möglichkeit nicht.


Eingeschlossene Routen

tun-included-routes = 192.168.1.12/32

Standardmäßig deklariert sich die Chute-VIF-Schnittstelle als Standardroute. Da die Wi-Fi-Schnittstelle jedoch eine kleinere Route hat, kann ein Teil des Verkehrs möglicherweise nicht über die Chute-VIF-Schnittstelle laufen. Verwenden Sie diese Option, um eine kleinere Route hinzuzufügen.

Hinweis: Diese Option funktioniert nur für den VIF (utun)-Typ des Erweiterten Modus — sie hat keine Auswirkung bei Verwendung des PacketTunnel VPN-Typs.


Protokollerkennung

sniffing-enabled = true
sniffing-timeout = 100

Chute kann das tatsächliche Protokoll einer Verbindung erkennen, indem es die ersten Bytes untersucht. Dies ermöglicht, dass Regeln wie PROTOCOL,TLS,Proxy auch für Nicht-HTTP-eingehende Verbindungen korrekt funktionieren.

sniffing-enabled (Standard: false)

sniffing-enabled = true

Aktiviert die Protokollerkennung für TCP-Verbindungen.

sniffing-timeout (Standard: 100ms)

sniffing-timeout = 200

Maximale Zeit in Millisekunden, um auf die ersten Daten zur Protokollbestimmung zu warten. Erhöhen Sie diesen Wert, wenn die Protokollerkennung bei langsamen Verbindungen fehlschlägt.


QUIC blockieren

block-quic = auto

Steuert, ob Chute erkannten QUIC-Datenverkehr einschließlich HTTP/3 abweist. QUIC läuft über UDP und kann durch Chutes HTTP-MitM nicht entschlüsselt werden. Das Abweisen von QUIC kann kompatible Clients dazu veranlassen, die Verbindung über TCP erneut aufzubauen. Dadurch können die TCP-basierte Proxy-Verarbeitung und, sofern konfiguriert, die HTTPS-Entschlüsselung angewendet werden.

Wert Verhalten
off Keine globale QUIC-Blockierung anwenden (Standard). Erkannter QUIC-Datenverkehr folgt den normalen Routing-Regeln.
on Jeden erkannten QUIC-Datenstrom abweisen, einschließlich des zu DIRECT gerouteten Datenverkehrs.
auto Erkanntes QUIC nur abweisen, wenn die endgültige ausgehende Richtlinie ein Proxy ist. Zu DIRECT gerouteter Datenverkehr wird zugelassen; zu REJECT gerouteter Datenverkehr bleibt durch diese Regel abgewiesen.

Bei über TUN eingehendem Datenverkehr antwortet Chute auf einen abgewiesenen QUIC-Datenstrom mit einer ICMP/ICMPv6-Port-Unreachable-Meldung. Kompatible Clients können dadurch auf TCP zurückfallen, ohne auf einen QUIC-Timeout zu warten.

Die QUIC-Erkennung für block-quic erfolgt automatisch und benötigt sniffing-enabled nicht. sniffing-enabled steuert die TCP-Protokollerkennung. Verwenden Sie eine Regel vom Typ PROTOCOL,QUIC,..., um einzelne QUIC-Datenströme regelbasiert zu behandeln.


Bypass TUN

bypass-tun = 192.168.0.0/16, 10.0.0.0/8

Ähnlich wie skip-proxy, arbeitet jedoch auf der TUN/VIF-Routing-Ebene. Verbindungen zu diesen IP-Bereichen umgehen die TUN-Schnittstelle vollständig und gehen direkt durch den Systemnetzwerkstack.

Hinweis: Diese Option funktioniert nur für den VIF (utun)-Typ des Erweiterten Modus. Sie hat keine Auswirkung bei Verwendung des PacketTunnel VPN-Typs.


Fehlerseite für Ablehnung anzeigen

show-error-page-for-reject = true

Wenn aktiviert, gibt Chute eine benutzerfreundliche Fehlerseite für abgelehnte Anfragen zurück, anstatt die Verbindung einfach zu trennen.


Optimistisches DNS

optimistic-dns = false

Wenn aktiviert, gibt Chute das zwischengespeicherte DNS-Ergebnis sofort zurück, während der Eintrag im Hintergrund aktualisiert wird. Dies reduziert die Verbindungslatenz auf Kosten möglicherweise veralteter DNS-Einträge.

Standard: true. Setzen Sie optimistic-dns = false zum Deaktivieren.


Wi-Fi-Zugriff erlauben

allow-wifi-access = true

Vorgesehen, um anderen Geräten im selben Wi-Fi-Netzwerk den Zugriff auf die HTTP-/SOCKS5-Proxy-Ports von Chute zu erlauben. Der Schalter wird in den Chute-Apps angezeigt und der Wert bleibt in der Konfiguration erhalten.

Hinweis: Der Kernel speichert dieses Flag derzeit, setzt es aber noch nicht durch.


Verwaltete Konfiguration

#!MANAGED-CONFIG https://example.com/config.conf interval=86400 strict=false

Eine Konfiguration, deren erste Zeile ein #!MANAGED-CONFIG-Header ist, wird automatisch von der URL neu abgerufen. Die Header-Parameter und das Aktualisierungsverhalten sind unter Verwaltete Konfiguration dokumentiert.


Replikat / Verkehrsaufzeichnung

replica = true

Der Schlüssel replica in [General] (replica = true) aktiviert die Verkehrsaufzeichnung; der Abschnitt [Replica] filtert, was das Chute Dashboard anzeigt — seine Schlüssel sind unter Replica dokumentiert.


Externer Controller-Zugriff (Chute Dashboard)

external-controller-access = password@0.0.0.0:6155

Startet den Fernsteuerungsserver, der von Chute Dashboard verwendet wird. Der Wert ist password@host:port; ein Benutzername kann optional dem Passwort vorangestellt werden (user:password@host:port). Auf iOS wird ein begleitender USB-Kanal auf port + 1 geöffnet (nicht auf macOS).


HTTP Control API und Web UI

[General]
external-http-controller = 127.0.0.1:9090
external-http-secret = your-secret-token
external-http-ui = true
external-http-cors = false

Chute bietet eine eingebettete HTTP-Steuerungs-API und eine webbasierte Verwaltungsoberfläche, ähnlich wie Clash- und Surge-Dashboards. Die API stellt Kernel-Status, Verkehr, Verbindungen, DNS, Richtliniensteuerungen und Konfigurationsverwaltung über REST-Endpunkte bereit.

external-http-controller (Standard: deaktiviert)

external-http-controller = 127.0.0.1:9090

Die Adresse und der Port für den HTTP-Steuerungsserver. Verwenden Sie 127.0.0.1 für rein lokalen Zugriff. Das Binden an eine bestimmte Nicht-Loopback-Adresse (zum Beispiel 192.168.1.5:9090) erfordert ein nicht leeres external-http-secret — ohne dieses verweigert der Server den Start und protokolliert eine Warnung. Beachten Sie, dass 0.0.0.0 diese Prüfung besteht, obwohl es auf allen Schnittstellen lauscht: In Kombination mit einem leeren Secret stellt das die gesamte API ohne Authentifizierung ins Netzwerk — setzen Sie daher beim Binden an 0.0.0.0 immer ein Secret.

external-http-secret (Standard: leer)

external-http-secret = your-secret-token

Das Bearer-Token für die API-Authentifizierung. Anfragen müssen den Header Authorization: Bearer <secret> enthalten — das Token wird ausschließlich in diesem Header akzeptiert, niemals als Query-Parameter, und in konstanter Zeit verglichen. Ist das Secret leer, wird jeder Endpunkt ohne Authentifizierung bedient. Fehlgeschlagene Authentifizierung liefert 401 mit {"ok": false, "error": {"code": "unauthorized", "message": "missing or invalid token"}}. Geschützt sind nur die /api/*-Pfade und die Clash-kompatiblen Aliase; die statischen Assets der Web-UI werden immer ausgeliefert.

external-http-ui (Standard: true)

external-http-ui = true

Wenn aktiviert, stellt Chute eine eingebettete Web-UI unter der Controller-Adresse bereit. Die Web-UI bietet ein Übersichts-Dashboard, Verbindungsverwaltung, DNS-Inspektion, Verkehrsüberwachung, Richtliniensteuerungen und Konfigurationsbearbeitung. Setzen Sie auf false, um die API aktiviert zu lassen, während die UI deaktiviert wird.

external-http-cors (Standard: false)

external-http-cors = true

Aktiviert CORS (Cross-Origin Resource Sharing)-Header auf API-Antworten. Nützlich, wenn die Web-UI oder Drittanbieter-Tools von einer anderen Herkunft auf die API zugreifen müssen.

API-Endpunkte:

Methode Endpunkt Beschreibung
GET /api/status Laufzeitstatus, Ports, Betriebszeit
GET /api/traffic Globale und richtlinienbezogene Verkehrszähler
GET /api/connections Aktuell aktive Verbindungen
DELETE /api/connections/:id Eine Verbindung schließen
GET /api/connections/history Historische Verbindungsaufzeichnungen
GET /api/connections/processes Verbindungsstatistik pro Prozess
GET /api/connections/:id/request Erfasste Anfragedaten einer Verbindung
GET /api/connections/:id/response Erfasste Antwortdaten einer Verbindung
GET /api/dns DNS-Cache-Einträge
DELETE /api/dns/cache DNS-Cache leeren
DELETE /api/dns/records/:domain Einen einzelnen DNS-Eintrag entfernen
GET /api/config Aktuelle Konfiguration
PUT /api/config Konfiguration neu laden
GET /api/policies Richtliniengruppen und aktuelle Auswahl
PUT /api/policies/:group Richtliniengruppenauswahl ändern
PUT /api/mode Ausgehenden Modus festlegen
GET /api/features Status der Funktionsschalter
PUT /api/features/mitm MitM umschalten
PUT /api/features/record-traffic Verkehrsaufzeichnung umschalten
GET /api/rules Geladene Regeln
GET /api/logs Aktuelle Protokolleinträge

Endpunkt-Hinweise:

  • GET /api/connections akzeptiert limit (positive Ganzzahl, Standard und Maximum 1000) und cursor (liefert nur Verbindungen mit einer id größer als der Cursor). Das Antwortfeld data enthält connections, total, page_size, has_more und — wenn weitere Seiten existieren — next_cursor.
  • GET /api/connections/history akzeptiert limit (Standard 100, Maximum 1000) und cursor/before (Synonyme; beide zugleich zu übergeben wird abgelehnt).
  • GET /api/connections/:id/request und .../response liefern {"connection_id": <id>, "data": "<base64>"}. Mitschnitte größer als 2 MiB liefern 413.
  • GET /api/config liefert die Konfiguration mit sensiblen Werten (http-auth, external-http-secret, ca-p12, ca-passphrase, WireGuard-Schlüssel und ähnliche) ersetzt durch <redacted> — geben Sie das Ergebnis nicht unverändert an PUT /api/config zurück, sonst werden die Platzhalter wörtlich in die Konfiguration geschrieben.
  • PUT /api/config akzeptiert entweder JSON {"configuration": "<full text>"} oder den rohen Konfigurationstext als Request-Body (Limit 1 MB). Bei Erfolg lädt der Kernel neu — oder startet, falls er nicht lief.
  • PUT /api/policies/:group übernimmt die Auswahl aus dem ersten vorhandenen der Body-Schlüssel policy, name, selected, select; der Wert kann ein Richtlinienname oder ein numerischer Index als String sein. Der spezielle Gruppenname GLOBAL setzt die global ausgewählte Richtlinie.
  • PUT /api/mode erfordert eine JSON-Zahl: {"mode": 0}0 Regel, 1 direkt, 2 Proxy.
  • PUT /api/features/mitm und PUT /api/features/record-traffic nehmen {"enabled": true} entgegen.
  • GET /api/logs akzeptiert since (Unix-Sekunden); der In-Memory-Puffer behält die letzten 1000 Einträge, jeder als {timestamp, level, section, message}.

Beispiel — den Status lesen, dann eine Richtliniengruppe umschalten:

curl -H "Authorization: Bearer your-secret-token" http://127.0.0.1:9090/api/status
{"ok":true,"data":{"running":true,"outbound_mode":0,"mitm":false, ...}}

curl -X PUT -H "Authorization: Bearer your-secret-token" \
     -d '{"policy": "ProxyB"}' http://127.0.0.1:9090/api/policies/MainGroup
{"ok":true,"data":{"outbound_mode":0,"selectable_groups":[...], ...}}

Hinweis: Diese Funktion ist standardmäßig deaktiviert. Jede Antwort verwendet den Umschlag {"ok": true, "data": {...}} bei Erfolg und {"ok": false, "error": {"code": "...", "message": "..."}} bei Fehlern; Request-Bodys sind auf 1 MB begrenzt.

PUT-Endpunkte akzeptieren auch PATCH. Für Dashboards von Drittanbietern stehen Clash-kompatible Alias-Pfade zur Verfügung: /version, /traffic, /connections, /configs, /proxies, /rules — die Pfade sind erreichbar, aber die Antworten verwenden Chutes Umschlag und Feldnamen statt des Clash-Schemas (/version liefert nur {"name", "run_id"}), Clash-Dashboards funktionieren daher nicht ohne Weiteres.


Client-Fingerabdruck

global-client-fingerprint = chrome

Legt den TLS-Client-Fingerabdruck für jede Richtlinie fest, die keinen eigenen fingerprint trägt. Der Wert der Richtlinie hat immer Vorrang; dies ist also eine Vorgabe und keine Übersteuerung.

Unterstützte Werte sind chrome, firefox, safari und ios sowie edge, 360, qq, android und random, die alle als Chrome behandelt werden. Ein unbekannter Wert wird ignoriert und der TLS-Stack der Plattform verwendet.

Standard: leer, also der TLS-Stack der Plattform. Nur Trojan-, VMess-, VLESS- und ShadowTLS-Richtlinien lesen ihn.

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-08-18 12:08:14

Diese Seite ist eine Übersetzung der englischen Version. Bei Abweichungen ist die englische Version maßgeblich.

results matching ""

    No results matching ""