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.
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. Dies ist standardmäßig auf macOS und tvOS aktiviert und auf iOS deaktiviert. Die Verwendung von Network.framework kann eine bessere Leistung und moderne TLS-Stack-Integration auf unterstützten Plattformen bieten.
Standard:
trueauf macOS/tvOS,falseauf iOS.
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.
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.
Geschwindigkeitsanzeige in der Menüleiste (Nur Mac)
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,HTTPS,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.
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 = true
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.
Wi-Fi-Zugriff erlauben
allow-wifi-access = true
Wenn in einem Mobilfunk-/getakteten Kontext aktiviert, funktioniert Chute weiterhin über Wi-Fi-Verbindungen. Dies ist macOS-spezifisch.
Verwaltete Konfiguration
Chute unterstützt remote verwaltete Konfiguration über den #!MANAGED-CONFIG-Header am Anfang der Konfigurationsdatei:
#!MANAGED-CONFIG https://example.com/config.conf interval=86400 strict=false
| Parameter | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
<url> |
Ja | — | URL, von der die Konfiguration abgerufen wird |
interval |
Nein | 86400 (24h) | Aktualisierungsintervall in Sekunden |
strict |
Nein | false | Wenn true, kann die verwaltete Konfiguration nicht lokal überschrieben werden |
Chute ruft die Konfiguration regelmäßig von der angegebenen URL ab und wendet sie an. Lokale Änderungen an einer strikten verwalteten Konfiguration werden nicht gespeichert.
Replikat / Verkehrsaufzeichnung
Der Abschnitt [Replica] steuert das Verhalten und die Filterung der Verkehrsaufzeichnung:
[Replica]
hide-apple-request = true
hide-udp = true
hide-crashlytics-request = true
use-keyword-filter = false
keyword-filter = example
| Schlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
hide-apple-request |
Boolean | false | Apple-Dienstanfragen aus dem Verkehrsprotokoll ausblenden |
hide-udp |
Boolean | false | UDP-Verkehr aus dem Verkehrsprotokoll ausblenden |
hide-crashlytics-request |
Boolean | false | Crashlytics-Anfragen aus dem Verkehrsprotokoll ausblenden |
use-keyword-filter |
Boolean | false | Schlüsselwortbasierte Verkehrsfilterung aktivieren |
keyword-filter |
String | — | Durch Kommas getrennte Schlüsselwörter zum Filtern von Verkehrsaufzeichnungen |
Der Schlüssel
replicain[General](replica = true) aktiviert die Verkehrsaufzeichnung. Verwenden Sie den Abschnitt[Replica], um zu filtern, was aufgezeichnet wird.
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 0.0.0.0 oder eine Nicht-Loopback-Adresse ermöglicht Fernzugriff und erfordert ein nicht leeres external-http-secret.
external-http-secret (Standard: leer)
external-http-secret = your-secret-token
Das Bearer-Token, das für die API-Authentifizierung verwendet wird. Anfragen müssen den Header Authorization: Bearer <secret> enthalten. Erforderlich, wenn der Controller an eine Nicht-Loopback-Adresse gebunden ist oder wenn Fernzugriff gewünscht wird.
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/dns |
DNS-Cache-Einträge |
DELETE |
/api/dns/cache |
DNS-Cache leeren |
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 |
Hinweis: Diese Funktion ist standardmäßig deaktiviert. Die API verwendet JSON-Antworten mit dem Format
{"ok": true, "data": {...}}für Erfolg und{"ok": false, "error": {"code": "...", "message": "..."}}für Fehler.