Ein HTTP-Proxy ist ein Server, der Verbindungen für dich öffnet, wenn man ihn mit einer HTTP-CONNECT-Anfrage darum bittet. Ein HTTPS-Proxy ist derselbe Server, der über TLS erreicht wird, sodass auch die Verbindung zum Proxy verschlüsselt ist. Potatso verbindet sich mit beiden, mit oder ohne Benutzernamen und Passwort.
Ein HTTP-Proxy trägt nur TCP. Was mit dem Rest deines Datenverkehrs geschieht, steht unter UDP.
Einen HTTP- oder HTTPS-Proxy kannst du von Hand, mit einem http://- oder https://-Link oder per Import hinzufügen:
- eines Clash- oder Mihomo-Abonnements (
type: http), - einer Surge-Konfiguration (
httpundhttps), - einer Xray- oder V2Ray-Konfiguration (
http-Outbound).
Um einen HTTPS-Proxy von Hand hinzuzufügen, wähle HTTP und schalte TLS ein.
Einstellungen
| Einstellung | Beschreibung |
|---|---|
| Server, Port | Adresse und Port des Proxys. Auch eine IPv6-Adresse funktioniert. |
| Benutzername, Passwort | Optional. Wird mit Basic-Authentifizierung gesendet. |
| TLS | Bei einem HTTPS-Proxy an. |
| Servername | Nur HTTPS, optional. Der im TLS-Handshake gesendete und gegen das Zertifikat geprüfte Name. Lass ihn leer, um die Serveradresse zu verwenden. |
| Zertifikatsprüfung überspringen | Nur HTTPS. Akzeptiert jedes Zertifikat. Nutze es nur zum Testen. |
| Zertifikat-Pin | Nur HTTPS, optional. Der SHA-256-Fingerabdruck des Zertifikats des Proxys, als 64 Hex-Ziffern. Mit einem Pin akzeptiert Potatso das gepinnte Zertifikat, auch ein selbstsigniertes, und nichts anderes. |
Das Passwort kann beliebige Zeichen enthalten, auch : und Buchstaben außerhalb von ASCII. Der Benutzername darf kein : enthalten.
Eigene Header
Eine Clash-, Mihomo- oder Xray-Konfiguration kann der CONNECT-Anfrage Header hinzufügen, etwa einen User-Agent, den dein Anbieter verlangt. Potatso behält sie beim Import des Proxys bei und sendet sie bei jeder Verbindung. Ein Host-Header ersetzt den, den Potatso sendet. Header kannst du in der App weder hinzufügen noch bearbeiten.
Zertifikate
Ein HTTPS-Proxy braucht ein Zertifikat, dem dein Gerät vertraut, außer du setzt einen Zertifikat-Pin oder schaltest Zertifikatsprüfung überspringen ein.
Potatso unterstützt nicht:
- ein eigenes CA-Zertifikat für einen HTTPS-Proxy: Pinne stattdessen das Zertifikat des Proxys,
- ein TLS-Clientzertifikat (Clash
certificateundprivate-key): Potatso importiert keinen Proxy, der eines braucht, - eine ALPN-Liste: Potatso spricht mit dem Proxy immer HTTP/1.1.
UDP
HTTP-Proxys tragen nur TCP, daher sendet Potatso nie UDP an einen. UDP nutzen QUIC, Sprach- und Videoanrufe und viele Spiele.
- Bei Regeln überspringt Potatso eine Regel, die UDP an einen HTTP- oder HTTPS-Proxy 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 Proxy laufen muss.
Um UDP ebenfalls über einen Proxy zu senden, nutze einen Server, dessen Protokoll UDP trägt, etwa SOCKS5 oder Shadowsocks.
Funktionsunterstützung
| Funktion | Unterstützt |
|---|---|
CONNECT-Tunnel (RFC 9110 §9.3.6) zu IPv4-, IPv6- und Domain-Zielen |
✅ |
| Basic-Authentifizierung (RFC 7617), UTF-8-Passwörter | ✅ |
| Digest-Authentifizierung (RFC 7616) | ❌ |
| HTTPS-Proxys (HTTP über TLS) | ✅ Mit Servername, Zertifikat-Pin und Zertifikatsprüfung überspringen |
Eigene CONNECT-Header |
✅ Aus Importen |
| Eine IPv6-Proxyadresse | ✅ |
HTTP/2-CONNECT (RFC 9113 §8.5) |
❌ |
HTTP/3-CONNECT (RFC 9114 §4.4) |
❌ |
UDP über den Proxy (CONNECT-UDP, RFC 9298) |
❌ |
Weiterleitung von reinem HTTP ohne CONNECT (Anfragen in Absolutform) |
❌ Potatso nutzt für jede Verbindung CONNECT |
| TLS-Clientzertifikate, eigene CA, ALPN | ❌ |
Jede unterstützte Funktion ist gegen echte Proxy-Server getestet: tinyproxy, sing-box, Xray und Mihomo.
Verwende den CONNECT-Port des Servers, nicht einen Web-Port, der nur einfache Webanfragen weiterleitet. Manche Proxys erlauben CONNECT nur zu Port 443. Funktionieren über deinen Proxy nur manche Websites, frage deinen Anbieter, ob er die CONNECT-Ports einschränkt.
Links
Ein http://- oder https://-Link enthält einen ganzen Proxy in einer Zeile:
http://user:password@host:port#name
https://user:password@host:port?sni=…&insecure=1#name| Teil | Beschreibung |
|---|---|
user:password |
Optional. Kodiere :, @ und andere Sonderzeichen im Passwort prozentkodiert, zum Beispiel p%3Ass für p:ss. |
host |
Proxyadresse. Setze eine IPv6-Adresse in eckige Klammern, etwa [2001:db8::1]. |
port |
Proxyport. |
sni |
Nur HTTPS, optional. Der Servername. Potatso liest auch peer und servername. |
insecure |
Nur HTTPS, optional. 1 schaltet Zertifikatsprüfung überspringen ein. Potatso liest auch allowInsecure und skip-cert-verify. |
name |
Optional. Der Name des Proxys in Potatso. |
Ein Link kann weder einen Zertifikat-Pin noch eigene Header enthalten. Potatso importiert auch die ältere Form, in der alles zwischen :// und # Base64-kodiert ist:
http://base64(user:password@host:port)#nameBeispiele
Ein Proxy ohne Passwort:
http://proxy.example.com:8080#OpenEin Proxy mit dem Benutzernamen alice und dem Passwort s3cret:
http://alice:s3cret@proxy.example.com:8080#BasicDas Passwort p:ss wörd, prozentkodiert:
http://alice:p%3Ass%20w%C3%B6rd@proxy.example.com:8080#EncodedEin HTTPS-Proxy:
https://alice:s3cret@proxy.example.com:443#TLSEin HTTPS-Proxy, der über seine IP-Adresse erreicht wird, mit dem Zertifikatsnamen proxy.example.com:
https://alice:s3cret@203.0.113.10:443?sni=proxy.example.com#SNIEin HTTPS-Proxy mit selbstsigniertem Zertifikat:
https://proxy.example.com:443?insecure=1#Self-signedEin Proxy mit einer IPv6-Adresse:
http://[2001:db8::1]:8080#IPv6Die ältere Form des einfachen Proxys:
http://YWxpY2U6czNjcmV0QHByb3h5LmV4YW1wbGUuY29tOjgwODA#Legacy