Jak skonfigurować proxy w Linuksie (Ubuntu)

Proxy Prokso w Ubuntu: proxy systemowe GNOME przez białą listę IP, zmienne http_proxy i https_proxy dla terminala, SOCKS5 i sudo apt.

Zaktualizowano · Redakcja Prokso

Dane do połączenia
Host
gw.prokso.com
Port
823 HTTP · 824 SOCKS5 — nowy IP przy każdym żądaniu · 10000–20000 stały IP na całą sesję, HTTP(S) i SOCKS5
Login i hasło
w panelu klienta, na stronie planu

Gotowe wiersze w potrzebnym formacie wygenerujesz w panelu klienta: wybierz kraj, typ IP i protokół.

W skrócie
  • Host gw.prokso.com, porty 823 (HTTP), 824 (SOCKS5), 10000–20000 (sesje sticky, HTTP lub SOCKS5)
  • Login i hasło znajdziesz w panelu klienta na stronie planu
  • Po konfiguracji sprawdź swój IP na stronie Mój IP

Instrukcja krok po kroku, jak podłączyć proxy Prokso w Linuksie (Ubuntu). Zajmie to kilka minut.

Krok 1. Pobierz dane proxy z panelu klienta

Otwórz swój plan i skopiuj host gw.prokso.com, port, login i hasło. Port 823 to HTTP, a 824 to SOCKS5 (oba dają nowy IP przy każdym żądaniu); porty 10000–20000 utrzymują jeden IP (sesja sticky) do 120 minut i działają zarówno jako HTTP, jak i SOCKS5 (każdy port to osobny adres). Kraj ustawiasz w loginie: username__cr.ua.

Blok „Dostęp” na stronie planu: host, porty, login i hasło do linii proxy
Blok „Dostęp” na stronie planu: host, porty, login i hasło do linii proxy

Krok 2. Proxy systemowe w GNOME

Otwórz Settings → Network → Network Proxy (Ustawienia → Sieć → Pośrednik sieciowy) i wybierz Manual. Dla HTTP i HTTPS wpisz gw.prokso.com i port 823 albo port sticky 10000–20000; dla SOCKS użyj portu sticky 10000–20000 (jeden IP) albo 824 (nowy IP przy każdym żądaniu). Nie ma tu pól na login i hasło, więc dodaj swój IP w bloku „Biała lista IP (bez hasła)” na stronie planu w panelu klienta.

Krok 3. Proxy dla terminala

Narzędzia terminala (curl, wget, apt, pip) odczytują proxy ze zmiennych http_proxy i https_proxy. Login i hasło wpisuje się bezpośrednio w adres. Poniższy kod działa do zamknięcia terminala.

# proxy for the current terminal session
export http_proxy="http://USERNAME:PASSWORD@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

Krok 4. Ustaw na stałe

Dodaj te linie do ~/.bashrc. Jeśli hasło zawiera @, : lub #, zakoduj te znaki (np. @ → %40), inaczej adres się rozsypie. Przykład używa portu sticky (10001), więc IP pozostaje taki sam dla kolejnych poleceń.

# add to ~/.bashrc so every new terminal uses it
echo 'export http_proxy="http://USERNAME:PASSWORD@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

Krok 5. Sprawdź w terminalu

W tym samym terminalu uruchom curl https://api.ipify.org – powinien zwrócić IP proxy, a nie Twój. Proxy systemowe GNOME sprawdzisz na stronie Mój IP w Chrome albo w Firefoksie ustawionym na korzystanie z ustawień systemowych proxy.

Przykład uruchomienia: w wyniku widać IP proxy, a nie Twoje. Na porcie 823 każde uruchomienie daje nowy adres
Przykład uruchomienia: w wyniku widać IP proxy, a nie Twoje. Na porcie 823 każde uruchomienie daje nowy adres

Dwa różne proxy: dla okien i dla terminala

W Linuksie to dwa niezależne ustawienia. Z proxy systemowego GNOME korzystają programy graficzne. Terminal go nie widzi: polecenia biorą proxy ze zmiennych środowiskowych. Dlatego sytuacja „w przeglądarce działa, a w terminalu nie” jest normalna, a nie jest błędem.

Zmienne http_proxy i https_proxy rozumieją curl, wget, pip, git i większość narzędzi. Niektóre programy odczytują tylko wariant pisany wielkimi literami, dlatego przykłady ustawiają oba.

Jeśli polecenia nie idą przez proxy

  • Zmienne ustawiono w innym terminalu. export działa tylko w sesji, w której go wykonano. Sprawdź poleceniem echo $https_proxy.
  • Znaki specjalne w haśle. Znaki @, : i # w adresie trzeba zakodować, inaczej adres zostanie źle odczytany.
  • Ustawiona jest zmienna no_proxy. Adresy z jej listy idą bezpośrednio. Jej wartość sprawdzisz poleceniem echo $no_proxy.
  • Polecenie jest uruchamiane przez sudo. Domyślnie sudo nie przekazuje zmiennych środowiskowych, więc użyj sudo -E.
  • Program ignoruje zmienne. Niektóre mają własną opcję proxy w ustawieniach lub w wierszu poleceń.

Usługi i Docker

Usługi systemd i Docker nie odczytują ~/.bashrc. Dla nich proxy ustawia się w ich własnych ustawieniach: w pliku usługi lub w konfiguracji Dockera. Export w terminalu ich nie dotyczy.

Jak ukryć hasło przed cudzymi oczami

Adres z loginem i hasłem w ~/.bashrc jest przechowywany jawnym tekstem, a polecenie z hasłem zostaje w historii terminala. Na współdzielonym serwerze włącz dostęp po IP zamiast hasła: dodaj adres serwera w bloku „Biała lista IP (bez hasła)” na stronie planu i używaj adresu proxy bez loginu.

Jeśli proxy nie działa

Pytania i odpowiedzi (FAQ)

Dlaczego przeglądarka nie korzysta z proxy systemowego?

Firefox ma własne ustawienia sieci – wybierz w nich Use system proxy settings. Chrome i Chromium same pobierają proxy systemowe GNOME.

Jak puścić terminal przez SOCKS5?

Ustaw export all_proxy="socks5h://USERNAME:PASSWORD@gw.prokso.com:824". Dla jednego IP zamień 824 na port sticky 10000–20000, który też przyjmuje SOCKS5. curl i wiele innych narzędzi rozumie tę zmienną, ale nie wszystkie – dla apt zostaw HTTP.

Jak sprawdzić, czy żądanie poszło przez proxy?

Uruchom curl https://prokso.com/ip: zwraca adres, który widzą strony. Powinien różnić się od adresu Twojego komputera.

Czy proxy działa dla git?

Dla repozytoriów przez HTTPS – tak: git odczytuje https_proxy. Adresy w postaci git@... korzystają z SSH, a zmienne go nie dotyczą.