Гайд з 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 — за бажанням.

Цю сторінку знаходять за запитами

Реальні пошукові фрази, на які відповідає ця сторінка — за посиланнями відкриються матеріали, що розкривають тему глибше.