Skip to content

HTTP и HTTPS

Параметры, ссылки и возможности прокси HTTP и HTTPS, которые поддерживает Potatso.

Updated Открыть как Markdown

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
Навигация

Type to search…

↑↓ navigate↵ selectEsc close