Ein VLESS-Server wird durch eine Benutzer-ID (eine UUID), seine Sicherheit (keine, TLS oder REALITY) und einen Transport beschrieben, der die Verbindung trägt, etwa WebSocket oder gRPC. Er kann außerdem den Vision-Datenfluss nutzen, der das Muster „TLS in TLS“ von über Proxy geleitetem HTTPS-Datenverkehr verbirgt, sowie VLESS Encryption, die Post-Quanten-Verschlüsselungsschicht von Xray. Potatso verbindet sich mit einem Server, wenn es all diese Einstellungen unterstützt. Prüfe anhand der Tabellen unten die Einstellungen deines Servers, wie dein Anbieter sie angibt oder wie sie in seinem vless://-Link stehen.
Einen VLESS-Server kannst du von Hand, mit einem vless://-Link oder per Import hinzufügen:
- eines Clash- oder Mihomo-Abonnements,
- einer Xray- oder V2Ray-Konfiguration.
Potatso importiert VLESS-Server noch nicht aus einer sing-box-Konfiguration. Nutze stattdessen den vless://-Link des Servers.
Jede unten genannte unterstützte Einstellung ist gegen echte Xray- und sing-box-Server getestet.
Benutzer-ID
Die Benutzer-ID ist normalerweise eine UUID, etwa 3971e1b2-18a3-4f83-8fa6-bf9b142ee258. Xray-Server akzeptieren als ID auch jeden anderen Text mit bis zu 30 Zeichen und machen daraus auf dieselbe Weise eine UUID wie jeder Client. Potatso tut das ebenfalls, verwende die ID also genau so, wie dein Anbieter sie angibt.
Transporte
| Transport | Link-type |
Unterstützt | Getestet mit |
|---|---|---|---|
| Kein Transport (rohes TCP) | tcp, raw oder keiner |
✅ | Xray, sing-box |
| WebSocket | ws |
✅ Mit oder ohne Early Data | Xray, sing-box |
| gRPC | grpc |
✅ | Xray, sing-box |
| HTTP Upgrade | httpupgrade |
✅ | Xray, sing-box |
| XHTTP | xhttp, splithttp |
✅ Im Modus stream-one und auto |
Xray |
| HTTP/2 | http oder h2 |
✅ | sing-box |
| mKCP | kcp |
❌ | |
| QUIC | quic |
❌ | |
| TCP mit HTTP-Header-Verschleierung | tcp mit headerType=http |
❌ |
Jeder Transport funktioniert mit und ohne TLS und mit UDP. Potatso importiert keinen Server, dessen Transport es nicht unterstützt.
Xray bietet HTTP/2 und QUIC nicht mehr an: Xray-Server, die sie nutzten, verwenden jetzt XHTTP.
XHTTP
XHTTP (früher SplitHTTP) hat mehrere Modi. Potatso sendet die gesamte Verbindung als eine HTTP-Anfrage (stream-one). Ein Xray-Server akzeptiert das im Standardmodus auto sowie in den Modi stream-one und stream-up, ein Link mit mode=auto oder ohne Modus funktioniert also.
Potatso unterstützt die Client-Modi packet-up und stream-up nicht und importiert keinen Link, der sie verlangt. Der Parameter extra eines XHTTP-Links wird nicht unterstützt: Potatso ignoriert ihn. Potatso bearbeitet XHTTP-Server mit TLS oder REALITY; ein importierter XHTTP-Server ohne TLS funktioniert trotzdem.
Sicherheit
| Sicherheit | Link-security |
Unterstützt |
|---|---|---|
| Keine | none oder keine |
✅ Dein Datenverkehr ist nicht verschlüsselt, außer der Server nutzt VLESS Encryption. |
| TLS | tls |
✅ |
| REALITY | reality |
✅ Ohne Transport, mit gRPC oder XHTTP |
TLS-Einstellungen
| Einstellung | Clash-Schlüssel | Link-Parameter | Unterstützt |
|---|---|---|---|
| Servername (SNI) | servername |
sni |
✅ Ohne Angabe verwendet Potatso die Adresse des Servers. |
| ALPN | alpn |
alpn |
✅ Ohne Angabe sendet Potatso http/1.1 für WebSocket, h2 für gRPC, HTTP/2 und XHTTP und bei den übrigen nichts. |
| Zertifikatsprüfung überspringen | skip-cert-verify |
allowInsecure, insecure |
✅ |
| Zertifikat-Pinning (SHA-256) | fingerprint |
pcs |
✅ Ein Zertifikat |
| Das Zertifikat für einen anderen Namen prüfen | vcn |
❌ Potatso prüft das Zertifikat gegen den Servernamen. | |
| Browser-Fingerabdruck | client-fingerprint |
fp |
✅ chrome, firefox, safari, ios, android, edge und random. Andere Namen verbinden mit einem Standard-Handshake. |
| Encrypted Client Hello (ECH) | ech-opts |
ech |
✅ Mit der ECH-Konfiguration im Link oder Abonnement |
| 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. Potatso pinnt ein Zertifikat; es importiert keinen Link, der mehrere in pcs auflistet.
Ein Browser-Fingerabdruck lässt den TLS-Handshake der Verbindung wie den dieses Browsers aussehen. Er ändert nicht, was der Server unterstützen muss.
REALITY
Ein REALITY-Server leiht sich das TLS-Zertifikat einer anderen Website und braucht daher kein eigenes. 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. Das spx (Spider-Pfad) des Links wird zum Verbinden nicht gebraucht, und Potatso ignoriert es.
REALITY braucht einen Browser-Fingerabdruck: Haben dein Link oder deine Einstellungen keinen, verwendet Potatso chrome. Bei REALITY verbinden auch android und Namen, die Potatso nicht kennt, als chrome.
REALITY funktioniert ohne Transport, mit gRPC und mit XHTTP.
Vision-Datenfluss
| Datenfluss | Link-flow |
Unterstützt |
|---|---|---|
| Keiner | keiner | ✅ |
| Vision | xtls-rprx-vision |
✅ |
| Vision, UDP 443 erlaubt | xtls-rprx-vision-udp443 |
✅ |
xtls-rprx-direct, xtls-rprx-splice und andere alte XTLS-Flows |
❌ Von Xray entfernt |
Vision funktioniert nur ohne Transport und mit TLS oder REALITY: Potatso speichert oder importiert keinen Vision-Server mit einem anderen Transport oder ohne TLS. Es funktioniert auch mit VLESS Encryption über TLS.
Mit Vision wird UDP so getragen, wie Xray es trägt, über Mux.Cool, das Xray- wie sing-box-Server akzeptieren. Der eigene Client von Xray lehnt UDP zu Port 443 (QUIC) mit xtls-rprx-vision ab, damit Browser auf TCP zurückfallen; Potatso trägt es mit beiden Flows.
VLESS Encryption
VLESS Encryption (mlkem768x25519plus) ist die Post-Quanten-Verschlüsselungsschicht von Xray: ein Schlüsselaustausch mit ML-KEM-768 und X25519 unter der VLESS-Verbindung. Die Einstellung decryption des Servers hat einen passenden encryption-Wert für Clients, der so aussieht:
mlkem768x25519plus.native.0rtt.<key>| Einstellung | Unterstützt |
|---|---|
Modi native, xorpub und random |
✅ |
1rtt und 0rtt (fortgesetzte Verbindungen) |
✅ |
| Server, der mit einem X25519- oder einem ML-KEM-768-Schlüssel authentifiziert ist | ✅ |
| Ohne Transport und ohne TLS | ✅ |
| Über TLS | ✅ Auch mit Vision |
| Vision ohne TLS | ❌ |
Potatso behält den encryption-Wert eines Links, Clash-Abonnements oder einer Xray-Konfiguration bei. In den Servereinstellungen kannst du noch keinen eingeben.
Multiplexing
Potatso kann mehrere Verbindungen über eine VLESS-Verbindung führen, in einem Clash-Abonnement über smux festgelegt:
| Protokoll | Clash-smux.protocol |
Server | Unterstützt |
|---|---|---|---|
| Mux.Cool (Xray) | muxcool |
Xray, sing-box | ✅ TCP und UDP |
| Multiplexing von sing-box | smux, yamux, h2mux |
sing-box, mit eingeschaltetem Multiplexing | ✅ TCP und UDP, mit oder ohne Padding |
Mit Vision trägt Mux.Cool nur UDP, und jede TCP-Verbindung behält ihre eigene Verbindung, wie in Xray. Das Multiplexing von sing-box funktioniert nicht mit Vision, und Potatso importiert keinen Vision-Server, der es verlangt.
Die mux-Einstellungen von Xray in einer Xray-Konfiguration werden nicht importiert.
UDP
VLESS trägt UDP über dieselbe Verbindung wie TCP. UDP ist wie in Clash standardmäßig aus. Schalte UDP-Relay in den Servereinstellungen ein, wenn dein Server UDP weiterleitet: Xray und sing-box tun das beide. Ein Clash-Abonnement schaltet es mit udp: true ein.
Jeder UDP-Flow erhält eine eigene Verbindung zum Server und jedes Ziel einen eigenen Flow. Potatso unterstützt weder XUDP noch packetaddr (packetEncoding in einem Link, packet-encoding oder xudp in einem Abonnement): Server akzeptieren das UDP von Potatso auch ohne sie, und Potatso ignoriert die Einstellung.
Funktionsunterstützung
| Funktion | Unterstützt |
|---|---|
| VLESS-Protokoll Version 0: TCP- und UDP-Befehle | ✅ |
| UUIDs und Text als Benutzer-ID | ✅ |
| Mehrere Benutzer auf einem Server | ✅ Jeder mit eigener ID |
Vision-Datenfluss (xtls-rprx-vision, -udp443) |
✅ Siehe Vision |
VLESS Encryption (mlkem768x25519plus) |
✅ Siehe VLESS Encryption |
| TLS, REALITY, ECH, Zertifikat-Pinning, Browser-Fingerabdrücke | ✅ Siehe Sicherheit |
| Transporte WebSocket, gRPC, HTTP Upgrade, HTTP/2 | ✅ Siehe Transporte |
| XHTTP | Modus stream-one und auto |
| mKCP, QUIC, TCP-HTTP-Header-Verschleierung | ❌ |
| Mux.Cool | ✅ |
| XUDP, packetaddr | ❌ UDP nutzt den einfachen UDP-Befehl |
| Multiplexing von sing-box (smux, yamux, h2mux) | ✅ |
Reverse-Proxy (VLESS reverse) |
❌ Das ist eine Serverfunktion |
vless://-Links (Xray-Share-Link-Standard) |
✅ |
vless://-Links
Ein vless://-Link enthält einen ganzen Server in einer Zeile:
vless://id@host:port?type=…&security=…&…#name| Teil | Beschreibung |
|---|---|
id |
Die Benutzer-ID. |
host |
Serveradresse. Setze eine IPv6-Adresse in eckige Klammern, etwa [2001:db8::1]. |
port |
Serverport. |
encryption |
none oder ein Wert für VLESS Encryption. |
flow |
Optional. xtls-rprx-vision oder xtls-rprx-vision-udp443. |
type |
Der Transport. |
security |
none, tls oder reality. |
sni, alpn, fp, pcs, ech, allowInsecure |
TLS-Einstellungen. |
pbk, sid |
Der REALITY-Public-Key und die Short-ID. |
host, path |
Der Host-Header und der Pfad von WebSocket, HTTP Upgrade, HTTP/2 und XHTTP. Ein WebSocket-Pfad kann Early Data als ?ed=2048 tragen. |
serviceName |
Der gRPC-Dienstname. |
mode |
Der XHTTP-Modus. |
name |
Optional. Der Name des Servers in Potatso. |
Wenn Potatso einen VLESS-Server teilt, schreibt es einen Link in dieser Form.
Beispiele
Jedes Beispiel zeigt den Link zum Importieren. Die Benutzer-ID ist 3971e1b2-18a3-4f83-8fa6-bf9b142ee258.
TLS ohne Transport:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&sni=vless.example.com&type=tcp#TLSREALITY mit Vision, bei www.example.com bedient:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=reality&sni=www.example.com&fp=chrome&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=0123abcd&type=tcp&flow=xtls-rprx-vision#REALITY-VisionWebSocket über TLS durch ein CDN, mit 2048 Byte Early Data:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=ws&host=cdn.example.com&path=%2Fws%3Fed%3D2048#WebSocketgRPC über TLS:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=grpc&serviceName=gun#gRPCHTTP Upgrade über TLS:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=httpupgrade&host=cdn.example.com&path=%2Fup#HTTPUpgradeXHTTP über TLS:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=xhttp&host=cdn.example.com&path=%2Fxh&mode=auto#XHTTPHTTP/2 über TLS:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=http&host=cdn.example.com&path=%2Fh2#HTTP2VLESS Encryption ohne TLS:
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:8443?security=none&encryption=mlkem768x25519plus.native.0rtt.u7dtLE6KgE4mjeBK3oYdNMw6MJB47Ijr_9AG2avwSmY&type=tcp#Encryption