Header-Umschreibung

Chute kann Anfrage- und Antwort-Header umschreiben, bevor sie an den Server oder Client weitergeleitet werden.

Mehrere Regeln können auf eine einzelne Anfrage angewendet werden.

Hinweis: Eine unverschlüsselte HTTP-Anfrage wird nur verarbeitet, wenn sie Chute über seinen HTTP-Proxy erreicht; unverschlüsseltes HTTP, das über die TUN-Schnittstelle ankommt, wird unverändert weitergeleitet. Chute Android leitet sämtlichen Verkehr über TUN, sofern nicht System-HTTP-Proxy in den Einstellungen eingeschaltet ist, womit Apps den HTTP-Proxy von Chute erhalten (Android 10 und neuer; standardmäßig aus). Eine HTTPS-Anfrage wird nur verarbeitet, wenn ihr Host per MitM entschlüsselt wird.

Beispiel:

[Header Rewrite]
^http://example\.com.* header-add DNT 1
^http://example\.com.* header-del Cookie
^http://example\.com.* header-replace User-Agent Unknown
^http://example\.com.* header-response-add X-Server rack3
^http://example\.com.* header-response-del X-Powered-By
^http://example\.com.* header-response-replace Server nginx

Die Umschreibungsregel besteht aus 4 Teilen: regulärer Ausdruck für URL, Aktionstyp, Header-Feld und Wert. Nur ein // am Zeilenanfang oder nach einem Leerzeichen, außerhalb doppelter Anführungszeichen, leitet hier einen Kommentar ein; # und ; tun das nie, daher behält header-add X-Color #ff0000 seinen Wert. Siehe Kommentar.

Hinweis: Der reguläre Ausdruck für die URL wird an beliebiger Stelle der vollständigen Anfrage-URL abgeglichen, und ebenso in ihrem Pfad allein, wie bei der URL-Umschreibung: ^https://example\.com deckt bereits jeden Pfad und Query-String dieses Hosts ab, ein abschließendes .* ist unnötig, und ^/api passt auf jede Anfrage, deren Pfad mit /api beginnt. Die vollständige URL einer entschlüsselten Anfrage beginnt mit https://, daher passt ein Muster ^http:// nie auf eine solche Anfrage. Das Muster behält seine Groß-/Kleinschreibung, sodass \S, \D, \W und \B bedeuten, was dasteht; der Abgleich selbst ignoriert die Groß-/Kleinschreibung.

Anfrage- vs. Antwort-Header

Aktionen mit dem Präfix header- gelten für Anfrage-Header (vom Client zum Server). Aktionen mit dem Präfix header-response- gelten für Antwort-Header (vom Server zum Client).

Ein optionales Richtungspräfix im Surge-Stil http-request / http-response vor dem regulären Ausdruck für die URL wird ebenfalls akzeptiert, z. B. http-request ^http://example\.com.* header-replace Accept-Language en-us.

header-add

Setzt ein Header-Feld im Anfrage-Header auf den angegebenen Wert. Wenn das Header-Feld bereits existiert, wird es überschrieben; ein Feld mit mehreren Zeilen behält nur die eine neue Zeile.

Beispiel:

[Header Rewrite]
^http://example\.com.* header-add DNT 1

Vorher:
GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
Accept-Language: en-us
Accept-Encoding: gzip, deflate

Nachher:
GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
Accept-Language: en-us
Accept-Encoding: gzip, deflate
DNT: 1

header-del

Löscht ein Header-Feld aus dem Anfrage-Header, bei mehreren Zeilen alle.

Beispiel:

[Header Rewrite]
^http://example\.com.* header-del DNT

Vorher:
GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
Accept-Language: en-us
Accept-Encoding: gzip, deflate
DNT: 1

Nachher:
GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
Accept-Language: en-us
Accept-Encoding: gzip, deflate

header-replace

Ersetzt einen Header-Wert im Anfrage-Header. Wenn das Header-Feld nicht existiert, passiert nichts. Ein Feld mit mehreren Zeilen behält eine einzige Zeile mit dem neuen Wert.

Beispiel:

[Header Rewrite]
^http://example\.com.* header-replace DNT 1

Vorher:
GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
Accept-Language: en-us
Accept-Encoding: gzip, deflate
DNT: 0

Nachher:
GET /index.html HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
Accept-Language: en-us
Accept-Encoding: gzip, deflate
DNT: 1

Hinweis: header-replace funktioniert nur, wenn das Header-Feld bereits existiert. Um ein Header-Feld unabhängig davon zu setzen, ob es existiert, verwenden Sie header-add — es überschreibt jedes vorhandene Feld mit demselben Namen, sodass die Kombination von header-del und header-add unnötig ist.


header-replace-regex

Schreibt einen Teil eines vorhandenen Header-Werts mit einem regulären Ausdruck um. Die Regel nimmt das Header-Feld, einen regulären Ausdruck, der auf dessen Wert angewendet wird, und die Ersetzung, die mit $1, $2 auf Capture-Gruppen verweisen kann. Existiert das Header-Feld nicht, passiert nichts. Setzen Sie den regulären Ausdruck oder die Ersetzung in doppelte Anführungszeichen, wenn er Leerzeichen enthält; "" ist eine leere Ersetzung.

Beispiel:

[Header Rewrite]
^https://example\.com header-replace-regex User-Agent "Chrome/[0-9.]+" Chrome/120.0.0.0
^https://example\.com header-response-replace-regex Set-Cookie "; Secure" ""

Der auf den Header-Wert angewendete reguläre Ausdruck unterscheidet Groß- und Kleinschreibung. Bei einem Feld mit mehreren Zeilen, etwa den Set-Cookie-Zeilen einer Antwort, wird jede Zeile für sich umgeschrieben, und alle bleiben erhalten. Wie bei den anderen Aktionen wirkt header-response-replace-regex (oder das Präfix http-response) auf Antwort-Header.

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 ""