Versionshinweise zu Chute iOS

Version 1.2.2 (382)

Neue Funktionen:

  • Proxy-Verkettung hinzugefügt: Eine Richtlinie kann einen underlying-proxy angeben und ihren Server über ihn erreichen, eine Richtliniengruppe kann alle ihre Mitglieder über einen gemeinsamen Upstream leiten, und die neue Zeile „Front-Proxy“ unter „Erweitert“ (global-underlying-proxy) tut dasselbe für jeden Knoten, der keinen eigenen Upstream festlegt. Jeder Transport außer Tailscale lässt sich verketten — Stream-Protokolle laufen über den Stream des Upstreams; Hysteria2, TUIC, MASQUE und XHTTP über HTTP/3 laufen in festen 1280-Byte-Paketen über dessen UDP-Relais; WireGuard- und AmneziaWG-Tunnel laufen mit einer inneren MTU von 1280 Byte durch ihn hindurch; SSH- und AnyTLS-Sitzungen werden darüber geöffnet. Eine Kette, die eine Schleife bildet, mehr als 16 Ebenen tief verschachtelt ist oder eine nicht vorhandene Richtlinie nennt, wird abgelehnt, statt den Verkehr direkt hinauszuschicken
  • Relay-Gruppen hinzugefügt (relay, wie in Clash und mihomo): Die Mitglieder werden in der angegebenen Reihenfolge verkettet — das erste wird direkt erreicht, jedes weitere über die vor ihm liegenden, und das letzte verbindet sich mit dem Ziel. Der Gruppen-Editor bietet „Relay“ an, behält die Mitglieder in dieser Reihenfolge bei und verlangt mindestens zwei
  • Random-Gruppen hinzugefügt (random, wie in Shadowrocket): Jede Verbindung wählt zufällig ein Mitglied, bei UDP nur unter den Mitgliedern, die UDP übertragen können. Da es bei einer Random-Gruppe keine Auswahl zu ändern gibt, fehlt sie überall dort, wo Sie die Richtlinie einer Gruppe wählen, und der Gruppen-Editor belässt sie als Random-Gruppe
  • Proxy-Kette im Dashboard und in der Web-Konsole hinzugefügt: Die Anfragedetails und die UDP-Liste nennen jeden Hop (Airport/HK-01 → Landing), und der HAR-Export enthält den Pfad
  • „Download über“ in den Editoren für Regel- und Proxy-Provider hinzugefügt: policy= lädt die Liste über die gewählte Richtlinie, und bei einem nicht vorhandenen Richtliniennamen schlägt der Download fehl, statt die Liste direkt abzurufen
  • UDP über TCP im Shadowsocks-Editor hinzugefügt — udp-over-tcp, Version 1 oder 2 —, sodass das UDP eines Proxys innerhalb seiner TCP-Verbindungen läuft und selbst über eine Kette funktioniert, deren Upstream kein UDP überträgt
  • UDP für VMess und VLESS hinzugefügt: An VMess oder VLESS gesendetes UDP wurde bisher rundweg abgelehnt (es folgte udp-policy-not-supported-behaviour, standardmäßig REJECT); jetzt läuft es über eine Verbindung je Ziel, wie in mihomo, sing-box und Shadowrocket
  • jq in der Body-Umschreibung hinzugefügt: http-request-jq und http-response-jq wenden ein echtes jq-Programm auf einen JSON-Body an, und der Editor bietet dafür das Feld „JQ-PROGRAMM“; ein ungültiges Programm wird gemeldet und seine Regel übersprungen, und bei einem Nicht-JSON-Body, einem fehlschlagenden Programm oder leerer Ausgabe bleibt der Body unverändert
  • Generische Skripte hinzugefügt: Ein Skript mit type=generic hat keinen automatischen Auslöser und läuft nur auf Abruf — über die Schaltfläche „Ausführen“ in seinem Editor oder über GET /api/scripts und POST /api/scripts/run. Der Skript-Editor erhält außerdem das Feld „Ereignisname“: Zugestellt wird nur network-changed, ein Ereignisskript, das ein anderes Ereignis nennt, läuft also nie
  • Eigene DNS-Pools hinzugefügt: direct-dns-server löst die Domains auf, die eine Regel an DIRECT sendet, proxy-dns-server löst die eigenen Hostnamen Ihrer Proxy-Server auf, und fallback-dns-server wird gefragt, wenn die Hauptserver keine Antwort geben; jeder fällt auf die globalen Server zurück, und der DNS-Editor hat für jeden eine Zeile
  • #proxy / #proxy=<policy> für DNS-Upstreams hinzugefügt, DoQ und DoH3 eingeschlossen: Ein QUIC-Resolver läuft über das UDP-Relais der Richtlinie; eine Richtlinie, die kein UDP übertragen kann, überspringt diesen Server, statt ihn direkt zu fragen; ein einfacher Resolver, der über eine Richtlinie geleitet wird, wechselt zu DNS über TCP; und einfache tcp://-Upstreams werden für Pfade akzeptiert, auf denen DNS über UDP verworfen wird
  • encrypted-dns-follow-outbound-mode, allow-dns-svcb — HTTPS- und SVCB-Anfragen werden leer beantwortet, solange es aus ist — sowie pro Server #h3, #skip-cert-verify, #disable-ipv4, #disable-ipv6 und #disable-qtype= hinzugefügt
  • Lokale DNS-Zuordnung erweitert: Ein [Host]-Eintrag behält alle aufgeführten Server und fragt sie parallel ab, bildet eine Domain auf mehrere Adressen ab, kann einen Regelsatz als Schlüssel verwenden (RULE-SET:<url>), führt für diese Domain ein type=dns-Skript aus (script:<name>) und akzeptiert ssid:<name> für eine Zuordnung pro Netzwerk
  • Regelbenachrichtigungen hinzugefügt: Jede Regel, FINAL eingeschlossen, akzeptiert notification-text= und notification-interval= und sendet bei einem Treffer eine Benachrichtigung, pro Regel höchstens einmal je Intervall; Benachrichtigungen folgen dem Schalter „Benachrichtigung erlauben“ der App, und ein Antippen öffnet die URL, die sie enthält
  • FINAL,<policy>,dns-failed hinzugefügt: Wenn ein Name nicht aufgelöst werden kann, wird die Verbindung auf der FINAL-Richtlinie mit Remote-Auflösung geöffnet, statt geschlossen zu werden
  • Die REJECT-Familie als echte Richtlinien hinzugefügt — REJECT-DROP, REJECT-NO-DROP, REJECT-TINYGIF, REJECT-IMG, REJECT-DICT, REJECT-ARRAY, REJECT-200 und REJECT-VIDEO —, jede beantwortet eine HTTP-Anfrage mit ihrem dokumentierten Body, und ein Host, der mehr als 50 Mal in 30 Sekunden abgelehnt wird, wird auf REJECT-DROP hochgestuft; die Richtlinienauswahl bietet sie an, schreibt DIRECT-/REJECT-/PROXY-Token, wo früher ein lokalisierter Name geschrieben wurde, und repariert Namen, die ein älterer Build hinterlassen hat
  • Eingebettete Regelsätze hinzugefügt: Abschnitte [Ruleset Name] werden im Konfigurationseditor gesondert aufgelistet, Zeile für Zeile bearbeitet und als RULE-SET,<name> referenziert, einschließlich Verweisen zwischen ihnen — bis zu acht Ebenen tief, Schleifen werden abgelehnt
  • Die SSID-Familie hinzugefügt: DNS-Überschreibungen in [SSID Setting] gelten pro Netzwerk — Namen, BSSID:, TYPE:WIFI / CELLULAR / WIRED, ROUTER:, in Anführungszeichen gesetzte und Wildcard-Namen — und leeren den Cache des vorherigen Resolvers, wenn das Netzwerk wechselt; ssid- und subnet-Richtliniengruppen wählen Mitglieder aus dem aktuellen Netzwerk, SUBNET-Regeln treffen es, und suspend=true stoppt jetzt den Tunnel: Ein Netzwerkname oder TYPE:-Eintrag wird zu einer On-Demand-Trennregel, ein BSSID:-, ROUTER:- oder Wildcard-Eintrag wird von der Erweiterung selbst ausgesetzt, und die Erweiterung weist darauf hin, wenn „Immer an“ den Tunnel zurückholen würde
  • DEST-PORT-, SRC-PORT- und IN-PORT-Bereiche und -Vergleiche hinzugefügt (80-81, >=50000, /-Listen), HOSTNAME-TYPE-Werte IPv4, IPv6, DOMAIN und SIMPLE sowie funktionierende IN-TYPE-, IN-USER- und IN-NAME-Regeln, die jetzt echten Verkehr treffen statt nur in einem Probelauf
  • MitM-Optionen hinzugefügt: HTTP/2 entschlüsseln (h2), QUIC zu entschlüsselten Hosts blockieren, damit HTTP/3 die Entschlüsselung nicht umgehen kann (auto-quic-block), Hosts von der Entschlüsselung ausnehmen und die Schlüsselwörter <ipv4-address>, <ipv6-address> und <simple-hostname> in der Host-Liste auswerten
  • QUIC-Routing nach Domain hinzugefügt: Der Name wird aus dem QUIC-Initial des Clients gelesen, ein über mehrere Initials verteilter ClientHello wird wieder zusammengesetzt, und der Flow wird gehalten, bis der Name bekannt ist, sodass DOMAIN-Regeln HTTP/3-Verbindungen routen, die zu einer bloßen Adresse aufgebaut werden
  • icmp-auto-reply hinzugefügt, standardmäßig aktiv: Ein Ping im Tunnel wird lokal beantwortet, über IPv4 und IPv6, statt in einen Timeout zu laufen
  • tun-included-routes hinzugefügt: Die aufgeführten CIDRs kommen nach der Standardroute zu den Routen des Tunnels hinzu, sodass ein Bereich, den sonst das eigene Subnetz der WLAN-Schnittstelle oder ein anderes VPN übernehmen würde — das System bevorzugt die spezifischere Route —, über Chute läuft. Einträge, die den Tunnel abschneiden würden (Loopback, die eigenen Subnetze des Tunnels, Link-Local, Multicast, Broadcast, eine Präfixlänge von 0), werden abgelehnt und protokolliert, private Bereiche werden mit einer Warnung akzeptiert, und eine geänderte Liste greift beim Neuladen, ohne dass der Tunnel neu gestartet wird
  • Importumfang erweitert: GEOSITE- und Kategorie-GEOIP-Regeln aus mihomo werden zu funktionierenden Regelsätzen aufgelöst, policy-path-Gruppen erzeugen einen Provider mit update-interval, Filtern und Include-Listen, SUB-RULE aus mihomo wird in AND-Regeln umgesetzt, detour aus sing-box und dialer-proxy aus mihomo werden als Verkettung importiert, allowed-ips von WireGuard wird kompiliert und durchgesetzt, sodass ein Split-Tunnel nicht mehr jedes Ziel verschluckt, und interface= / allow-other-interface= einer Richtlinie bindet deren Verbindungen an eine einzige Netzwerkschnittstelle
  • Skript-API erweitert: $httpAPI ruft die eigenen Routen der Engine auf, ohne einen Socket zu öffnen, $httpClient beachtet eine policy, read-etc-hosts speist die Hosts-Datei in DNS ein, und $event.name meldet das Ereignis, das tatsächlich ausgelöst wurde
  • Optionen für Mock-Antworten hinzugefügt — der Body kann Text, eine Datei, base64 oder ein 1×1-GIF sein, mit Statuscode und Validierung — sowie Typ-Tabellen für URL- und Header-Umschreibung, mit einem Modus für reguläre Ausdrücke zum Ersetzen des Werts eines Headers

Verbesserungen:

  • Chute setzt jetzt iOS 15 oder neuer voraus
  • Jeder strukturierte Editor behält jetzt, was er nicht anzeigt: Jeder Builder übernimmt die Schlüssel, die er nicht darstellt — den Rest der Optionen einer Regel, die Unterregeln von AND / OR / NOT, die weiteren Adressen eines [Host]-Eintrags, die weiteren Zeilen eines Modulkopfes —, sodass Öffnen und Speichern einer Konfiguration sie nicht mehr umschreibt, und ein Eintrag, dessen Typ der Editor nicht kennt, wird als Text bearbeitet
  • Die Editoren für Body-Umschreibung, Header-Umschreibung, URL-Umschreibung, Map Local, Mock und Skript schreiben, was die Engine liest: Ein Skript wird mit seinem type= gespeichert, ein JSONPath-Wert behält seine Art, und Map Local behält status-code, data-type und Header
  • Der Import eines veröffentlichten Profils verliert kein Routing mehr: dns-server akzeptiert verschlüsselte DNS-URLs, Listener-Zeilen akzeptieren ein Passwort, in Anführungszeichen gesetzte Gruppenmitglieder bleiben erhalten, logische Regeln aus sing-box werden wie dokumentiert konvertiert, PASS-Mitglieder werden verworfen, statt zu REJECT zu werden, und ein nicht unterstütztes Protokoll oder ein nicht unterstützter Gruppentyp löst eine Warnung aus, statt seine Gruppe mitzureißen — in importierten mihomo-Profilen machten Regeln, die nie treffen können, bisher den Großteil der Liste aus, jetzt sind es fast keine mehr
  • Regelsätze brauchen deutlich weniger Speicher: Provider werden nacheinander heruntergeladen, statt nach dem 35. schlicht zu scheitern, die Spitzen bei der Konvertierung sanken um 62–73 %, Indexverbindungen sind begrenzt und werden bei Speicherknappheit freigegeben, und eine für das Gerät zu große Nutzlast wird abgelehnt, wobei der Grund im Status des Regelsatzes angezeigt wird
  • Ressourcengrenzen verhindern, dass eine übergroße Konfiguration die Tunnel-Erweiterung über ihr Speicherlimit treibt: Der MitM-Zertifikatsspeicher, der Aufzeichnungsrückstand, Größe und Anzahl der Skripte, das Anfragebudget der Konsole, die Tailscale-Peers und der DNS-Cache sind unter iOS jeweils gedeckelt
  • Latenztests nutzen das richtige Ziel: test-url und test-timeout einer Gruppe, proxy-test-url des Profils sowie test-url und expected-status eines Mitglieds werden alle berücksichtigt, und ein verketteter Knoten wird über seine Kette geprüft statt direkt
  • Die Web-Konsole und die Steuerungs-API: Eine zur Laufzeit hinzugefügte Regel bleibt nicht mehr bestehen, nachdem dasselbe Profil neu geladen wurde, Protokollzeiger bleiben monoton, sodass eine Abfrage nie einen Eintrag überspringt, und die Verbindungsdetails nennen die Proxy-Kette
  • ShadowTLS prüft jetzt das Zertifikat der Tarn-Website, wenn sni= angegeben ist, wie es auch sing-box tut; skip-cert-verify=true schaltet die Prüfung ab (die Option wurde bisher ignoriert, und es wurde überhaupt kein Zertifikat geprüft), und ohne sni= entfällt die Prüfung mit einer Warnung
  • Downloads und Abonnements: Jeder Download geht in eine eigene Datei, und das Format wird anhand des Bodys bestimmt, sodass eine Aktualisierung nicht mehr ihren ersten Download erneut liest oder das Profil einer anderen Adresse anwendet; ein aus Clash oder sing-box konvertiertes Profil landet als .conf und erhält den Namen, den ihm jede Chute-App gibt; ein bereits verwendeter Name wird nummeriert, statt überschrieben zu werden
  • Umgang mit Konfigurationen: Speichern unter einem anderen Namen fragt zuerst, lädt den Tunnel neu, wenn es die laufende Datei überschreibt, und entfernt nicht mehr die Datei, aus der eine Konfiguration geöffnet wurde; „Von iCloud synchronisieren“ rechnet die bereits installierten Konfigurationen auf das Limit der Lizenz an; ausgeblendete Richtliniengruppen erscheinen nicht in der Global-Liste und den Select-Listen, bleiben für die Engine aber erreichbar; „Global“ zeigt immer die Gruppe, die es verwendet
  • Die Wi-Fi-Upload-Seite behält die Endung der übergebenen Datei, lehnt einen bereits verwendeten Namen mit Begründung ab und sendet Nicht-ASCII-Namen so, wie RFC 6266 es verlangt, sodass 上传的配置.conf unter diesem Namen ankommt
  • Neue Einstellungen, Meldungen und Benachrichtigungen erscheinen in allen acht eingebauten Sprachen, und die Benachrichtigungen des Tunnels nennen den Grund, aus dem der Tunnel gestoppt wurde

Fehlerbehebungen:

  • Behoben, dass Hysteria2 jedes UDP-Datagramm verwarf, das nicht in einen einzelnen QUIC-DATAGRAM-Frame passte, wodurch HTTP/3 einer App nicht durchkam und auf TCP zurückfiel; große Datagramme werden jetzt beim Senden aufgeteilt und die aufgeteilten Antworten des Servers wieder zusammengesetzt
  • Behoben, dass ein neu gestarteter Tunnel den ersten lokalen Port und die TCP-Sequenznummern des vorherigen Laufs wiederverwendete, worauf ein WireGuard-Peer, der die alte Verbindung noch hielt, mit Resets antwortete; der TCP-Stack des Tunnels initialisiert sich jetzt aus der Zufallsquelle des Systems und wählt die Anfangssequenznummern wie in RFC 6528 beschrieben
  • Behoben, dass XHTTP im Tunnel nach dem ersten Schreibvorgang der App stockte, sodass ein TLS-Handshake nie abgeschlossen wurde und ein Upload nur einen einzigen Block sendete; jeder Schreibvorgang wird jetzt der Reihe nach abgeschlossen, und sobald mehr als 1 MB zum Hochladen ansteht, wartet der nächste Schreibvorgang, bis dieser Rückstand abgebaut ist
  • Behoben, dass PROTOCOL,TCP und PROTOCOL,UDP nie trafen: Jede eingehende Verbindung bestimmt jetzt ihr Transportprotokoll, sodass der übliche Weg, QUIC mit einer AND-Regel zu blockieren, funktioniert
  • Behoben, dass RULE-SET und DOMAIN-SET innerhalb von AND / OR / NOT immer als falsch ausgewertet wurden — wodurch NOT,((RULE-SET,…)) auch inländischen Verkehr ablehnte — und dass SCRIPT innerhalb einer logischen Regel immer als wahr ausgewertet wurde
  • Behoben, dass RULE-SET,<name>,<policy>,no-resolve no-resolve verlor, wenn es über den Namen geschrieben wurde, dass UNKNOWN bei GEOIP und IP-ASN nie traf, dass status-code= von Map Local über HTTP/2 ignoriert wurde und dass eine Antwort-Header-Umschreibung über Klartext-HTTP nur den Pfad traf, sodass ein gegen die vollständige URL geschriebenes Muster nie treffen konnte
  • Behoben, dass block-quic nur einen der Surge-Werte akzeptierte, während jeder andere Wert bedeutete, dass QUIC gar nicht blockiert wurde
  • Skript-API behoben: $klne.getPolicyGroups() und selectPolicy() werfen nicht mehr beim ersten Aufruf, reloadConfiguration() lädt neu, getActiveConnections() meldet den echten Host, Port und die Id, closeConnection() schließt, und ein Vor-dem-Senden-Skript mit requires-body erhält endlich den Body
  • Behoben, dass [Replica] keyword-filter den ganzen Hostnamen verglich, statt zu prüfen, ob er das Schlüsselwort enthält, sodass keyword-filter = google nicht www.google.com erfasste
  • Behoben, dass PROCESS-NAME-, PROCESS-PATH- und PROCESS-NAME-REGEX-Regeln unter iOS Browser-Verkehr trafen, weil der verglichene Name dort der Produktname des Browsers war und kein Prozess; diese Regeln funktionieren nur unter macOS und treffen unter iOS nichts mehr
  • Behoben, dass ein gespeichertes Dashboard-Profil als falscher Typ zurückgelesen wurde, was bei jedem Antippen zum Absturz führte; dass in einer Liste mit Duplikaten verschobene oder gelöschte Zeilen Tabelle und Daten auseinanderlaufen ließen; und Abstürze, wenn ein bereits geschlossener Bildschirm noch einen Rückruf erhielt
  • Behoben, dass die automatische Aktualisierung des Abonnements den Hauptthread 30 Sekunden lang blockierte, sodass der Watchdog die App beendete, wenn sie mitten in der Aktualisierung in den Hintergrund ging; dass der Schalter im Kontrollzentrum immer fehlschlug, weil dem Widget die Berechtigung zur Steuerung des VPN fehlte, dass Bild-in-Bild zweimal dargestellt wurde und dass die Continuation des Widgets zweimal fortgesetzt wurde
  • Fehler bei Downloads und Namen behoben: Eine aufbewahrte Download-Datei wurde bei der nächsten Aktualisierung erneut gelesen, eine Adresse wurde mit dem Profil einer anderen Adresse beantwortet, wenn beide denselben Namen vorschlugen, ein Import oder eine Kopie löschte die Datei in iCloud, aus der gelesen wurde, ein Upload verlor alles nach seinem ersten Punkt, ein Abonnement, dessen Adresse auf eine bloße Endung endete, wurde als versteckte Datei gespeichert, und eine Bearbeitung wurde ohne Nachfrage über eine lesbare Konfiguration gespeichert
  • Behoben, dass ein chute://-Link — etwa aus einer Kurzbefehle-Automation — nichts bewirkte, wenn Chute nicht bereits lief; auch ein Kaltstart verarbeitet ihn jetzt
  • Verschiedene Stabilitäts- und Leistungsverbesserungen

Version 1.2.0 (351)

Neue Funktionen:

  • Adresse der Web-Konsole im Bedienfeld hinzugefügt: Die Zeile „Web-Konsole“ zeigt den Host, und Antippen bietet „Öffnen“, „Adresse kopieren“ und „Zugriffstoken kopieren“ — „Öffnen“ trägt das Token in der URL, sodass die Anmeldung ohne Eintippen gelingt
  • „Laufzeit-Diagnosepaket“ als letzte Zeile des Abschnitts „LOKALER PROXY“ im Bedienfeld hinzugefügt: Die laufende Engine erstellt ein bereinigtes Archiv (Konfiguration, Zustandsaufnahme, Ereignisse dieses Laufs, geladene Regeln und Richtlinien, DNS, Verkehr und die Protokoll-Shards) und übergibt es an die Teilen-Ansicht; der Tunnel muss verbunden sein, ein external-http-controller ist nicht nötig
  • „Offline-Diagnosepaket“ unter Einstellungen → DIAGNOSE hinzugefügt, das die App ohne laufenden Tunnel erstellt: Geräte- und App-Angaben, das VPN-Profil, wie iOS es hält, eine Zusammenfassung der gewählten Konfiguration samt Parserfehlern, die drei Diagnoseseiten als Text, der bereinigte Anfang der Konfiguration, wie der vorherige Lauf endete, die Protokollenden der neuesten Sitzung und wartende Absturzberichte
  • „Protokoll teilen“ in der Sitzungsansicht hinzugefügt, das alle Shards des Sitzungsprotokolls anbietet
  • Rewrite-Zuordnung in den Sitzungsdetails hinzugefügt: Der Abschnitt „RICHTLINIE“ nennt jetzt neben Regel und Richtlinie, die eine Anfrage geroutet haben, die Regel (URL-Umschreibung, Header-Umschreibung, Body-Umschreibung oder Mock-Antwort), die sie verändert hat
  • Benachrichtigung „Netzwerkadresse geändert“ hinzugefügt, die „Ausgangs-IP geändert“ ersetzt: Sie zeigt die eigene IPv4- und IPv6-Adresse dieses Geräts auf der physischen Verbindung, eine Zeile je Adressfamilie, und kennzeichnet eine IPv4-Adresse hinter NAT; IPv6 und eine routbare IPv4 werden lokal gelesen, nur eine NAT-lokale IPv4 kostet eine einzelne STUN-Anfrage
  • Französisch als eingebaute Sprache hinzugefügt
  • Neu gestaltete Wi-Fi-Upload-Seite im Stil der Web-Konsole hinzugefügt, in neun Sprachen lokalisiert
  • Der Web-Konsole hinzugefügt: die Reiter „Aktuell“ und „Verlauf“, eine Detailansicht (getroffene Regel, Regelquelle, Richtlinie, Adapter, DNS-Quelle, Prozess, Schließgrund, Anfrage- und Antwortkörper), eine Regelseite, die zeigt, welche Rewrite-Regeln ausgelöst haben, und eine Diagnoseseite (Speicherbedarf, CPU, Laufzeit, Flows, wie der vorherige Lauf endete, Ablehnungszählung, Ereignisprotokoll, Tailscale-Momentaufnahme sowie Ping-, DNS-, Ausgangs- und URL-Test-Sonden); die Konsole ist jetzt in allen neun Sprachen vollständig
  • Endpunkte der HTTP-Steuerungs-API hinzugefügt: /api/health, /api/events, /api/tailscale, die Sonden unter /api/diagnostics/, /api/connections/export?format=har, /api/diagnostics/bundle, Verwaltung von Rewrite-Regeln und MitM-Hosts unter /api/rewrites und /api/mitm/hosts, POST /api/rules/match für einen Probelauf einer Anfrage gegen die Regeltabelle (beide DNS-Durchläufe werden gemeldet), GET|PUT /api/loglevel zum Ändern von Protokollstufe und Subsystem-Abschnitten ohne Neuladen sowie POST /api/config/validate zum Prüfen eines Profils, ohne es anzuwenden

Verbesserungen:

  • Die HTTP-Steuerungs-API ist nicht mehr offen, wenn die Konfiguration kein external-http-secret nennt: Die Engine erzeugt ein Token, das das Bedienfeld anzeigt und kopiert; external-http-secret = none behält den anonymen Zugriff bei, und eine Wildcard-Abhöradresse gilt nicht mehr als Loopback
  • Regelabgleich auf großen Listen ist deutlich schneller: RULE-SET- und DOMAIN-SET-Inhalte werden beim Herunterladen oder Wiederherstellen indiziert, statt pro Verbindung durchgestreamt zu werden, und eine Regeltabelle nur aus Domainregeln wird über einen gehashten Plan abgeglichen — bei einer Liste mit 50.000 Zeilen sinkt ein Abgleich von etwa 94 ms auf unter 2 ms, bei rund 100 KB Speicher je Index
  • UDP-Flows werden nur einmal abgeglichen: Die Entscheidung eines Flows wird 60 Sekunden gemerkt, sodass Folgedatagramme beide Abgleichdurchläufe und die DNS-Abfrage dazwischen überspringen
  • Bessere Erholung nach einem Netzwerkwechsel: Tunnel, deren Upstream-Quelladresse auf keiner Schnittstelle mehr existiert, werden geschlossen, statt Apps bis zum Leerlauf-Timeout hängen zu lassen; ein gleichartiger Pfadwechsel (Neuanmeldung im Mobilfunk) wird jetzt bemerkt, und ein Pfad, der Verbindungen annimmt, aber keine Daten bewegt, wird als Blackhole gemeldet
  • Sitzungsprotokolle werden in 8-MB-Shards geschrieben (bis zu acht je Lauf, die ältesten fallen weg), jeder mit einem Kopf, der Lauf und Startzeit nennt, sodass eine lange Sitzung keine einzelne Datei mehr erzeugt, die zu groß zum Abrufen ist; der Protokollbetrachter lädt alle Shards der Reihe nach und folgt weiter dem, der gerade geschrieben wird
  • Die Engine hält während des Laufs eine Laufmarkierung und meldet beim nächsten Start, ob der vorherige Lauf sauber endete oder abgebrochen wurde — im Protokollkopf, unter /api/status und in beiden Diagnosepaketen
  • Der HAR-Export wird jetzt von der Engine aus den aufgezeichneten Frames erstellt, sodass Statuscodes, Zeitstempel und Zeiten echt sind, und jeder Eintrag trägt unter _kl die gewählte Richtlinie, die getroffene Regel und die Rewrite-Treffer; „HAR exportieren“ im Dashboard und die Verbindungsdetails nutzen ihn beide
  • Nur die drei Funktionen, die die Kaufseite verkauft, brauchen eine Lizenz — Erweiterte Server-Steuerung, MitM und Datenverkehrs-Aufzeichner; Protokollerkennung, Optimus DNS, Externer Zugriff, HTTP API, Web-Konsole und „DNS-Cache leeren“ verlangen keine mehr
  • Das Bedienfeld folgt dem Tunnel: Es setzt seinen Zustand zurück, wenn der Tunnel stoppt, fragt beim Wiederverbinden neu ab und bietet die Konsolenadresse nur an, solange die Seite tatsächlich ausgeliefert wird
  • Der Konfigurationseditor sperrt die beiden Listener-Schalter, solange allow-wifi-access aktiv ist, da die Engine beide Listener selbst öffnet, und stellt die konfigurierten Schnittstellen wieder her, wenn die Option ausgeschaltet wird
  • Findet „IAP-Kauf wiederherstellen“ nichts, bietet die Meldung „Handbuch öffnen“ an, das die plattformübergreifende Lizenzanleitung in der Sprache der App öffnet; der Kaufhinweis sagt jetzt, dass ein Kauf drei iPhone- oder iPad-Geräte und drei Apple-TV-Geräte abdeckt
  • Die Tailnet-Knotenliste sieht jetzt aus wie die anderen Listen — eingerückt gruppiert, mit einer Zeile „Kein Eintrag“ für einen leeren Abschnitt — und fragt den Knotenstatus bei jedem Erscheinen neu ab
  • Bei loglevel = info schreibt ein Massen-Flow, der mindestens 1 MiB bewegt hat, beim Schließen eine Zeile, die sagt, wie lange er auf die Gegenseite und wie lange auf die App gewartet hat
  • Die Diagnoseseiten bieten „Kopieren“ nur in Zeilen an, die etwas zu kopieren haben

Fehlerbehebungen:

  • MitM im TUN-Modus behoben: Ein von einer MitM-Regel getroffener Host blieb bis zum Timeout hängen, sodass Header-Umschreibung, Body-Umschreibung, Mock-Antwort und entschlüsselte Aufzeichnungen für HTTPS für App-Verkehr nie wirkten (Verkehr über den lokalen HTTP/SOCKS5-Proxy war nicht betroffen)
  • Behoben, dass allow-wifi-access keine Wirkung hatte: Die lokalen HTTP- und SOCKS5-Listener blieben auf Loopback, sodass nichts im WLAN sie erreichen konnte; die Option (und sing-box allow-lan beim Import) öffnet jetzt beide Listener, und Ausschalten bindet sie neu
  • Behoben, dass ein Antwort-Header-Rewrite über MitM-HTTP/1.1 als angewendet aufgezeichnet wurde, während der Client den ursprünglichen Header erhielt, und dass eine gegen die vollständige URL geschriebene Regel nie traf
  • Behoben, dass die Mock-Antwort ihre Antwort aus dem Anfrage-Header baute — Anfragezeile anstelle der Statuszeile, übernommene Anfrage-Header, falsche Content-Length — und bei Klartext-HTTP den Header des Ursprungsservers davor sendete
  • Behoben, dass no-resolve-IP-Regeln (IP-CIDR, GEOIP, IP-ASN) eine Verbindung zu einem IP-Literal übersprangen, wenn die Protokollerkennung einen Host-Header oder einen Reverse-DNS-Namen dafür geliefert hatte; ein erkanntes IP-Literal trifft auch keine DOMAIN-Regeln mehr, sodass das Urteil nicht mehr davon abhängt, ob die Erkennung aktiv ist
  • Behoben, dass RULE-SET-Zeilen mit Optionen nach dem Inhalt (GEOIP,CN,no-resolve, DOMAIN,example.com,force-remote-dns) verworfen wurden oder nichts trafen und dass AND/OR/NOT-Unterregeln no-resolve verloren
  • Behoben, dass HOSTNAME-TYPE nie traf: Der Eintragstyp ist jetzt A für eine über IPv4 aufgebaute Verbindung und AAAA über IPv6, und der Platzhalter im Regeleditor sagt das
  • Behoben, dass eine von einer AND/OR/NOT-Regel mit Domain-Unterregel an einen Proxy geroutete Domain vom DNS-Server trotzdem echt aufgelöst wurde, sodass DNS-Antwort und Routing-Entscheidung auseinanderliefen
  • Behoben, dass ein IPv6-Literal in eckigen Klammern in einem erkannten Host-Header ([2001:db8::1]:8080) als Hostname [2001 gelesen wurde
  • Behoben, dass ein Tunnelstart mit einer Select-Gruppe auf einem anderen als dem ersten Mitglied eine Benachrichtigung „Richtliniengruppe gewechselt“ auslöste und die Neuaufbauten nach dem Start die Flapping-Warnung auslösten; eine Gruppe ohne gemerkte Wahl folgt jetzt dem default= des Profils, statt auf ihr erstes Mitglied gezwungen zu werden
  • Behoben, dass das Bedienfeld die App bei 100 % CPU und steigendem Speicher einfror, wenn es nach längerer Tunnellaufzeit geöffnet wurde
  • Behoben, dass der HAR-Export falsche Statuscodes und Zeitstempel aus 1970 schrieb und der Export aus den Verbindungsdetails eine Datei erzeugte, die kein HAR-Leser öffnen konnte
  • Behoben, dass [Replica] hide-crashlytics-request geparst, aber nie auf Aufzeichnungen angewendet wurde
  • Behoben, dass external-http-controller = *:9090 und :::9090 — beides dokumentierte Schreibweisen — abgelehnt wurden und der Controller stillschweigend nicht startete
  • Behoben, dass $klne.startURLTest() nie einen Latenztest auslöste und ein URL-Test auf eine nicht vorhandene Richtlinie einen plausiblen Fehlschlag statt eines Fehlers meldete
  • Gelegentlichen Absturz des XHTTP-Transports unter Last behoben
  • Behoben, dass neu serialisierte HTTP/1.1-Antworten mit leerem Reason-Phrase ausgingen
  • Behoben, dass der Lizenzbildschirm eine für tvOS oder Android ausgestellte Lizenz als „Unbekannt“ und ein Zertifikat, das diese App nicht halten kann, als iOS-&-macOS-&-tvOS-Bundle bezeichnete
  • Toten App-Store-Link im Info-Bildschirm behoben; „Bewerten“ öffnet jetzt das Bewertungsblatt
  • Verschiedene Stabilitäts- und Leistungsverbesserungen

Version 1.1.9 (322)

Neue Funktionen:

  • XHTTP-Transport im Richtlinien-Editor hinzugefügt — Aktivierungsschalter, Modus (auto, packet-up, stream-up, stream-one), Pfad und Host — für Trojan, VMess und VLESS
  • Shadowsocks-Verschlüsselungsverfahren AEGIS-128L und AEGIS-256 hinzugefügt
  • ECH-Einstellungen (Encrypted Client Hello) für TLS-Richtlinien hinzugefügt — Aktivierungsschalter, festgeschriebene ECH-Konfiguration (ech-config) und Decknamen-Überschreibung (ech-public-name)
  • Client-Fingerprint (uTLS) pro Richtlinie sowie einen Standardwert für das gesamte Profil hinzugefügt
  • AmneziaWG-Protokoll, eine WireGuard-Variante mit Verschleierung des Datenverkehrs, samt Parameter-Editor hinzugefügt
  • Import von Clash- und sing-box-Profilen aus Abonnement-URLs, Dateien und Wi-Fi-Uploads hinzugefügt
  • Seite mit kopierbarem Konfigurationsfehlerbericht als Ersatz für die blockierenden Warnungen hinzugefügt
  • Post-quantensicheren Hybrid-Schlüsselaustausch X25519MLKEM768 für TLS 1.3 hinzugefügt

Verbesserungen:

  • Beim Speichern bewahrt der Richtlinien-Editor jetzt vorhandene Optionen, die in der aktuellen Oberfläche nicht bearbeitet werden können (ECH, ALPN, Zertifikat-Pinning, test-url, udp-relay)

Fehlerbehebungen:

  • Tunnel-Absturz durch fehlerhafte IP-CIDR-Regeln behoben
  • Problem behoben, bei dem die SSH-Einstellung idle-timeout unter einem falschen Schlüssel geschrieben und beim Speichern verworfen wurde
  • Onboarding-Regeln behoben, die den Richtliniennamen nach no-resolve setzten und IP-basierte Regeln beeinträchtigen konnten
  • Verschiedene Stabilitäts- und Leistungsverbesserungen

Version 1.1.8 (300)

Neue Funktionen:

  • Tailscale als integrierten Proxy-Typ hinzugefügt: Konfigurieren Sie ein Tailscale-Konto direkt in Chute, treten Sie einem tailnet bei und leiten Sie Datenverkehr über Tailscale-Knoten — ohne separaten Client
  • Tailscale-Abschnittseditor hinzugefügt: Auth-Key sicher eingeben, Verbindung verifizieren, tailnet-Knoten auflisten und Exit-Knoten aus der App heraus wechseln
  • Tailscale-Kontrollfeld hinzugefügt: zeigt Echtzeit-Knotenstatus (online/offline, IP, zuletzt gesehen) und ermöglicht das sofortige Wechseln des Exit-Knotens
  • Systembenachrichtigungen für Proxy-Diagnose hinzugefügt, einschließlich Egress-IP-Änderungen und Tailscale-Verbindungsereignissen, mit pro Typ umschaltbaren Optionen in den Einstellungen
  • MASQUE-Proxy-Typ zum Richtlinien-Editor hinzugefügt

Verbesserungen:

  • TUN-Durchsatz auf iOS verbessert
  • Verbindungsstabilität und Durchsatz von Tailscale und WireGuard verbessert
  • Stabilität des UDP-Tunnels und Genauigkeit der Verkehrstatistiken verbessert
  • Stabilität beim Beenden des VPN verbessert; Fälle, in denen das System die Verbindung abnorm beendet, reduziert
  • Zuverlässigkeit des Sprachwechsels verbessert
  • Konfigurationsdateinamen bereinigt, um Ladefehler durch ungültige Pfadzeichen zu verhindern

Fehlerbehebungen:

  • Problem behoben, bei dem On-Demand-Regeln zwischen VPN-Start und -Stopp inkonsistent wurden
  • Seltenen Absturz durch gleichzeitigen Sprachwechsel behoben
  • Behandlung von Netzwechseln korrigiert, um unnötige VPN-Wiederverbindungen zu vermeiden
  • Verschiedene Stabilitäts- und Leistungsverbesserungen

Version 1.1.7 (290)

Neue Funktionen:

  • JavaScript-Scripting-System hinzugefügt: Führen Sie benutzerdefinierte Skripte für Anfrage-/Antwortmodifikation, DNS-Auflösung, benutzerdefinierte Regelabgleiche und geplante Aufgaben aus
  • Body-Umschreibung hinzugefügt: Suchen und Ersetzen von HTTP-Anfrage-/Antwort-Body-Inhalten mit Regex (mit Capture-Group-Unterstützung) oder JSONPath-Ausdrücken
  • ShadowTLS-Protokollunterstützung hinzugefügt
  • gRPC-Transport für VMess- und VLESS-Protokolle hinzugefügt
  • DNS-over-QUIC (DoQ) und DNS-over-HTTP/3 (DoH3) Unterstützung hinzugefügt
  • DNS-over-TLS (DoT) Unterstützung hinzugefügt
  • HTTP Control API und Web UI zur Überwachung und Steuerung der Proxy-Laufzeit hinzugefügt
  • Modulsystem (.sgmodule) für modulare Konfigurationsverwaltung hinzugefügt
  • Proxy-Provider für dynamische Proxy-Listenaktualisierungen hinzugefügt
  • Benachrichtigungsberichte hinzugefügt: erkennt Verbindungsfehler, Proxy-Nichtverfügbarkeit, Verkehrsspitzen, Konfigurationsaktualisierungsfehler und Richtliniengruppenwechsel; sendet Ereignisse für Systembenachrichtigungen
  • Mock-Antwort hinzugefügt: Gibt Mock-Daten für übereinstimmende Anfragen zurück, ohne den echten Server zu erreichen
  • LoadBalance-Richtliniengruppe mit Round-Robin-, Consistent-Hashing- und Sticky-Sessions-Strategien hinzugefügt
  • Neue URL-Umschreibungsmodi hinzugefügt: reject-200, reject-img, reject-dict
  • Header-Umschreibung mit Antwortrichtungsunterstützung hinzugefügt
  • PROTOCOL-Regeltyp mit 10 Protokolltypwerten hinzugefügt
  • SCRIPT-Regeltyp für JavaScript-basierten benutzerdefinierten Abgleich hinzugefügt
  • extended-matching- und requires-resolve-Optionen für Regeln hinzugefügt
  • AnyTLS-Mehrschicht-Padding-Schema hinzugefügt
  • SS2022-Verschlüsselungsmethoden hinzugefügt (2022-blake3-aes-128/256-gcm, chacha20-poly1305)
  • Unterstützung für verwaltete Konfiguration hinzugefügt
  • Replikat-Unterstützung für Konfigurationsreplikation hinzugefügt
  • WireGuard-Konfigurations-UI hinzugefügt
  • Globale Option interrupt-exist-connections hinzugefügt

Verbesserungen:

  • Richtliniengruppen unterstützen jetzt expected-status, hidden, idle-timeout und lazy-Optionen
  • Erweiterte URL-Umschreibung mit Vorlagenvariablen-Unterstützung im Map-Local-Format
  • Verbesserter DNS-Server mit DoQ-, DoH3- und DoT-Protokollunterstützung
  • Erweitertes Regelsystem von 6 auf über 30 Regeltypen mit vollständiger Abdeckung

Fehlerbehebungen:

  • IPv6-Standardwert behoben (false → true)
  • Standardwert der Protokollebene behoben (notify → warning), none- und fatal-Ebenen hinzugefügt
  • Shadowsocks/ShadowsocksR-Benennungskonsistenz in der gesamten Dokumentation behoben
  • Verschiedene Stabilitäts- und Leistungsverbesserungen

Version 1.1.6 (256)

Neue Funktionen:

  • Hysteria2-Protokollunterstützung hinzugefügt
  • WireGuard-Protokollunterstützung hinzugefügt
  • VLESS REALITY-Protokollunterstützung hinzugefügt
  • Protokoll-Sniffer für TUN-Verkehr hinzugefügt
  • IP-ASN-Regelunterstützung hinzugefügt
  • AND/OR/NOT-Unterstützung für logische Regeln hinzugefügt

Fehlerbehebungen:

  • Speicherprobleme des UDP-Adapters behoben
  • Leistung für Rule-Set- und Domain-Set-Abgleich optimiert
  • Weitere kleinere Fehler und Stabilitätsprobleme behoben
  • Absturz der Lizenzansicht behoben

Version 1.1.5 (245)

Neue Funktionen:

  • TUIC-Protokollunterstützung hinzugefügt
  • Shadowsocks 2022 (SS2022) Unterstützung hinzugefügt
  • Tunnelkonfiguration eingeführt
  • Verbesserte Protokollanzeige in der Sitzung

Fehlerbehebungen:

  • Problem mit UDP-Adapter behoben
  • Leistung für Rule-Set- und Domain-Set-Abgleich optimiert
  • Weitere kleinere Fehler und Stabilitätsprobleme behoben

Version 1.1.2 (231)

Neue Funktionen:

  • iOS 26 UI

Fehlerbehebungen:

  • DNS-IPv6-Antwort für Gemini App behoben
  • RULE-SET mit Kommentarinhaltsunterstützung
  • Status der Widget-Center-Umschalttaste behoben

Version 1.1.1 (218)

Neue Funktionen:

  • AnyTLS-Richtlinienunterstützung
  • Domain-Set-Unterstützung
  • Remote-Rule-Set-Unterstützung

Verbesserungen:

  • Tunnel-Neuaufbau für bessere Leistung
  • Vollständig getesteter UDP-Tunnel

Fehlerbehebungen:

  • Speicherlecks behoben

Version 1.1.0 (210)

Fehlerbehebungen:

  • Einige Fehler behoben

Version 1.0.9 (199)

Neue Funktionen:

  • iOS 18 Kontrollzentrum-Umschalttaste

Fehlerbehebungen:

  • TUN mit IPv6 leitet jetzt zum IPv6-Tunnel um, um einige Dienstprobleme zu beheben

Version 1.0.8 (188)

Neue Funktionen:

  • SSH-Richtlinienunterstützung hinzugefügt
  • Remote-Dashboard-Verbindung hinzugefügt

Verbesserungen:

  • TUN-Netzwerk auf 198.18.0.0/15 geändert, um IPv4-Problem mit internen Adressen zu vermeiden
  • Einige Texte aktualisiert

Fehlerbehebungen:

  • DNS-Probleme behoben

Version 1.0.7 (167)

Neue Funktionen:

  • PIP-Modus
  • iCloud-Synchronisation für Konfigurationsdateien
  • Remote-Konfigurationsmanager für tvOS hinzugefügt

Fehlerbehebungen:

  • Vmess mit Websocket behoben

Version 1.0.6 (160)

Neue Funktionen

  • Neue UI
  • Hochladen der Konfiguration über Wi-Fi hinzugefügt
  • Netzwerkdiagnose & Proxy-Diagnose hinzugefügt
  • Funktion zum Zurücksetzen der VPN-Konfiguration hinzugefügt
  • ICMP(Ping)-Paketunterstützung hinzugefügt
  • VPN-Statusprüfung hinzugefügt

Verbesserungen:

  • UI/UX der Konfigurationsbearbeitung verbessert
  • MTU auf 4000 aktualisiert

Fehlerbehebungen

  • Fehlerbehebung
  • IPv6-TUN-Einstellung behoben

Version 1.0.5 (147)

Neue Funktionen

  • VLESS-Protokollunterstützung hinzugefügt
  • XTLS-Unterstützung mit VLESS hinzugefügt
  • Sitzungsbetrachter hinzugefügt, um Proxy-Sitzungen und Protokolle zu überprüfen
  • Sie können Ihre UDP-Verbindung mit der Chute Dashboard macOS-Anwendung überprüfen

Verbesserungen:

  • Konfigurationsbearbeitung verbessert
  • Lokalen DNS-Server verbessert, um DNS-Verschmutzung zu vermeiden
  • UDP-Relay verbessert

Fehlerbehebungen

  • IPv6-Anzeige behoben
  • DNS-Server behoben

Version 1.0.4 (143)

Neue Funktionen

  • Unterstützung für lokalen HTTP/Socks5-Proxyserver
  • Vollständige IPv6-Unterstützung
  • syslib-Unterstützung für DNS-Server hinzugefügt

Verbesserungen:

  • Konfigurationsbearbeitung verbessert
  • Optimistic DNS-Schalter hinzugefügt
  • Lokalen DNS-Server verbessert

Fehlerbehebungen

  • Behoben, dass die Adresse des lokalen iOS-Proxyservers den Netzzugriff der Anwendung unterbrechen konnte
  • DNS-Server behoben

Version 1.0.3 (138)

Neue Funktionen

  • Fake-IP, um DNS-Cache-Vergiftung zu vermeiden
  • Konfigurationsdatei aus dem Internet oder per QR-Code herunterladen

Fehlerbehebungen

  • Problem mit der Bearbeitung der FINAL-Regel behoben

Version 1.0.2 (130)

Neue Funktionen

  • iPad-Unterstützung
  • Unterstützung für chute://-Schema & x-callback-url
  • Dashboard-Aktion
  • iPhone 12 Unterstützung
  • DNS-Server für bessere Leistung & Stabilität neu aufgebaut

Fehlerbehebungen

  • TCP-Stabilität verbessert
  • TCP-Sperre für bessere Leistung neu aufgebaut
  • UDP-Stabilität verbessert
  • Absturz bei der Konfiguration behoben

Version 1.0.1 (111)

  • Fehler bei WeChat Share Extension behoben
  • IPv6-Unterstützung behoben
  • HTTP-Vollständigkeitsprüfung aktualisiert

Version 1.0.0 (101)

  • Erstveröffentlichung
S. Smart Rabbit LLC © All Rights Reserved            updated 2026-10-01 17:54:51

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

results matching ""

    No results matching ""