Налаштування proxy в Linux (Ubuntu/Debian) вимагає конфігурації змінних середовища для термінала та модифікації системних конфігураційних файлів для постійного з'єднання. Користувачі можуть обирати між тимчасовим експортом для конкретних сесій або постійними змінами у файлах накшталт /etc/environment та /etc/apt/apt.conf.d/, щоб забезпечити маршрутизацію всього трафіку через proxy-сервер.
Глобальні змінні середовища для доступу через консоль
Найпоширенішим методом перенаправлення трафіку в терміналі Linux є використання змінних середовища. Ці змінні вказують консольним утилітам, таким як curl, wget та git, який саме proxy-сервер використовувати для вихідних запитів. Linux розрізняє HTTP, HTTPS та FTP трафік, що вимагає окремих змінних для кожного протоколу.
Щоб встановити тимчасовий proxy для поточної сесії термінала, використовуйте команду export. Це ідеально підходить для разових завдань або тестування нової residential точки доступу GProxy. Замініть proxy_address та port на ваші облікові дані:
# Тимчасова конфігурація сесії
export http_proxy="http://username:[email protected]:8080"
export https_proxy="http://username:[email protected]:8080"
export ftp_proxy="http://username:[email protected]:8080"
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
Змінна no_proxy є критично важливою. Вона запобігає спробам системи використовувати proxy для локального трафіку, що могло б призвести до таймаутів з'єднання при доступі до локальних баз даних або внутрішніх серверів розробки. Завжди включайте 127.0.0.1 та localhost до цього списку.
Для постійної конфігурації, яка зберігається після перезавантаження для конкретного користувача, додайте ці рядки у файл ~/.bashrc або ~/.profile. Відкрийте файл за допомогою текстового редактора, наприклад Nano:
nano ~/.bashrc
Прокрутіть до кінця файлу та вставте команди export. Після збереження (Ctrl+O, Enter) та виходу (Ctrl+X), оновіть конфігурацію, виконавши source ~/.bashrc. Це гарантує, що кожного разу, коли ви відкриваєте нову вкладку термінала, ваші налаштування GProxy будуть застосовані автоматично.

Системна конфігурація через /etc/environment
Хоча .bashrc працює для окремих користувачів, адміністраторам серверів часто потрібна глобальна конфігурація, що застосовується до всіх користувачів та системних сервісів. Файл /etc/environment є стандартним місцем для системних змінних середовища в Debian та Ubuntu.
На відміну від скриптів, /etc/environment — це простий текстовий файл, що складається з пар KEY=VALUE. Він не підтримує оболонкові команди накшталт export. Щоб налаштувати його, виконайте такі кроки:
- Відкрийте файл з правами root:
sudo nano /etc/environment - Додайте рядки proxy точно так, як показано нижче:
http_proxy="http://user:pass@host:port/"
https_proxy="http://user:pass@host:port/"
ftp_proxy="http://user:pass@host:port/"
no_proxy="localhost,127.0.0.1"
Зверніть увагу, що для того, аби зміни в /etc/environment набули чинності, зазвичай потрібне повне перезавантаження системи або вихід і повторний вхід у систему. Цей метод дуже ефективний для серверів без графічного інтерфейсу (headless), де численні завдання cron або фонові процеси потребують стабільного доступу до інтернету через вузли GProxy з високим показником uptime.
Налаштування менеджера пакетів APT
Advanced Package Tool (APT), що використовується в Ubuntu та Debian, не завжди враховує стандартні змінні середовища. Якщо ви спробуєте запустити sudo apt update без специфічних налаштувань proxy для APT, з'єднання може розірватися або піти в обхід proxy. Це поширена проблема безпеки в обмежених корпоративних середовищах.
Щоб виправити це, створіть окремий конфігураційний файл для APT. Краще створити новий файл у /etc/apt/apt.conf.d/, ніж змінювати основний файл apt.conf, оскільки це запобігає втраті конфігурації під час оновлення системи.
sudo nano /etc/apt/apt.conf.d/95proxies
Вставте наступні рядки, переконавшись, що кожен рядок закінчується крапкою з комою:
Acquire::http::Proxy "http://username:[email protected]:8080";
Acquire::https::Proxy "http://username:[email protected]:8080";
Якщо ваш пароль до proxy містить спеціальні символи (наприклад, @, # або !), ви повинні закодувати їх у форматі URL-encode. Наприклад, пароль P@ssword перетвориться на P%40ssword. Якщо не закодувати ці символи, APT неправильно розпізнає рядок з'єднання, що призведе до помилок автентифікації.

Використання Proxy для конкретних CLI-інструментів (Curl, Wget, Git)
Іноді потрібно, щоб лише певні додатки використовували proxy. Таке "вибіркове проксіювання" корисне для розробників, яким потрібно протестувати локалізований контент або зібрати дані за допомогою GProxy, не впливаючи на продуктивність решти системи.
1. Конфігурація Wget
Відредагуйте файл /etc/wgetrc (глобальний) або ~/.wgetrc (локальний). Додайте ці рядки, щоб увімкнути підтримку proxy за замовчуванням для всіх команд wget:
use_proxy = on
http_proxy = http://username:[email protected]:8080
https_proxy = http://username:[email protected]:8080
2. Конфігурація Curl
Для curl створіть або відредагуйте ~/.curlrc. Це особливо корисно для автоматизованих скриптів, які взаємодіють з API:
proxy = "http://username:[email protected]:8080"
3. Конфігурація Git
Розробники, що працюють з віддаленими репозиторіями, можуть налаштувати Git на використання proxy для операцій clone, push та pull. Це робиться за допомогою команди git config:
git config --global http.proxy http://username:[email protected]:8080
git config --global https.proxy http://username:[email protected]:8080
Щоб видалити ці налаштування пізніше, використовуйте прапор --unset: git config --global --unset http.proxy.
Порівняння методів налаштування Proxy в Linux
Вибір правильного методу залежить від вашого конкретного випадку використання. У наступній таблиці порівнюються чотири основні підходи, розглянуті в цьому посібнику.
| Метод | Область дії | Тривалість | Найкращий варіант використання |
|---|---|---|---|
| Команда Export | Поточна сесія оболонки | Тимчасово | Тестування та разові завдання |
| ~/.bashrc | Поточний користувач | Постійно | Особисті середовища розробки |
| /etc/environment | Вся система | Постійно | Продакшн-сервери та багатокористувацькі системи |
| APT Config | Тільки менеджер пакетів | Постійно | Оновлення системи в обмежених мережах |
Просунутий рівень: Використання Proxychains для програм без підтримки Proxy
Деякі старі додатки Linux або кастомні скрипти не підтримують налаштування proxy нативно. У таких випадках незамінним інструментом є proxychains4. Він "примушує" будь-яке TCP-з'єднання, створене програмою, проходити через proxy (HTTP, SOCKS4 або SOCKS5).
Спочатку встановіть пакет:
sudo apt update && sudo apt install proxychains4 -y
Відредагуйте конфігураційний файл /etc/proxychains4.conf. Прокрутіть донизу та додайте дані вашого GProxy. Обов'язково закоментуйте стандартний рядок socks4 127.0.0.1 9050:
[ProxyList]
# protocol host port username password
http proxy.gproxy.com 8080 username password
Щоб запустити будь-яку програму через proxy, просто додайте префікс proxychains4 перед командою. Наприклад: proxychains4 telnet example.com або proxychains4 python3 scraper.py. Цей метод дуже ефективний для обходу обмежень, де стандартні змінні середовища не спрацьовують.
Перевірка з'єднання
Після налаштування важливо переконатися, що ваш трафік дійсно проходить через proxy. Використовуйте підхід на основі Python або просту команду curl, щоб перевірити вашу зовнішню IP-адресу.
import requests
# Тестовий скрипт для перевірки з'єднання через proxy
proxies = {
"http": "http://username:[email protected]:8080",
"https": "http://username:[email protected]:8080",
}
try:
response = requests.get("https://api.ipify.org?format=json", proxies=proxies, timeout=10)
print(f"Поточна зовнішня IP-адреса: {response.json()['ip']}")
except Exception as e:
print(f"Помилка з'єднання: {e}")
Якщо ви використовуєте консольний метод, виконайте: curl -L https://api.ipify.org. Результат має збігатися з IP-адресою вашого сервера GProxy, а не з IP вашого локального провайдера. Якщо IP не змінився, перевірте конфігураційні файли на наявність друкарських помилок або переконайтеся, що ваш фаєрвол (ufw або iptables) не блокує порт proxy.
Основні висновки
Налаштування proxy в Ubuntu або Debian — це багаторівневий процес. Хоча змінні середовища охоплюють більшість термінальних завдань, специфічні інструменти, такі як APT та Git, потребують окремої конфігурації для оптимальної роботи. Використовуючи стабільну інфраструктуру GProxy, ви можете забезпечити високу швидкість отримання даних та анонімність у всіх робочих процесах на базі Linux.
- Використовуйте ~/.bashrc для особистих потреб: Це найбезпечніший та найгнучкіший спосіб керування proxy для щоденної роботи в терміналі.
- Не забувайте про APT: Оновлення системи не працюватимуть в обмежених мережах, якщо
/etc/apt/apt.conf.d/не налаштовано належним чином. - Кодуйте облікові дані (URL Encode): Якщо ваш пароль GProxy містить спеціальні символи, завжди кодуйте їх (наприклад, # у %23), щоб уникнути синтаксичних помилок у конфігураційних файлах.
- Використовуйте Proxychains: Для програм, які відмовляються розпізнавати змінні середовища,
proxychains4забезпечує надійне рішення для "примусової" маршрутизації.
Читайте також
Ферма проксі своїми руками: як побудувати та налаштувати
Інтеграція Proxy API: автоматизація для розробників
Помилка 503 та тайм-аут проксі: діагностика та виправлення
Помилка 502 Bad Gateway через проксі: як виправити
Помилка 407 Proxy Authentication Required: причини та виправлення
