Skip to content

AnyTLS

Die von Potatso unterstützten AnyTLS-TLS-Einstellungen, Links und Funktionen.

Updated Als Markdown anzeigen

Ein AnyTLS-Server wird durch ein Passwort und seine TLS-Einstellungen beschrieben. AnyTLS läuft innerhalb von TLS und füllt seinen Datenverkehr mit Padding auf, sodass die Verbindung wie ein gewöhnlicher HTTPS-Besuch aussieht und die üblichen Anzeichen eines Proxys in TLS nicht zeigt. Potatso verbindet sich mit einem Server, wenn es dessen TLS-Einstellungen unterstützt. Prüfe anhand der Tabellen unten die Einstellungen deines Servers, wie dein Anbieter sie angibt oder wie sie in seinem anytls://-Link stehen.

Einen AnyTLS-Server kannst du von Hand, mit einem anytls://-Link oder per Import hinzufügen:

  • eines Clash- oder Mihomo-Abonnements,
  • einer Surge-Konfiguration.

Potatso importiert AnyTLS-Server noch nicht aus einer sing-box-Konfiguration. Nutze stattdessen den anytls://-Link des Servers.

TLS

Einstellung Clash-Schlüssel Link-Parameter Unterstützt
Servername (SNI) sni sni ✅ Ohne Angabe verwendet Potatso die Adresse des Servers.
ALPN alpn alpn ✅ Ohne Angabe sendet Potatso keine, wie Clash.
Zertifikatsprüfung überspringen skip-cert-verify insecure ✅
Zertifikat-Pinning (SHA-256) fingerprint hpkp ✅
Browser-Fingerabdruck client-fingerprint fp ✅ chrome, firefox, safari, ios, android, edge und random. Andere Namen verbinden mit einem Standard-Handshake.
REALITY reality-opts ✅
Encrypted Client Hello (ECH) ech-opts ✅ Mit der ECH-Konfiguration im Abonnement oder per DNS abgefragt
Eigenes CA-Zertifikat ❌
TLS-Clientzertifikat certificate, private-key ❌

Schaltest du die Zertifikatsprüfung aus, kann jeder zwischen dir und dem Server deinen Datenverkehr mitlesen. Pinne stattdessen das Zertifikat des Servers, wenn er ein selbstsigniertes nutzt: Setze den SHA-256 seines Zertifikats als Zertifikat-Pin.

Ein Browser-Fingerabdruck lässt den TLS-Handshake der Verbindung wie den dieses Browsers aussehen. Er ändert nicht, was der Server unterstützen muss.

Potatso importiert keinen Server, der ein TLS-Clientzertifikat braucht, da der Server die Verbindung ablehnen würde.

REALITY

Ein REALITY-Server leiht sich das TLS-Zertifikat einer anderen Website und braucht daher kein eigenes. sing-box-Server bieten AnyTLS mit REALITY an. Setze den Reality-Public-Key und die Reality-Short-ID des Servers so, wie dein Anbieter sie angibt, und den Servernamen auf die Website, bei der sich der Server bedient. REALITY braucht einen Browser-Fingerabdruck, etwa chrome.

Verbindungen

AnyTLS verwendet seine TLS-Verbindungen wieder: Endet eine Verbindung zu einer Website, nutzt die nächste dieselbe TLS-Verbindung, statt eine neue zu öffnen. Jede TLS-Verbindung trägt jeweils eine Verbindung, mehrere gleichzeitige öffnen also mehrere TLS-Verbindungen, die später wiederverwendet werden.

Einstellung Clash-Schlüssel Unterstützt
Wie oft Leerlaufverbindungen geprüft werden idle-session-check-interval ✅ In Sekunden, standardmäßig 30
Wie lange eine Leerlaufverbindung offen bleibt idle-session-timeout ✅ In Sekunden, standardmäßig 60
Wie viele Leerlaufverbindungen offen bleiben min-idle-session ✅ Standardmäßig 1

Werte von 5 Sekunden oder weniger bedeuten 30, wie in Clash. Diese Einstellungen stammen aus einem Clash-Abonnement. Für Server, die du von Hand oder per Link hinzufügst, verwendet Potatso die Standardwerte.

reuse=false in einer Surge-Konfiguration gilt nicht: Potatso verwendet Verbindungen immer wieder, wie es die AnyTLS-Spezifikation vorsieht. Potatso importiert den Server und zeigt eine Warnung an.

Padding

AnyTLS füllt den Anfang jeder Verbindung mit Padding auf, um die Größen zu verbergen, die einen Proxy verraten. Ein Server kann ein eigenes Padding-Schema senden. Potatso verwendet es ab der nächsten TLS-Verbindung, wie AnyTLS es festlegt. Auf deinem Gerät musst du nichts einstellen.

UDP

AnyTLS trägt UDP innerhalb seiner TLS-Verbindung (UDP über TCP). UDP ist wie in Clash standardmäßig aus. Schalte UDP-Relay in den Servereinstellungen ein, wenn dein Server UDP weiterleitet. Ein Clash-Abonnement schaltet es mit udp: true ein, und eine Surge-Konfiguration schaltet es immer ein.

Funktionsunterstützung

Funktion Unterstützt
AnyTLS-Protokoll v2: Passwort, Padding, Verbindungswiederverwendung ✅
Vom Server gesendete Padding-Schemata ✅
UDP über TCP ✅
Einstellungen für Leerlaufverbindungen ✅
REALITY, ECH ✅
Zertifikat-Pinning, Browser-Fingerabdrücke ✅
Eigene CA, TLS-Clientzertifikate ❌
anytls://-Links ✅

Jede unterstützte Funktion ist gegen mindestens einen echten AnyTLS-Server getestet: anytls-go, sing-box oder mihomo.

Bei einem falschen Passwort schließt der Server die Verbindung. Prüfe zuerst das Passwort, wenn ein AnyTLS-Server nie verbindet.

Ein anytls://-Link enthält einen ganzen Server in einer Zeile:

anytls://password@host:port/?parameters#name
Teil Beschreibung
password Das Passwort, prozentkodiert.
host Serveradresse. Setze eine IPv6-Adresse in eckige Klammern, etwa [2001:db8::1].
port Serverport. Fehlt er, verwendet Potatso 443.
name Optional. Der Name des Servers in Potatso.

Die Parameter folgen dem anytls-go-Format, plus einigen, die manche Apps ergänzen:

Parameter Beschreibung
sni Der TLS-Servername.
insecure 1 schaltet die Zertifikatsprüfung aus.
alpn Die ALPN-Liste, durch Kommas getrennt und prozentkodiert.
fp Der Browser-Fingerabdruck.
hpkp Der SHA-256 des Zertifikats des Servers.

Wenn Potatso einen AnyTLS-Server teilt, bietet es einen anytls://-Link mit denselben Parametern an.

Jedes Beispiel zeigt den Link zum Importieren. Das Passwort ist secret.

Ein einfacher Server:

anytls://secret@anytls.example.com:443/?sni=anytls.example.com#Basic

Ein selbstsigniertes Zertifikat, ohne Prüfung:

anytls://secret@203.0.113.7/?insecure=1#Self-signed

Ein Chrome-Fingerabdruck, eine ALPN-Liste und ein gepinntes Zertifikat:

anytls://secret@anytls.example.com:443/?sni=anytls.example.com&alpn=h2%2Chttp%2F1.1&fp=chrome&hpkp=abababababababababababababababababababababababababababababababab#Shaped
Navigation

Type to search…

↑↓ navigate↵ selectEsc close