Настройка прокси в Linux (Ubuntu)

Прокси Prokso в Ubuntu: системный прокси GNOME через доступ по IP, переменные http_proxy и https_proxy для терминала, SOCKS5 и sudo apt.

Обновлено · Редакция Prokso

Данные для подключения
Хост
gw.prokso.com
Порт
823 HTTP · 824 SOCKS5 — новый IP на каждый запрос · 10000–20000 фиксированный IP (sticky-сессия), HTTP(S) и SOCKS5
Логин и пароль
в кабинете, на странице плана

Готовые строки в нужном формате генерирует кабинет: выберите страну, тип IP и протокол.

Коротко
  • Хост — gw.prokso.com, порты 823 (HTTP), 824 (SOCKS5), 10000–20000 (фиксированный IP, HTTP или SOCKS5)
  • Логин и пароль — в кабинете на странице плана
  • После настройки проверьте IP на странице «Мой IP»
Прокси в Linux: короткая видеоинструкция · 0:45

Пошаговая инструкция, как подключить прокси Prokso в Linux (Ubuntu). Займёт несколько минут.

Шаг 1. Возьмите данные прокси в кабинете

Откройте план и скопируйте хост gw.prokso.com, порт, логин и пароль. Порт 823 — HTTP, 824 — SOCKS5 (оба дают новый IP на каждый запрос); порты 10000–20000 — фиксированный IP до 120 минут, работают и как HTTP, и как SOCKS5 (каждый порт — отдельный адрес). Страну задают в логине: логин__cr.ua.

Блок «Доступ» на странице плана: хост, порты, логин и пароль для строки прокси
Блок «Доступ» на странице плана: хост, порты, логин и пароль для строки прокси

Шаг 2. Системный прокси в GNOME

Откройте «Настройки» → «Сеть» → «Сетевой прокси» и выберите ручной режим. Для HTTP и HTTPS укажите gw.prokso.com и порт 823 или фиксированный 10000–20000, для SOCKS — фиксированный 10000–20000 (один IP) или 824 (новый IP на каждый запрос). Полей для логина и пароля здесь нет, поэтому на странице плана в кабинете добавьте свой IP в блок «Доступ по IP без пароля».

Шаг 3. Прокси для терминала

Команды в терминале (curl, wget, apt, pip) берут прокси из переменных http_proxy и https_proxy. Логин и пароль вписываются прямо в адрес. Код ниже действует до закрытия терминала.

# proxy for the current terminal session
export http_proxy="http://ЛОГИН:ПАРОЛЬ@gw.prokso.com:823"
export https_proxy="$http_proxy"
export HTTP_PROXY="$http_proxy"
export HTTPS_PROXY="$http_proxy"

# check
curl https://api.ipify.org

Шаг 4. Чтобы действовало постоянно

Добавьте в ~/.bashrc строки из примера ниже. Если в пароле есть символы @, : или #, закодируйте их (например, @ → %40), иначе адрес сломается.

# add to ~/.bashrc so every new terminal uses it
echo 'export http_proxy="http://ЛОГИН:ПАРОЛЬ@gw.prokso.com:10001"' >> ~/.bashrc
echo 'export https_proxy="$http_proxy"' >> ~/.bashrc
source ~/.bashrc

# turn the proxy off in the current session
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY

Шаг 5. Проверьте в терминале

В том же терминале выполните curl https://api.ipify.org — должен вернуться IP прокси, а не ваш. Системный прокси GNOME проверьте на странице «Мой IP» в Chrome или в Firefox с системными настройками прокси.

Пример запуска: в выводе — IP прокси, а не ваш. На порту 823 каждый запуск даёт новый адрес
Пример запуска: в выводе — IP прокси, а не ваш. На порту 823 каждый запуск даёт новый адрес

Два разных прокси: для окон и для терминала

В Linux это две независимые настройки. Системный прокси GNOME используют графические программы. Терминал его не видит: команды берут прокси из переменных окружения. Поэтому «в браузере работает, а в терминале нет» — обычная ситуация, а не ошибка.

Переменные http_proxy и https_proxy понимают curl, wget, pip, git и большинство утилит. Часть программ читает только вариант в верхнем регистре, поэтому в примерах заданы оба.

Если команды не идут через прокси

  • Переменные заданы в другом терминале. export действует только в той сессии, где выполнен. Проверьте командой echo $https_proxy.
  • Спецсимволы в пароле. Символы @, : и # в адресе нужно закодировать, иначе адрес разбирается неверно.
  • Задана переменная no_proxy. Адреса из неё идут напрямую. Посмотрите её значение командой echo $no_proxy.
  • Команда запущена через sudo. По умолчанию sudo не передаёт переменные окружения — используйте sudo -E.
  • Программа игнорирует переменные. У некоторых свой параметр прокси в настройках или в командной строке.

Служебные программы и Docker

Службы systemd и Docker не читают ~/.bashrc. Для них прокси задаётся в их собственных настройках: в файле службы или в конфигурации Docker. Экспорт в терминале на них не действует.

Как не оставить пароль на виду

Адрес с логином и паролем в ~/.bashrc хранится открытым текстом, а команда с паролем остаётся в истории терминала. На общем сервере вместо пароля включите доступ по IP: добавьте адрес сервера в блок «Доступ по IP без пароля» на странице плана и используйте адрес прокси без логина.

Вопросы и ответы

Почему браузер не берёт системный прокси?

У Firefox свои настройки сети — там выберите «Использовать системные настройки прокси». Chrome и Chromium берут системный прокси GNOME автоматически.

Как пустить терминал через SOCKS5?

Задайте <code>export all_proxy="socks5h://ЛОГИН:ПАРОЛЬ@gw.prokso.com:824"</code>. Для одного IP замените 824 на фиксированный порт 10000–20000 — он тоже принимает SOCKS5. Переменную понимают curl и многие другие утилиты, но не все — для apt оставляйте HTTP.

Как проверить, что запрос ушёл через прокси?

Выполните <code>curl https://prokso.com/ip</code> — вернётся адрес, который видят сайты. Он должен отличаться от адреса вашего компьютера.

Работает ли прокси для git?

Для репозиториев по HTTPS — да, git читает <code>https_proxy</code>. Для адресов вида <code>git@...</code> используется SSH, и переменные на него не действуют.