Skip to content

SOCKS5 und SOCKS5 über TLS

Die von Potatso unterstützten Optionen, Links und Funktionen für SOCKS5 und SOCKS5 über TLS.

Updated Als Markdown anzeigen

Ein SOCKS5-Server öffnet Verbindungen für dich und leitet UDP weiter, mit oder ohne Benutzernamen und Passwort (RFC 1928). SOCKS5 über TLS ist derselbe Server, der über TLS erreicht wird, sodass auch die Verbindung zum Server verschlüsselt ist.

Potatso sendet dem Server den Namen der besuchten Website, nicht ihre Adresse, und der Server löst den Namen auf. Andere Apps nennen das socks5h oder Remote-DNS.

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

  • eines Clash- oder Mihomo-Abonnements (type: socks5),
  • einer Surge-Konfiguration (socks5 und socks5-tls),
  • einer Xray- oder V2Ray-Konfiguration (socks-Outbound, mit oder ohne TLS).

Um einen SOCKS5-über-TLS-Server von Hand hinzuzufügen, wähle SOCKS5 und schalte TLS ein.

Einstellungen

Einstellung Beschreibung
Server, Port Adresse und Port des Servers. Auch eine IPv6-Adresse funktioniert.
Authentifizierung Keine oder Benutzername und Passwort.
Benutzername, Passwort Jeweils bis zu 255 Byte.
UDP-Relay Standardmäßig an. Siehe UDP.
TLS Bei SOCKS5 über TLS an.
Zertifikatsprüfung überspringen Nur SOCKS5 über TLS. Akzeptiert jedes Zertifikat. Nutze es nur zum Testen.
Zertifikat-Pin Nur SOCKS5 über TLS, optional. Der SHA-256-Fingerabdruck des Zertifikats des Servers, als 64 Hex-Ziffern. Mit einem Pin akzeptiert Potatso das gepinnte Zertifikat, auch ein selbstsigniertes, und nichts anderes.

Verlangt der Server Benutzernamen und Passwort und hast du sie nicht gesetzt, verbindet Potatso nicht. Potatso unterstützt keine GSSAPI-Authentifizierung (Kerberos).

Ein Clash- oder Mihomo-Server mit leerem username wird ohne Authentifizierung importiert, wie Clash es tut.

Zertifikate

Bei SOCKS5 über TLS ist der Servername im TLS-Handshake immer die Adresse des Servers, und das Zertifikat des Servers muss dafür gültig sein. Ist es das nicht, setze einen Zertifikat-Pin oder schalte Zertifikatsprüfung überspringen ein. Einen anderen Servernamen kannst du nicht setzen: Potatso importiert keinen Link, keinen Surge-Server und keinen Xray-Server, der einen hat. Clash und Mihomo haben für SOCKS5 keinen Servernamen, daher ignoriert Potatso dort ein sni, wie sie es tun.

Potatso unterstützt nicht:

  • ein eigenes CA-Zertifikat: Pinne stattdessen das Zertifikat des Servers,
  • ein TLS-Clientzertifikat (Clash certificate und private-key) oder einen anderen Namen, gegen den das Zertifikat geprüft wird (name-cert-verify): Potatso importiert keinen Server, der eines braucht,
  • eine ALPN-Liste: Potatso importiert den Server ohne sie.

UDP

UDP nutzen QUIC, Sprach- und Videoanrufe und viele Spiele. Bei eingeschaltetem UDP-Relay sendet Potatso UDP über den Server (UDP ASSOCIATE), an IPv4- und IPv6-Adressen. Es funktioniert auch mit einem Server hinter NAT, der seine Adresse als 0.0.0.0 meldet: Potatso sendet UDP an die Adresse, die du eingestellt hast.

Schalte UDP-Relay aus, wenn dein Server UDP nicht weiterleitet. Dann gilt:

  • Bei Regeln überspringt Potatso eine Regel, die UDP an diesen Server sendet, und die nächste passende Regel entscheidet. UDP, auf das keine andere Regel passt, wird direkt gesendet.
  • Im Modus Global funktioniert UDP nicht, weil der gesamte Datenverkehr über den Server laufen muss.

Zu UDP solltest du Folgendes wissen:

  • UDP wird über den separaten UDP-Port des Servers weitergeleitet, daher muss die Firewall des Servers UDP durchlassen.
  • Bei SOCKS5 über TLS ist nur die Verbindung zum Server verschlüsselt. SOCKS5 sendet UDP außerhalb davon, dein UDP-Datenverkehr erreicht den Server also unverschlüsselt.
  • Für UDP löst Potatso die Adresse der Website selbst auf und sendet dem Server die Adresse.
  • Beim Import aus Clash, Mihomo oder Surge ist UDP-Relay an, außer der Server setzt udp: false (udp-relay=false in Surge). Clash lässt UDP aus, wenn udp fehlt, prüfe also, dass dein Server UDP weiterleitet.

Funktionsunterstützung

Funktion Unterstützt
CONNECT zu IPv4-, IPv6- und Domain-Zielen (RFC 1928) ✅
Remote-DNS: Domainnamen werden vom Server aufgelöst (socks5h) ✅ Für TCP
Keine Authentifizierung ✅
Benutzername und Passwort (RFC 1929) ✅
GSSAPI (RFC 1961) ❌
UDP ASSOCIATE zu IPv4- und IPv6-Zielen ✅
UDP mit einem Server hinter NAT (Relay-Adresse 0.0.0.0) ✅
UDP-Fragmentierung ❌ Fragmentierte Datagramme werden verworfen, was RFC 1928 erlaubt
BIND (eingehende Verbindungen, etwa aktives FTP) ❌
SOCKS5 über TLS ✅ Mit Zertifikat-Pin und Zertifikatsprüfung überspringen
Anderer TLS-Servername als die Serveradresse, ALPN, eigene CA, Clientzertifikat ❌
Mit TLS verschlüsseltes UDP ❌ SOCKS5 sendet UDP außerhalb von TLS
Eine IPv6-Serveradresse ✅
SOCKS4 und SOCKS4a ❌

Jede unterstützte Funktion ist gegen echte SOCKS5-Server getestet: Xray, sing-box, Mihomo, 3proxy und microsocks. sing-box bietet SOCKS5 über TLS an seinem mixed-Inbound an, nicht an seinem socks-Inbound.

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

socks5://user:password@host:port#name
socks5+tls://user:password@host:port?insecure=1#name
Teil Beschreibung
Schema socks5://, socks:// oder socks5h:// für SOCKS5; socks5+tls:// oder socks+tls:// für SOCKS5 über TLS. Potatso sendet Domainnamen immer an den Server, daher funktioniert socks5h:// genauso wie socks5://.
user:password Optional. Kodiere :, @ und andere Sonderzeichen im Passwort prozentkodiert, zum Beispiel p%3Ass für p:ss. Der Benutzername darf kein : enthalten.
host Serveradresse. Setze eine IPv6-Adresse in eckige Klammern, etwa [2001:db8::1].
port Serverport.
insecure Nur SOCKS5 über TLS, optional. 1 schaltet Zertifikatsprüfung überspringen ein. Potatso liest auch allowInsecure und skip-cert-verify.
name Optional. Der Name des Servers in Potatso.

Ein Link kann keinen Zertifikat-Pin enthalten. Ein Link mit einem anderen sni als der Serveradresse wird nicht importiert.

Potatso importiert zwei weitere Formen:

socks://base64(user:password)@host:port#name
socks5://base64(user:password@host:port)#name

Die erste ist die Art, wie v2rayN SOCKS-Server teilt. Die zweite ist die ältere Form, in der alles zwischen :// und # Base64-kodiert ist. Wenn Potatso einen SOCKS5-Server mit Passwort teilt, bietet es den Standard-Link und die v2rayN-Form an.

Ein Server ohne Passwort:

socks5://proxy.example.com:1080#Open

Ein Server mit dem Benutzernamen alice und dem Passwort s3cret:

socks5://alice:s3cret@proxy.example.com:1080#Auth

Das Passwort p:ss wörd, prozentkodiert:

socks5://alice:p%3Ass%20w%C3%B6rd@proxy.example.com:1080#Encoded

Derselbe Server als socks5h://-Link:

socks5h://alice:s3cret@proxy.example.com:1080#Remote-DNS

Die v2rayN-Form, mit Base64-kodiertem alice:s3cret:

socks://YWxpY2U6czNjcmV0@proxy.example.com:1080#v2rayN

Die ältere Form:

socks5://YWxpY2U6czNjcmV0QHByb3h5LmV4YW1wbGUuY29tOjEwODA#Legacy

Ein Server mit einer IPv6-Adresse:

socks5://[2001:db8::1]:1080#IPv6

Ein SOCKS5-über-TLS-Server:

socks5+tls://alice:s3cret@proxy.example.com:443#TLS

Ein SOCKS5-über-TLS-Server mit selbstsigniertem Zertifikat:

socks+tls://proxy.example.com:443?insecure=1#Self-signed
Navigation

Type to search…

↑↓ navigate↵ selectEsc close