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.
anytls://-Links
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.
Beispiele
Jedes Beispiel zeigt den Link zum Importieren. Das Passwort ist secret.
Ein einfacher Server:
anytls://secret@anytls.example.com:443/?sni=anytls.example.com#BasicEin selbstsigniertes Zertifikat, ohne Prüfung:
anytls://secret@203.0.113.7/?insecure=1#Self-signedEin 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