Skip to content
Beginner / 2 min read

Настройка прокси IPRoyal: выбор между HTTP, SOCKS5 и Shadowsocks и проверка первого запроса

Практическое руководство по первому подключению к прокси IPRoyal: выберите подходящий протокол для вашей задачи, соберите рабочий URL прокси, затем проверьте подключение и работу DNS с помощью curl и Python в macOS или Linux.

Обзор

IPRoyal предлагает резидентные, дата-центровые и ISP-прокси через HTTP(S), SOCKS5 и туннелирование в стиле Shadowsocks, с оплатой по мере использования или фиксированной ежемесячной оплатой, на базе пула из более чем 32 млн IP-адресов. Именно этот диапазон протоколов и заставляет людей выбирать IPRoyal — и он же является самой распространённой причиной неудачи при первой настройке. Вставка SOCKS5-эндпоинта в поле только для HTTP или наоборот приводит к ошибкам, которые выглядят как неработающий прокси, а не как несоответствие конфигурации.

Это руководство проведёт вас от нового аккаунта IPRoyal до проверенного, скриптуемого подключения. Вы выберете подходящий тип прокси и протокол для вашей задачи, соберёте рабочий URL прокси, убедитесь, что трафик действительно выходит через IPRoyal, и проверите, что DNS не разрешается в обход туннеля. Все команды выполняются в терминале macOS или Linux; URL прокси одинаковы в Windows, различается только синтаксис переменных оболочки.

Что вам понадобится

  • Активный тариф IPRoyal (резидентный, дата-центровый или ISP) и доступ к вашей панели управления
  • Хост шлюза, порт, имя пользователя и пароль — точно так, как они показаны в панели управления
  • curl, собранный с поддержкой SOCKS5 (стандартные сборки в macOS, Debian и Ubuntu включают её)
  • Опционально: Python 3.8+ с библиотекой requests для проверок в скриптах

Выбор типа прокси и протокола

Тип прокси и протокол — это два отдельных решения. Тип определяет, каким IP вы предстаёте; протокол определяет, как ваш трафик упаковывается на пути туда. Сначала выберите тип, затем протокол.

Задача Тип прокси Протокол Почему подходит
Приватность браузера в одном регионе Резидентный HTTP(S) Проще всего настроить; работает в любом поле прокси браузера
CLI-инструменты и скраперы, которые не должны утекать DNS Резидентный SOCKS5 Поведение полного туннеля с удалённым разрешением DNS
Приложения, принимающие только HTTP-прокси ISP HTTP(S) Стабильные адреса хостингового типа, которые выглядят менее необычно
Долгоживущие сессии, один IP на аккаунт ISP или резидентный SOCKS5 или Shadowsocks Соединения сохраняются без принудительной ротации
Сети, где обычные прокси-порты ограничиваются или блокируются Любой Shadowsocks Обфусцированное туннелирование, когда чистый прокси-порт фильтруется

Доступность протоколов может различаться в зависимости от продукта и тарифа, поэтому перед тем как что-либо настраивать, уточните, что именно предоставляет ваша панель управления. Там, где доступны оба варианта, HTTP(S) проще отлаживать, а SOCKS5 обладает большими возможностями — начните с HTTP(S), затем перейдите на SOCKS5, когда убедитесь, что учётные данные работают.

Шаги

  1. Скопируйте эндпоинт и учётные данные из панели управления. Не вводите их вручную. Используйте кнопки копирования, чтобы лишние пробелы и похожие символы никогда не попали в строку. Четыре нужных значения — это хост шлюза, порт, имя пользователя и пароль.

    export PROXY_USER="dashboard-username"
    export PROXY_PASS="dashboard-password"
    export PROXY_HOST="gateway-host-from-dashboard"
    export PROXY_PORT="gateway-port-from-dashboard"
    
  2. Соберите URL прокси для каждого протокола. Формат URL везде одинаков: учётные данные, затем хост, затем порт.

    http://USERNAME:PASSWORD@HOST:PORT     # HTTP/HTTPS proxy
    socks5h://USERNAME:PASSWORD@HOST:PORT  # SOCKS5, DNS resolved at the proxy
    

    Если ваш пароль содержит @, :, / или ?, закодируйте его в процентной кодировке (@ становится %40, : становится %3A). Незакодированные специальные символы — самая распространённая причина сбоев аутентификации.

  3. Проверьте HTTP(S)-запрос из терминала. Это доказывает, что учётные данные, хост и порт верны, прежде чем вы задействуете браузер или скрипт.

    curl -sS \
      --proxy "http://$PROXY_USER:$PROXY_PASS@$PROXY_HOST:$PROXY_PORT" \
      "https://api.ipify.org?format=json"
    

    Вы должны получить небольшой JSON-объект, содержащий значение ip, которое не является вашим собственным адресом. Если здесь вы видите свой реальный IP, значит флаг был проигнорирован, и трафик пошёл напрямую.

  4. Проверьте SOCKS5-запрос и получите удалённый DNS. Используйте --socks5-hostname, чтобы прокси разрешал имя хоста, а не ваша машина делала это локально.

    curl -sS \
      --socks5-hostname "$PROXY_USER:$PROXY_PASS@$PROXY_HOST:$PROXY_PORT" \
      "https://api.ipify.org?format=json"
    

    Разница важна: --socks5 разрешает DNS на вашем устройстве, а затем туннелирует соединение, тогда как --socks5-hostname отправляет имя хоста на прокси. Для задач приватности предпочитайте --socks5-hostname и эквивалентную схему URL socks5h:// в скриптах.

  5. Проверьте туннель, если что-то выглядит не так. Подробный вывод показывает, принял ли прокси запрос, до того как в дело вступит содержимое страницы.

    curl -v \
      --proxy "http://$PROXY_USER:$PROXY_PASS@$PROXY_HOST:$PROXY_PORT" \
      -o /dev/null "https://example.com"
    

    Ищите строку CONNECT, за которой следует HTTP/1.1 200 Connection established. Код 407 в этом месте указывает на проблему аутентификации; тайм-аут в этом месте — на проблему с хостом или портом.

  6. Заскриптуйте ту же проверку на Python. Для HTTP-прокси requests не требует дополнительных пакетов.

    import os
    import requests
    
    proxy_url = os.environ["IPROYAL_PROXY_URL"]  # http://user:pass@host:port
    proxies = {"http": proxy_url, "https": proxy_url}
    
    response = requests.get(
        "https://api.ipify.org?format=json",
        proxies=proxies,
        timeout=30,
    )
    response.raise_for_status()
    print(response.json())
    

    Для SOCKS5 сначала установите опциональную зависимость, затем используйте URL socks5h://, чтобы DNS разрешался на стороне прокси.

    pip install "requests[socks]"
    
    import os
    import requests
    
    socks_url = os.environ["IPROYAL_SOCKS_URL"]  # socks5h://user:pass@host:port
    proxies = {"http": socks_url, "https": socks_url}
    
    session = requests.Session()
    print(session.get("https://api.ipify.org", proxies=proxies, timeout=30).text)
    
  7. Решите, что использовать: ротацию или липкие сессии. Выполните шаг 3 дважды с одними и теми же учётными данными и сравните два адреса. Если IP не изменился, ваш тариф удерживает липкую сессию — это то, что нужно для входов в систему и многошаговых форм. Если вам нужен новый адрес, запросите его с помощью элементов управления сессией или ротацией, которые предоставляет ваша панель управления, вместо ручного редактирования параметров URL — сгенерированные учётные данные уже правильно отформатированы.

  8. Подтвердите регион выхода и проверьте утечки DNS. Запрос трассировки Cloudflare показывает как IP-адрес выхода, так и страну его регистрации — это самый быстрый способ выявить неправильно маршрутизированный тариф.

    curl -sS \
      --proxy "http://$PROXY_USER:$PROXY_PASS@$PROXY_HOST:$PROXY_PORT" \
      "https://1.1.1.1/cdn-cgi/trace"
    

    Прочитайте строки ip= и loc=: loc= должен соответствовать региону, который вы хотели использовать. Затем запустите публичный тест на утечку DNS в настроенном браузере; если показанный резолвер — это ваш местный провайдер, а не прокси-сеть, переключите этот браузер на конфигурацию SOCKS5 или на клиент, поддерживающий удалённый DNS в стиле socks5h.

Устранение неполадок

  • 407 Proxy Authentication Required — Учётные данные неверны, отозваны или содержат незакодированные специальные символы. Закодируйте пароль в процентной кодировке и скопируйте оба значения заново.
  • curl: (7) Failed to connect или тайм-аут — Неверный хост или порт, либо протокол и порт не соответствуют друг другу (HTTP-порт используется с SOCKS5 URL). Проверьте столбец протокола в панели управления.
  • curl: (97) Can't complete SOCKS5 connection — curl достиг чего-то, что не является SOCKS5-эндпоинтом. Убедитесь, что вы используете порт SOCKS5, а не HTTP.
  • Работает в curl, но не работает в браузере — Большинство полей прокси в браузере принимают только HTTP(S). Либо используйте HTTP-эндпоинт, либо настройте SOCKS5 на уровне операционной системы или клиента.
  • Повторяющиеся 403 или 429 от целевого сайта — Сайт ограничивает частоту запросов для адреса или сессии. Замедлите темп запросов или удерживайте одну сессию для более длинной последовательности вместо ротации на каждом запросе.
  • IP-адрес выхода никогда не меняется — Активна липкая сессия, или выбранный пул географически узок. Используйте элементы управления сессией в панели управления, чтобы запросить другой выход.
  • HTTPS работает, но страницы всё ещё показывают ваш местный регион — DNS разрешается локально. Переключитесь на socks5h/--socks5-hostname или переведите клиент в конфигурацию полного туннеля.
  • Клиент Shadowsocks не запускается — Обычно это опечатка в шифре или ключе. Вставьте сгенерированную конфигурацию вместо ручного ввода и убедитесь, что выбранный вами локальный порт прослушивания ещё не занят.
  • Расходы неожиданно растут — Тарифы с оплатой по мере использования учитывают потребление, поэтому бесконтрольный цикл в скрапере или браузер, синхронизирующийся в фоне, могут быстро израсходовать квоту. Проверьте потребление после первого проверочного запуска.

Итог

  • Тип прокси (резидентный, дата-центровый, ISP) выбирает, каким IP вы предстаёте; протокол (HTTP, SOCKS5, Shadowsocks) выбирает, как упаковывается трафик. Принимайте оба решения осознанно.
  • Копируйте хост, порт, имя пользователя и пароль из панели управления, кодируйте специальные символы в процентной кодировке и создавайте один формат URL для каждого протокола.
  • Проверьте одним запросом curl к сервису эхо-ответа IP, прежде чем трогать браузер или скрипт — это отделяет ошибки учётных данных от ошибок приложения.
  • Используйте socks5h:// или --socks5-hostname, когда важна приватность DNS, и подтверждайте регион выхода с помощью запроса трассировки.
  • Проверьте ротацию и липкие сессии на раннем этапе, так как этот выбор определяет, как ваши инструменты должны обрабатывать повторные попытки и входы в систему.

Как только один проверенный запрос успешно выполнится, те же учётные данные сразу подойдут для браузера, библиотеки для скрапинга или инструмента цепочки прокси. IPRoyal — один из разумных провайдеров для этого рабочего процесса с учётом его диапазона протоколов и вариантов оплаты; описанные выше шаги проверки применимы к любому провайдеру, с которым вы его сравниваете.