Приведи друга: тебе 15% с каждого заказа, ему скидка 10%
ГлавнаяДокументацияПротоколы и порты

Протоколы и порты

Каждый продукт говорит и по HTTP, и по SOCKS5. Различие в том, какой порт отвечает и на чьей стороне резолвится DNS.

Порты по продуктам

На резидентке один порт обслуживает оба протокола: служба читает первые байты соединения и понимает, http это запрос или рукопожатие SOCKS. Протокол вы выбираете в клиенте, а не выбором порта.

На статических адресах SOCKS5 всегда на единицу выше HTTP. Если HTTP работает, а SOCKS5 нет, вы почти наверняка всё ещё смотрите на 50100.

Порты

Residential   proxy.sotaproxy.com:10000   HTTP and SOCKS5
Static        your-ip:50100               HTTP
              your-ip:50101               SOCKS5
Mobile        per modem, from the dashboard

Что выбрать

HTTP это более простой путь и то, что большинство библиотек поддерживает без дополнительных пакетов. Берите его, если не нужно чего-то, чего он не умеет.

SOCKS5 несёт любой протокол поверх TCP и поддерживает UDP, что важно для протоколов, которые вообще не HTTP. Он не анонимнее и не шифрует: оба свойства дают TLS на прикладном уровне, а не протокол прокси.

Правило socks5h

С socks5 имя резолвится на вашей машине, поэтому ваш резолвер видит каждого адресата, а география может сломаться, когда ближний резолвер вернёт ближний сервер. С socks5h имя уезжает к нам и резолвится здесь.

Пишите socks5h всегда, если нет конкретной причины поступить иначе. Эта одна буква и есть самая частая утечка в скрапинг-стеках.

С утечкой и без

# leaks the target list to your resolver
curl -x socks5://login:password@proxy.sotaproxy.com:10000 https://example.com

# resolves on our side
curl -x socks5h://login:password@proxy.sotaproxy.com:10000 https://example.com

# python needs the extra:  pip install requests[socks]

Поддержка в библиотеках

HTTP работает везде без дополнительных зависимостей. SOCKS5 обычно требует одну, и именно это требование чаще всего ломает настройку с первого раза.

Что нужно каждому стеку

Python requests   pip install requests[socks], then socks5h://
Node              socks-proxy-agent for SOCKS, https-proxy-agent for HTTP
curl              built in, use socks5h:// for remote DNS
Scrapy            HTTP out of the box, SOCKS needs a custom downloader
Playwright        server field takes http:// or socks5://
Antidetect        pick HTTP or SOCKS5 in the profile proxy form