HTTP-прокси — это сервер, который по запросу HTTP CONNECT открывает соединения за вас. Прокси HTTPS — тот же сервер, но доступный по TLS, поэтому соединение с прокси тоже шифруется. Potatso подключается к обоим, с именем пользователя и паролем или без них.
HTTP-прокси передает только TCP. О том, что происходит с остальным вашим трафиком, см. UDP.
Прокси HTTP или HTTPS можно добавить вручную, с помощью ссылки http:// или https:// или импортом:
- подписки Clash или Mihomo (
type: http), - конфигурации Surge (
httpиhttps), - конфигурации Xray или V2Ray (выход
http).
Чтобы добавить прокси HTTPS вручную, выберите HTTP и включите TLS.
Настройки
| Настройка | Описание |
|---|---|
| Сервер, порт | Адрес и порт прокси. Адрес IPv6 тоже подходит. |
| Имя пользователя, пароль | Необязательно. Отправляются с базовой аутентификацией (Basic). |
| TLS | Включен для прокси HTTPS. |
| Имя сервера | Только для HTTPS, необязательно. Имя, отправляемое при TLS-рукопожатии и сверяемое с сертификатом. Оставьте пустым, чтобы использовать адрес сервера. |
| Не проверять сертификат | Только для HTTPS. Принимает любой сертификат. Используйте только для тестирования. |
| Закрепление сертификата | Только для HTTPS, необязательно. Отпечаток SHA-256 сертификата прокси в виде 64 шестнадцатеричных цифр. С закреплением Potatso принимает закрепленный сертификат, в том числе самоподписанный, и больше никакой. |
Пароль может содержать любые символы, включая : и буквы не из ASCII. Имя пользователя не может содержать :.
Свои заголовки
Конфигурация Clash, Mihomo или Xray может добавлять заголовки в запрос CONNECT, например User-Agent, который требует ваш провайдер. Potatso сохраняет их при импорте прокси и отправляет при каждом соединении. Заголовок Host заменяет тот, который отправляет Potatso. Добавлять или изменять заголовки в приложении нельзя.
Сертификаты
Для прокси HTTPS нужен сертификат, которому доверяет ваше устройство, если только вы не задали закрепление сертификата или не включили Не проверять сертификат.
Potatso не поддерживает:
- свой сертификат CA для прокси HTTPS: вместо него закрепите сертификат прокси,
- клиентский сертификат TLS (
certificateиprivate-keyв Clash): Potatso не импортирует прокси, которому он нужен, - список ALPN: Potatso всегда использует с прокси HTTP/1.1.
UDP
HTTP-прокси передают только TCP, поэтому Potatso никогда не отправляет на них UDP. UDP используют QUIC, голосовые и видеозвонки и многие игры.
- При использовании правил Potatso пропускает правило, которое отправляет UDP на прокси HTTP или HTTPS, и решает следующее подходящее правило. UDP, которому не соответствует никакое другое правило, отправляется напрямую.
- В глобальном режиме UDP не работает, потому что весь трафик должен идти через прокси.
Чтобы отправлять UDP тоже через прокси, используйте сервер, протокол которого передает UDP, например SOCKS5 или Shadowsocks.
Поддержка возможностей
| Возможность | Поддержка |
|---|---|
Туннели CONNECT (RFC 9110 §9.3.6) к целям IPv4, IPv6 и доменам |
✅ |
| Базовая аутентификация (RFC 7617), пароли в UTF-8 | ✅ |
| Аутентификация Digest (RFC 7616) | ❌ |
| Прокси HTTPS (HTTP поверх TLS) | ✅ С именем сервера, закреплением сертификата и отключением проверки сертификата |
Свои заголовки CONNECT |
✅ Из импорта |
| Адрес прокси IPv6 | ✅ |
HTTP/2 CONNECT (RFC 9113 §8.5) |
❌ |
HTTP/3 CONNECT (RFC 9114 §4.4) |
❌ |
UDP через прокси (CONNECT-UDP, RFC 9298) |
❌ |
Пересылка обычного HTTP без CONNECT (запросы в абсолютной форме) |
❌ Potatso использует CONNECT для каждого соединения |
| Клиентские сертификаты TLS, свой CA, ALPN | ❌ |
Каждая поддерживаемая возможность проверена на настоящих прокси-серверах: tinyproxy, sing-box, Xray и Mihomo.
Используйте порт CONNECT сервера, а не веб-порт, который лишь пересылает обычные веб-запросы. Некоторые прокси разрешают CONNECT только на порт 443. Если через ваш прокси работают только некоторые сайты, спросите у провайдера, не ограничивает ли он порты CONNECT.
Ссылки
Ссылка http:// или https:// содержит весь прокси в одной строке:
http://user:password@host:port#name
https://user:password@host:port?sni=…&insecure=1#name| Часть | Описание |
|---|---|
user:password |
Необязательно. Закодируйте :, @ и другие специальные символы пароля с помощью процентного кодирования, например p%3Ass для p:ss. |
host |
Адрес прокси. Адрес IPv6 заключайте в квадратные скобки, например [2001:db8::1]. |
port |
Порт прокси. |
sni |
Только для HTTPS, необязательно. Имя сервера. Potatso также читает peer и servername. |
insecure |
Только для HTTPS, необязательно. 1 включает «Не проверять сертификат». Potatso также читает allowInsecure и skip-cert-verify. |
name |
Необязательно. Название прокси в Potatso. |
В ссылке нельзя указать закрепление сертификата или свои заголовки. Potatso также импортирует старую форму, где всё между :// и # закодировано в Base64:
http://base64(user:password@host:port)#nameПримеры
Прокси без пароля:
http://proxy.example.com:8080#OpenПрокси с именем пользователя alice и паролем s3cret:
http://alice:s3cret@proxy.example.com:8080#BasicПароль p:ss wörd с процентным кодированием:
http://alice:p%3Ass%20w%C3%B6rd@proxy.example.com:8080#EncodedПрокси HTTPS:
https://alice:s3cret@proxy.example.com:443#TLSПрокси HTTPS, доступный по IP-адресу, с именем сертификата proxy.example.com:
https://alice:s3cret@203.0.113.10:443?sni=proxy.example.com#SNIПрокси HTTPS с самоподписанным сертификатом:
https://proxy.example.com:443?insecure=1#Self-signedПрокси с адресом IPv6:
http://[2001:db8::1]:8080#IPv6Старая форма обычного прокси:
http://YWxpY2U6czNjcmV0QHByb3h5LmV4YW1wbGUuY29tOjgwODA#Legacy