Проксі 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 і доменів |
✅ |
| Автентифікація Basic (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