Интеграция · Протоколы
HTTP, HTTPS и SOCKS5: как именно шлюз работает с каждым протоколом.
Стандартные протоколы без специального клиента. На этой странице точно описано поведение системы для тех, кому важно знать, что происходит на сетевом уровне.
Краткая памятка#
| Назначение | URL прокси в клиенте | Порт |
|---|---|---|
URL с http:// и https:// | http://USER:[email protected]:9000 | 9000 |
| Любой протокол поверх TCP, имя хоста разрешается на выходном узле | socks5h://USER:[email protected]:9001 | 9001 |
| То же самое, но имя хоста разрешается вашим устройством | socks5://USER:[email protected]:9001 | 9001 |
| Выделенный адрес, HTTP(S) | http://USER:[email protected]:8000 | 8000 |
| Выделенный адрес, SOCKS5 | socks5h://USER:[email protected]:8001 | 8001 |
HTTP#
При обращении к обычному адресу http:// ваш клиент отправляет на порт 9000 запрос с абсолютным URI и заголовком Proxy-Authorization. Шлюз удаляет этот заголовок, передаёт запрос через выходной узел и потоком возвращает ответ. Поддерживается HTTP/1.1 с keep-alive; сохраняемое соединение остаётся на том же выходном узле (см. раздел «Ротация»).
HTTPS#
При обращении к адресу https:// клиент отправляет CONNECT host:443, а шлюз открывает прозрачный туннель от выходного узла. TLS-рукопожатие происходит через этот туннель между вашим клиентом и целевым сервером: шлюз ничего не расшифровывает, не анализирует и не подписывает заново, а проверяемый вами сертификат принадлежит самому целевому серверу. HTTP/2 и согласованные внутри туннеля резервные варианты HTTP/3 поверх TCP работают так же, как при прямом подключении.
SOCKS5#
- RFC 1928 с аутентификацией по имени пользователя и паролю (RFC 1929) либо без аутентификации при подключении с адреса из белого списка.
CONNECTк любому TCP-порту, кроме 25. КомандыBINDиUDP ASSOCIATEне поддерживаются: UDP и входящие соединения недоступны.- Передавайте имя хоста (тип адреса 0x03), чтобы его разрешал выходной узел: именно это означает
socks5h://в curl, Python и Node. Если клиент разрешает имя локально и передаёт IP, запрос также сработает, но DNS-запрос будет выполнен на вашей стороне. - Используйте SOCKS5 для протоколов поверх TCP, отличных от HTTP, и для клиентов, поддерживающих только SOCKS; для веб-трафика HTTP-порт равнозначен.
Заголовки#
Шлюз удаляет Proxy-Authorization и Proxy-Connection и ничего не добавляет: ни Via, ни X-Forwarded-For, ни X-Real-IP. Целевой сервер получает ваш запрос в том виде, в котором его отправил бы выходной узел, — в этом и состоит назначение сети. Самостоятельно настройте User-Agent, Accept-Language и остальные заголовки в соответствии со страной выходного узла.
Не поддерживается#
- UDP в любом виде (при настроенном прокси QUIC во всех браузерах переключается на TCP).
- Целевые адреса IPv6: выходные узлы используют IPv4.
- TLS-соединение с самим портом прокси (
https://в качестве схемы прокси). Соединение до шлюза не шифруется; см. раздел «Точки подключения». - FTP, SMTP на порту 25 и протоколы, требующие от прокси обратного подключения к вам.