HTTP и SOCKS5 — два протокола прокси, которые встречаются чаще всего. Оба скрывают IP-адрес, оба бесплатно доступны в нашем списке и оба поддерживаются большинством программ. Но работают они на разных уровнях, и выбор становится важен, как только задача выходит за рамки простого сёрфинга.
Как работает HTTP-прокси
HTTP-прокси говорит на языке веба. Клиент отправляет ему обычный HTTP-запрос с полным URL, прокси читает его, сам выполняет запрос и возвращает ответ. Для HTTPS-сайтов клиент отправляет команду CONNECT example.com:443, и прокси открывает туннель, по которому зашифрованный трафик идёт без изменений.
Раз HTTP-прокси понимает запросы, он может их и менять: добавлять заголовки Via или X-Forwarded-For, кешировать страницы, фильтровать содержимое. Поэтому у HTTP-прокси бывают разные уровни анонимности.
Как работает SOCKS5-прокси
SOCKS5 работает уровнем ниже. Клиент сообщает прокси, к какому хосту и порту подключиться, прокси открывает TCP-соединение и дальше просто пересылает байты. Ему всё равно, что это — веб-страница, письмо или игровая сессия. SOCKS5 умеет пересылать UDP и поддерживает авторизацию по логину и паролю.
Сравнение
| HTTP | SOCKS5 | |
|---|---|---|
| Трафик | Веб (HTTP/HTTPS) | Любой TCP, опционально UDP |
| Может менять запросы | Да | Нет |
| Добавляет выдающие заголовки | Иногда | Никогда |
| Разрешение DNS | На прокси | На прокси или у клиента |
| Поддержка в браузерах | Везде | Firefox, Chrome через флаг, большинство утилит |
| Типичное применение | Браузер, парсинг | Приложения, мессенджеры, боты, игры |
Скорость
Существенной разницы в скорости нет. Рукопожатие SOCKS5 чуть короче, а HTTP-прокси может кешировать контент. На практике скорость бесплатного прокси зависит от его расположения и нагрузки, поэтому сортируйте список прокси по задержке, а не по протоколу.
Безопасность и анонимность
Ни один из протоколов сам по себе не шифрует трафик. Открывайте HTTPS-сайты — тогда содержимое останется зашифрованным при любом типе прокси.
У SOCKS5 есть практическое преимущество: он никогда не добавляет заголовков, поэтому рабочий SOCKS5-прокси фактически элитный. С HTTP-прокси нужно смотреть на колонку анонимности — прозрачные прокси передают сайту ваш настоящий IP.
Нюанс SOCKS5 — DNS. Если клиент сам разрешает имена, ваш DNS-провайдер видит каждый посещённый сайт. Используйте socks5h:// в curl и Python или включите «Отправлять DNS-запросы через прокси при использовании SOCKS v5» в Firefox.
Что выбрать
- Браузер или простой парсер — HTTP проще всего. Берите элитный или анонимный из списка HTTP.
- Telegram, почтовые клиенты, десктопные приложения — SOCKS5.
- Скрипты с сырыми TCP-соединениями — SOCKS5.
- Игры, VoIP, всё, что на UDP — SOCKS5 с поддержкой UDP (среди бесплатных встречается редко).
- Программа поддерживает только один протокол — тот, который поддерживает.
Быстрые примеры
curl -x http://IP:PORT https://example.com
curl --socks5-hostname IP:PORT https://example.com
Свежие адреса — в списке SOCKS5 и списке HTTP-прокси, оба перепроверяются каждую минуту.