Гайд по wget · 1 мин чтения

Как пользоваться прокси в wget

wget берёт прокси из переменных окружения или собственного .wgetrc, а учётные данные — из отдельных флагов. Разбираем все способы и главное: wget работает с HTTP-прокси, а не с SOCKS5.

wget понимает только HTTP-прокси

Самый важный факт про wget и прокси: классический wget поддерживает только HTTP- и HTTPS-прокси — родной поддержки SOCKS5 у него нет. Поэтому с s4m вы нацеливаете wget на HTTP-эндпоинт proxy.s4m.online:3128 с авторизацией USER:PASS. Если нужен именно SOCKS5, берите вместо него curl или оборачивайте wget SOCKS-осведомлённой надстройкой вроде proxychains.

Внутри HTTP-проксирования wget довольно гибок. Он уважает стандартные переменные окружения http_proxy, https_proxy и no_proxy, читает постоянные настройки из ~/.wgetrc и принимает разовые переопределения через -e плюс --proxy-user и --proxy-password. Так что легко задать прокси глобально для скриптовых загрузок и при этом перебить его для одного вызова. Эндпоинты смотрите на странице прокси, а о том, как эти переменные общие для разных CLI-утилит, — в руководстве по переменным окружения для прокси.

Прокси для wget: все способы

Переменные окружения, .wgetrc и флаги в командной строке — всё с авторизацией. Замените USER:PASS перед запуском.

bash
# --- Method 1: environment variables (per shell/session) ---
export http_proxy="http://USER:[email protected]:3128"
export https_proxy="http://USER:[email protected]:3128"
export no_proxy="localhost,127.0.0.1,.internal"
wget https://ftp.gnu.org/gnu/wget/wget-1.21.tar.gz

# --- Method 2: inline flags for one command ---
wget -e use_proxy=yes \
     -e https_proxy=proxy.s4m.online:3128 \
     --proxy-user=USER --proxy-password=PASS \
     https://example.com/file.iso

# --- Method 3: persistent ~/.wgetrc ---
cat > ~/.wgetrc <<'RC'
use_proxy = on
https_proxy = http://proxy.s4m.online:3128
http_proxy  = http://proxy.s4m.online:3128
proxy_user = USER
proxy_password = PASS
RC
wget https://example.com/file.iso   # reads ~/.wgetrc automatically

# --- Bypass the proxy for one download ---
wget --no-proxy https://internal.example/file

# --- Need SOCKS5? wget can't do it natively; wrap it: ---
# proxychains -f s4m.conf wget https://example.com/file.iso

Какой способ выбрать

Способ зависит от того, насколько часто вы повторяете эту загрузку.

Разовая загрузка

Флаги прямо в команде: -e https_proxy=... плюс --proxy-user и --proxy-password. Ничего не остаётся на диске, поэтому это безопасно на общих машинах.

Целая сессия или скрипт

Экспортируйте http_proxy и https_proxy. Каждый wget (да и большинство других CLI-утилит) в этой оболочке будет ходить через тот же выход, пока вы их не уберёте.

Постоянный конфиг для пользователя

Пропишите настройки в ~/.wgetrc — и каждый запуск wget автоматически пойдёт через прокси. Хорошо для отдельной машины под загрузки, которую вы контролируете.

Нужен SOCKS5

Сам по себе wget SOCKS5 не умеет. Возьмите у curl --socks5-hostname или оберните wget в proxychains, нацеленный на proxy.s4m.online:1080.

Авторизация, no_proxy и честность

Учётные данные можно класть прямо в URL прокси (http://USER:PASS@host:3128) или в отдельные флаги --proxy-user / --proxy-password — второй вариант держит пароль вне URL и вне части списков процессов. Обязательно задавайте no_proxy для внутренних хостов, которые никогда не должны идти сквозь прокси, и помните приоритет: флаги в команде перебивают переменные окружения, а те перебивают ~/.wgetrc.

Прокси s4m — это датацентровые HTTP- (и SOCKS5-) эндпоинты с авторизацией и оплатой по фактическому трафику: отлично для скриптовых загрузок, зеркалирования и выкачиваний в CI, когда нужен стабильный скрытый выход. Они не резидентные, поэтому сайт, который режет датацентровые диапазоны, может отказать в файле. Если нужен один неизменный адрес, добавьте выделенный персональный IP. Если загрузка возвращает 407, ваши учётные данные неверны — смотрите руководство по 407. Открытые HTTP-прокси пробуйте из бесплатного списка, а эндпоинты проверяйте инструментами.

FAQ

Ответы на вопросы

Умеет ли wget работать через SOCKS5-прокси?

Сам по себе — нет: классический wget поддерживает только HTTP- и HTTPS-прокси. Нацельте его на HTTP-эндпоинт s4m на порту 3128, а если нужен SOCKS5 — берите --socks5-hostname у curl или оберните wget в proxychains.

Как задать прокси для wget навсегда?

Добавьте в ~/.wgetrc use_proxy = on вместе с http_proxy и https_proxy (и proxy_user / proxy_password). Дальше каждый запуск wget автоматически ходит через прокси, пока вы не измените файл.

Как передать wget учётные данные прокси?

Либо прямо в URL прокси — http://USER:[email protected]:3128, либо флагами --proxy-user и --proxy-password, которые держат пароль вне URL.

Как сделать, чтобы wget не ходил через прокси к некоторым хостам?

Задайте переменную окружения no_proxy (список хостов через запятую) или добавьте --no-proxy в конкретную команду, чтобы внутренние или локальные адреса шли мимо прокси.

Заведите загрузки за прокси

Нацельте wget на HTTP-эндпоинт с авторизацией на proxy.s4m.online:3128 — и зеркальте, тяните и скриптуйте из-за скрытого датацентрового выхода. Оплата по фактическому трафику, выделенный IP — по желанию.

Эту страницу нашли по запросу

Реальные поисковые фразы, на которые отвечает эта страница — по ссылкам откроются материалы, раскрывающие тему глубже.