Skip to content
Beginner / 2 min read

Руководство по настройке Smartproxy на Linux: Как использовать резидентные прокси с curl, wget и Python

Учебное пособие для начинающих по настройке резидентных прокси Smartproxy на Linux. Узнайте, как аутентифицироваться, задавать переменные среды, направлять трафик curl и wget, интегрировать с Python requests и ротировать IP-адреса для конфиденциальности или скрейпинга.

Linux SOCKS5 HTTP(S) Приватность/Анонимность

Обзор

Smartproxy предоставляет резидентные и датацентровые прокси с поддержкой HTTP и SOCKS5. Это руководство показывает, как настроить Smartproxy на Linux для инструментов командной строки и скриптов Python. Вы научитесь задавать системные переменные среды прокси, аутентифицироваться с вашими учетными данными, проверять соединение и ротировать IP-адреса для конфиденциальности или веб-скрейпинга. В этом руководстве используются резидентные прокси, но шаги применимы и к датацентровым прокси.

Предварительные требования

  • Учетная запись Smartproxy (бесплатная пробная версия или платный план). Если у вас ее нет, вы можете зарегистрироваться на веб-сайте Smartproxy.
  • Система Linux (протестировано на Ubuntu 22.04, но работает и на других дистрибутивах).
  • Базовое знакомство с терминалом.
  • Установленные curl, wget и Python 3 с requests. При необходимости установите их с помощью менеджера пакетов.

Шаг 1: Получите учетные данные прокси Smartproxy

  1. Войдите в панель управления Smartproxy.
  2. Перейдите в раздел "Residential" или "Datacenter" и найдите конечную точку прокси (например, gateway.smartproxy.com) и порт (например, 7000).
  3. Запишите ваше имя пользователя и пароль прокси. Smartproxy использует аутентификацию по имени пользователя/паролю или белый список IP-адресов. Для имени пользователя/пароля ваше имя пользователя может включать дополнительные параметры для управления сессией (например, user-session-abc123). Проверьте точный формат в панели управления.
  4. (Необязательно) Если вы предпочитаете белый список IP-адресов, добавьте ваш текущий публичный IP-адрес в разрешенный список в панели управления.

Шаг 2: Настройте переменные среды для системного прокси

Переменные среды — самый простой способ направить инструменты командной строки через прокси.

  1. Откройте файл конфигурации вашей оболочки (например, ~/.bashrc или ~/.zshrc) в текстовом редакторе.
  2. Добавьте следующие строки, заменив заполнители на ваши фактические учетные данные и конечную точку:
    export HTTP_PROXY="http://username:[email protected]:7000"
    export HTTPS_PROXY="http://username:[email protected]:7000"
    export ALL_PROXY="socks5://username:[email protected]:7000"
    
    Для SOCKS5 используйте схему socks5://. Обратите внимание, что не все инструменты учитывают ALL_PROXY; многие используют HTTP_PROXY и HTTPS_PROXY даже для HTTPS-трафика.
  3. Сохраните файл и перезагрузите его:
    source ~/.bashrc
    
  4. Проверьте, что переменные установлены:
    echo $HTTP_PROXY
    

Шаг 3: Проверьте ваш прокси с помощью curl

  1. Выполните простой запрос, чтобы проверить ваш IP:
    curl -x http://username:[email protected]:7000 https://httpbin.org/ip
    
    Вы должны увидеть ответ в формате JSON с IP-адресом, отличным от вашего.
  2. Чтобы использовать SOCKS5, укажите схему прокси:
    curl --socks5 username:[email protected]:7000 https://httpbin.org/ip
    
  3. Если вы установили переменные среды, вы можете опустить флаг -x:
    curl https://httpbin.org/ip
    

Шаг 4: Направьте wget через прокси

  1. Создайте или отредактируйте ~/.wgetrc и добавьте:
    use_proxy = on
    http_proxy = http://username:[email protected]:7000
    https_proxy = http://username:[email protected]:7000
    
    wget не поддерживает SOCKS5 изначально; используйте HTTP-прокси для wget.
  2. Проверьте с помощью:
    wget -qO- https://httpbin.org/ip
    

Шаг 5: Используйте Smartproxy с Python Requests

  1. Установите библиотеку requests, если вы еще не сделали этого:
    pip install requests
    
  2. Используйте следующий фрагмент Python для направления запросов через Smartproxy:
    import requests
    
    proxy_url = "http://username:[email protected]:7000"
    proxies = {
        "http": proxy_url,
        "https": proxy_url,
    }
    
    response = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=10)
    print(response.json())
    
  3. Для SOCKS5 установите requests[socks] и используйте:
    proxies = {
        "http": "socks5://username:[email protected]:7000",
        "https": "socks5://username:[email protected]:7000",
    }
    

Шаг 6: Ротируйте IP-адреса и используйте липкие сессии

Резидентные прокси Smartproxy по умолчанию ротируют IP-адреса с каждым запросом при использовании ротируемой конечной точки. Чтобы сохранить один и тот же IP для нескольких запросов (липкая сессия), вы можете добавить идентификатор сессии к вашему имени пользователя.

  1. В вашей панели управления проверьте формат для управления сессией. Обычно вы добавляете -session-<id> к вашему имени пользователя.
  2. Для липкой сессии используйте:
    curl -x http://username-session-abc123:[email protected]:7000 https://httpbin.org/ip
    
    Замените abc123 на любую буквенно-цифровую строку. Один и тот же идентификатор сессии будет использовать один и тот же IP в течение периода (обычно до 10–30 минут).
  3. Чтобы ротировать IP-адреса, просто опустите идентификатор сессии или используйте новый идентификатор сессии для каждого запроса.

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

  • 407 Proxy Authentication Required: Перепроверьте ваше имя пользователя и пароль. Убедитесь, что специальные символы закодированы в URL.
  • Connection refused or timeout: Проверьте конечную точку и порт. Проверьте настройки брандмауэра. Некоторые сети блокируют нестандартные порты.
  • SSL certificate errors: Убедитесь, что вы используете https:// для HTTPS-целей и что ваш прокси поддерживает CONNECT (HTTP-прокси поддерживают). Для SOCKS5 SSL обрабатывается от начала до конца.
  • DNS leaks: При использовании HTTP-прокси разрешение DNS может происходить локально. Чтобы предотвратить утечки, используйте SOCKS5 с удаленным DNS (socks5h:// в curl) или инструмент вроде proxychains.
  • Slow speeds: Резидентные прокси могут быть медленнее. Попробуйте другую конечную точку или регион, если доступно.

Итог

Вы настроили Smartproxy на Linux для curl, wget и Python. Теперь вы можете направлять трафик через резидентные или датацентровые прокси, безопасно аутентифицироваться и ротировать IP-адреса для конфиденциальности или веб-скрейпинга. Не забывайте хранить ваши учетные данные в безопасности и проверяйте панель управления Smartproxy для таких расширенных функций, как гео-таргетинг и управление сессиями. Для задач в браузере рассмотрите возможность использования расширения для браузера Smartproxy для более простой настройки.