Regel

Chute kann Anfragen an einen anderen Proxy-Server weiterleiten oder direkt mit dem Host verbinden, abhängig von benutzerdefinierten Regeln.

Priorität

Regeln werden von der ersten bis zur letzten in der Reihenfolge abgeglichen, in der sie in der Konfigurationsdatei erscheinen. Mit anderen Worten, Regeln am Anfang der Liste haben eine höhere Priorität als spätere. Regeln aus Modulen stehen in der Ladereihenfolge der Module vor den eigenen Regeln der Konfiguration, und die Regeln, die Chute zur Laufzeit für Tailscale einfügt, stehen vor beiden.

Aufbau

Jede Regel besteht aus 3 Teilen: Regeltyp, einem Abgleichwert für den Verkehr (außer bei der FINAL-Regel) und einer Richtlinie: TYPE, VALUE, POLICY. Beispiel: DOMAIN-SUFFIX,apple.com,DIRECT IP-CIDR,192.168.0.0/16,ProxyA

Die Richtlinie muss der Name eines Proxy-Servers, einer Richtliniengruppe oder einer integrierten Richtlinie wie DIRECT, REJECT (oder einer ihrer Varianten) oder PROXY sein. Regeln sollten mit einer FINAL-Regel enden, um das Standardverhalten zu definieren. Wenn die Konfiguration keine FINAL-Regel enthält, verhält sich Chute so, als wäre FINAL,DIRECT angehängt.

Beispiel:

[Rule]
DOMAIN-SUFFIX,company.com,ProxyA
DOMAIN-KEYWORD,google,DIRECT
GEOIP,US,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,ProxyB

Regeltypen

Domain-basierte Regeln

Typ Syntax Übereinstimmung
DOMAIN DOMAIN,www.apple.com,Proxy Exakte Domain-Übereinstimmung
DOMAIN-SUFFIX DOMAIN-SUFFIX,apple.com,Proxy Domain-Suffix-Übereinstimmung
DOMAIN-KEYWORD DOMAIN-KEYWORD,google,Proxy Domain enthält Schlüsselwort
DOMAIN-WILDCARD DOMAIN-WILDCARD,*.apple.com,Proxy Wildcard-Domain-Übereinstimmung
DOMAIN-REGEX DOMAIN-REGEX,^mail\..+\.com$,Proxy Domain-Regex-Übereinstimmung
DOMAIN-SET DOMAIN-SET,https://example.com/domains.txt,DIRECT Von einer URL heruntergeladene Domain-Menge

IP-basierte Regeln

Typ Syntax Übereinstimmung
IP-CIDR IP-CIDR,192.168.0.0/16,DIRECT IP-Adresse im CIDR-Bereich
IP-CIDR6 IP-CIDR6,2001:db8::/32,DIRECT IPv6-Adresse im CIDR-Bereich
GEOIP GEOIP,US,DIRECT Ländercode aus GeoIP-Datenbank
IP-ASN IP-ASN,13335,DIRECT IP-Adresse gehört zu ASN

Regeln auf HTTP-Ebene

Typ Syntax Übereinstimmung
USER-AGENT USER-AGENT,Instagram*,DIRECT User-Agent-Header
URL-REGEX URL-REGEX,^http://google\.com.*,DIRECT Vollständige URL einer unverschlüsselten HTTP-Anfrage stimmt mit Regex überein
PROTOCOL PROTOCOL,TLS,Proxy Erkanntes Protokoll (HTTP/TLS/QUIC/usw.)

Prozessregeln (macOS und Android)

Typ Syntax Übereinstimmung
PROCESS-NAME PROCESS-NAME,Telegram,Proxy Prozessname (Wildcard-Abgleich)
PROCESS-PATH PROCESS-PATH,/Applications/Safari.app,Proxy Vollständiger Prozesspfad (Wildcard-Abgleich)
PROCESS-NAME-REGEX PROCESS-NAME-REGEX,^Safari$,DIRECT Prozessname (Regex-Abgleich)

Port- & Quell-Regeln

Typ Syntax Übereinstimmung
DEST-PORT DEST-PORT,80,DIRECT Zielport
SRC-IP SRC-IP,192.168.20.100,DIRECT Quell-IP-Adresse (einzelne IP oder CIDR)
SRC-PORT SRC-PORT,52345,DIRECT Quellport
IN-PORT IN-PORT,6152,DIRECT Eingehender Proxy-Port auf Chute

Erweiterte Abgleichregeln

Typ Syntax Übereinstimmung
SUBNET SUBNET,TYPE:WIFI,Proxy Netzwerk-Subnetz-Attribute (TYPE, BSSID, SSID, ROUTER)
HOSTNAME-TYPE HOSTNAME-TYPE,AAAA,Proxy DNS-Eintragstyp (A/AAAA/usw.)
IN-TYPE IN-TYPE,SOCKS5,Proxy Eingehender Verbindungstyp (HTTP/SOCKS5/TUN)
IN-USER IN-USER,user1,Proxy Benutzername der eingehenden Authentifizierung
IN-NAME IN-NAME,my-proxy,Proxy Name des eingehenden Proxy-Servers

Hinweis: SUBNET und HOSTNAME-TYPE greifen auf laufenden Verkehr — SUBNET auf das Netzwerk, in dem sich das Gerät gerade befindet (Apple TV hat keine Netzwerkidentität, dort greift SUBNET nie). Auch IN-TYPE und IN-USER greifen auf laufenden Verkehr: IN-TYPE benennt den Eingang, über den eine Verbindung eintraf (HTTP, SOCKS5 oder TUN), und IN-USER den Benutzernamen, den dieser Eingang gegen http-auth geprüft hat — ohne konfigurierte Zugangsdaten gibt es nichts zu prüfen, IN-USER greift dann nie. IN-NAME wird akzeptiert, damit ein Surge-Profil lädt, aber Chute betreibt genau einen unbenannten HTTP- und einen unbenannten SOCKS5-Listener; es gibt also keinen Eingangsnamen zum Abgleichen und die Regel greift nie. Verwenden Sie stattdessen IN-TYPE oder IN-PORT.

Logische Kombinationsregeln

Typ Syntax Übereinstimmung
AND AND,((DOMAIN,example.com),(DEST-PORT,443)),Proxy Alle Unterregeln stimmen überein
OR OR,((DOMAIN,example.com),(DOMAIN,test.com)),Proxy Beliebige Unterregel stimmt überein
NOT NOT,((DOMAIN,example.com)),Proxy Unterregel stimmt NICHT überein

Spezielle Regeln

Typ Syntax Übereinstimmung
RULE-SET RULE-SET,SYSTEM,DIRECT Regelbündel aus einer URL, einem Regel-Provider oder integrierten Sätzen
SCRIPT SCRIPT,MyRuleScript,PROXY JavaScript-basierter benutzerdefinierter Regelabgleich
FINAL FINAL,ProxyB Standard, wenn keine andere Regel passt (muss die letzte sein)

Optionen

no-resolve

Bei einer Anfrage, deren Hostname eine Domain ist, wertet Chute die Regelliste in zwei Durchläufen aus. Im ersten Durchlauf werden IP-basierte Regeln (GEOIP, IP-CIDR, IP-ASN) übersprungen. Wenn keine andere Regel greift, löst Chute die Domain per DNS auf und wertet die Regeln erneut mit der aufgelösten IP-Adresse aus. Fügen Sie die Option no-resolve hinzu, damit eine IP-basierte Regel auch im zweiten Durchlauf übersprungen bleibt und somit nur auf Anfragen greift, die bereits eine IP-Adresse tragen.

GEOIP,US,DIRECT,no-resolve
IP-CIDR,172.16.0.0/12,DIRECT,no-resolve

In einer RULE-SET-Zeile gilt no-resolve für jede IP-basierte Regel des Satzes, als trüge jede sie selbst: RULE-SET,https://example.com/cn-ip.list,DIRECT,no-resolve. Die integrierten Sätze SYSTEM und LAN werden in einzelne Regeln entpackt und nehmen es nicht an.

Hinweis: Aufgrund der zweistufigen Auswertung kann bei einer Anfrage mit Domain-Hostname eine spätere Nicht-IP-Regel vor einer früheren IP-basierten Regel greifen. Wenn die DNS-Auflösung fehlschlägt, greifen IP-basierte Regeln einfach nie und die FINAL-Regel kommt zur Anwendung; die Regelauswertung wird nicht abgebrochen.

force-remote-dns

Erzwingt die DNS-Auflösung über den entfernten Proxy-Server anstelle des lokalen DNS.

DOMAIN-SUFFIX,google.com,Proxy,force-remote-dns

Hinweis: Diese Option wird derzeit nur aus Kompatibilitätsgründen geparst und hat in den aktuellen Versionen keine Wirkung.

extended-matching

Erweitert den domain-basierten Regelabgleich, um zusätzlich zum Verbindungshostnamen auch den HTTP-Host-Header zu prüfen. Der Header stammt aus der ersten Anfrage einer Client-Verbindung zum HTTP-Proxy-Listener — bei HTTPS aus dem eigenen Host-Header der CONNECT-Anfrage —, die Option hilft also, wenn ein Client eine Anfrage an eine IP-Adresse richtet oder an einen anderen Namen als den, den sein Host-Header trägt. Verbindungen über TUN oder SOCKS5 tragen keinen Host-Header, und die Option ändert für sie nichts.

DOMAIN-SUFFIX,example.com,Proxy,extended-matching

requires-resolve

Bei SCRIPT-Regeln wird diese Option vom Parser akzeptiert, verzögert die Skriptauswertung jedoch nicht. $request.dnsResult ist im Skript nur verfügbar, wenn die Sitzung bereits aufgelöst wurde (zum Beispiel bei Anfragen direkt an eine IP-Adresse oder im zweiten Abgleichdurchlauf nach der DNS-Auflösung).

SCRIPT,MyRuleScript,PROXY,requires-resolve

pre-matching

Nur gültig bei Regeln, deren Richtlinie REJECT oder eine ihrer Varianten ist (REJECT-DROP, REJECT-TINYGIF, …). Pre-Matching-Regeln werden in einem separaten Durchlauf vor dem Regelergebnis-Cache und der normalen Regeltabelle ausgewertet, sodass ein passendes REJECT bereits im ersten Durchlauf greift — vor jeder DNS-Auflösung, die die Regeltabelle auslösen würde. Eine RULE-SET- oder DOMAIN-SET-Zeile nimmt pre-matching an und behält es bei, der Satz wird aber nicht in diesem frühen Durchlauf abgeglichen: Er nimmt weiterhin an seiner eigenen Position in der Regelliste teil.

DOMAIN-SUFFIX,tracker.example.com,REJECT,pre-matching

dns-failed

Nur bei der FINAL-Regel gültig. Braucht die Entscheidung für eine Anfrage eine lokale DNS-Auflösung und schlägt diese fehl, wird die Anfrage an die FINAL-Richtlinie übergeben, statt zu scheitern — siehe Finale Regel.

FINAL,Proxy,dns-failed

notification-text

Sendet eine Systembenachrichtigung, wenn die Regel greift. Der Titel ist der Text, der Inhalt nennt Ziel und Richtlinie (host:port → policy; auf Android host:port · policy · process). notification-interval legt fest, wie viele Sekunden vergehen müssen, bevor dieselbe Regel erneut benachrichtigt (Standard 300). Jede Regel kann diese Optionen tragen, auch FINAL. Eine RULE-SET- oder DOMAIN-SET-Zeile nimmt sie an und behält sie bei, doch ein Treffer innerhalb des Satzes sendet nie eine Benachrichtigung.

DOMAIN-SUFFIX,bank.example,DIRECT,notification-text="Bank site opened",notification-interval=60
FINAL,Proxy,notification-text=Fell%20to%20FINAL

Setzen Sie einen Text mit Leerzeichen in Anführungszeichen oder schreiben Sie jedes Leerzeichen als %20; ein Komma schreiben Sie als %2C. Chute sendet die Benachrichtigung selbst und folgt dem Schalter der App dafür — Benachrichtigung erlauben auf dem iPhone, Ereignisbericht-Benachrichtigungen anzeigen auf dem Mac, die Benachrichtigungsberechtigung des Systems für Chute auf Android —, sodass nichts angezeigt wird, wenn er aus ist, und Apple TV zeigt nie eine an. Jeder Treffer wird außerdem als Regelbenachrichtigungs-Ereignis erfasst — siehe Benachrichtigungsberichte.

Aliase

  • DOMAIN-MATCH wird als Alias von DOMAIN-KEYWORD akzeptiert.
  • NETWORK wird als Alias von PROTOCOL akzeptiert.
  • DST-PORT wird als Alias von DEST-PORT akzeptiert.

Domain-Menge

Chute unterstützt das Laden von Domain-Mengen von einer externen URL mit dem Regeltyp DOMAIN-SET. Das erste Feld nach dem Typ muss eine http(s)-URL sein. Der optionale Parameter update-interval gibt an, wie alt die heruntergeladene Kopie in Sekunden werden darf, bevor sie erneut abgerufen wird; einen Timer gibt es nicht — siehe Externer Regelsatz.

DOMAIN-SET,https://example.com/domains.txt,DIRECT
DOMAIN-SET,https://example.com/domains.txt,DIRECT,update-interval=86400

Die Domain-Mengen-Datei enthält bloße Domains, eine pro Zeile: example.com passt auf die exakte Domain; .example.com oder +.example.com passt auf die Domain und alle ihre Subdomains. Zeilen, die mit # oder // beginnen, sind Kommentare.

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-09-29 21:57:05

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

results matching ""

    No results matching ""