Wiersz poleceń systemu Linux, aby wyłączyć serwer proxy

22

Czy możesz pokazać mi wiersz poleceń, aby wyłączyć serwer proxy, gdy korzystam z terminalu wiersza poleceń w systemie Ubuntu?

Sean Nguyen
źródło
gdzie musisz to wyłączyć? Ustawienia proxy zależą od aplikacji, o ile mi wiadomo.
Diskilla,

Odpowiedzi:

27

Jak wynika z drugiej odpowiedzi, istnieją programy, które w ogóle nie patrzą na system, konieczne może być ich indywidualne skonfigurowanie. Na przykład wget ma wiele opcji proxy, których można użyć do zignorowania lub dostosowania konfiguracji proxy środowiska podczas wykonywania. Oto kilka obszarów, w których można skonfigurować serwery proxy.

  • Jak wygląda mój system, pamiętaj, że będziesz musiał zmienić konfigurację systemu dla swojego środowiska sieciowego.

Niektóre systemy Linux używają środowiska / etc /

$ cat /etc/environment 
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
http_proxy="http://192.168.1.250:8080/"
ftp_proxy="ftp://192.168.1.250:8080/"
https_proxy="https://192.168.1.250:8080/"  

Nie ma jednolitej pojedynczej konfiguracji, inne zastosowanie env

$ env | grep -i proxy
NO_PROXY=localhost,127.0.0.0/8,127.0.1.1
http_proxy=http://192.168.1.250:8080/
FTP_PROXY=ftp://192.168.1.250:8080/
ftp_proxy=ftp://192.168.1.250:8080/
all_proxy=socks://192.168.1.250:8080/
ALL_PROXY=socks://192.168.1.250:8080/
HTTPS_PROXY=https://192.168.1.250:8080/
https_proxy=https://192.168.1.250:8080/
no_proxy=localhost,127.0.0.0/8,127.0.1.1
HTTP_PROXY=http://192.168.1.250:8080/  

Sprawdziłbym ~ / .bashrc, aby ustawienie zostało zastosowane automatycznie przy uruchomieniu systemu.

$ man env
$ man set
$ # The file section near the end of the bash manual.
$ man bash 

FILES
       /bin/bash
              The bash executable
       /etc/profile
              The systemwide initialization file, executed for login shells
       /etc/bash.bashrc
              The systemwide per-interactive-shell startup file
       /etc/bash.bash.logout
              The systemwide login shell cleanup file, executed when  a  login
              shell exits
       ~/.bash_profile
              The personal initialization file, executed for login shells
       ~/.bashrc
              The individual per-interactive-shell startup file
       ~/.bash_logout
              The  individual  login shell cleanup file, executed when a login
              shell exits
       ~/.inputrc
              Individual readline initialization file
nelaaro
źródło
15

Zakładając, że mówisz o typowym oprogramowaniu wiersza polecenia i proxy HTTP:

Większość narzędzi wiersza polecenia pobiera to ze zmiennej środowiskowej HTTP_PROXY, dlatego przed uruchomieniem polecenia:

unset HTTP_PROXY

Mogą istnieć pewne różnice między oprogramowaniem / platformami, a może być konieczne unset http_proxy.

Zauważ, że wiele programów przechowuje te informacje w swoich własnych plikach konfiguracyjnych i prawdopodobnie zignoruje środowisko, więc będziesz musiał zająć się nimi indywidualnie dla każdego przypadku.


źródło
4

Możesz ustawić lub rozbroić wszystkie zmienne jednocześnie w bash:

$ export {http,https,ftp}_proxy="http://proxy-server:port"
$ unset {http,https,ftp}_proxy

$ export {HTTP,HTTPS,FTP}_PROXY="http://proxy-server:port"
$ unset {HTTP,HTTPS,FTP}_PROXY

Możesz także dodać skrót do Ciebie ~/.bashrc:

# Set Proxy
function setproxy() {
    export {http,https,ftp}_proxy="http://proxy-server:port"
    export {HTTP,HTTPS,FTP}_PROXY="http://proxy-server:port"
}

# Unset Proxy
function unsetproxy() {
    unset {http,https,ftp}_proxy
    unset {HTTP,HTTPS,FTP}_PROXY
}

Nie zapomnij załadować ponownie .bashrc:

$ . ~/.bashrc

lub

$ source ~/.bashrc

Więcej szczegółów w [S] Hell Hacks .

Adriano P.
źródło
To jest dobra odpowiedź, ale obawiam się, że jest więcej miejsca w systemie, gdy ustawienia proxy należy zmienić: askubuntu.com/questions/664777/... .
matandked
Każde oprogramowanie może korzystać z własnych ustawień proxy (np. Npm lub apt, żeby wymienić tylko kilka). Więc http_proxy obejmuje większość z nich, ale musisz sprawdzić dokumentację, aby upewnić się, z której korzysta.
Adriano P
3

Jeśli chcesz zmienić serwer proxy dla programów GUI, możesz odnieść sukces, jeśli używają ustawień serwera „systemowego” z Gnome. Są to ustawienia proxy konfigurowalne z Panelu sterowania.

Możesz sprawdzić, a następnie zmienić bieżące ustawienia za pomocą gconftool:

$ gconftool-2 -a /system/http_proxy
  ignore_hosts = [localhost,127.0.0.0/8,*.local]
  authentication_user =
  authentication_password =
  use_authentication = false
  use_http_proxy = true
  port = 8080
  host = http://myproxy.mydomain.org/

Aby wyłączyć proxy - ustaw use_http_proxy na false:

$ gconftool-2 -t bool -s /system/http_proxy/use_http_proxy false

Możesz sprawdzić wyniki, używając -alinii z góry. Alternatywnie, aby ustawić nowy serwer proxy:

$ gconftool-2 -t string -s /system/http_proxy/host "http://newproxy.mydomain.org/"
$ gconftool-2 -t int -s /system/http_proxy/port 8088
Greg
źródło
3
export http_proxy=

Możesz sprawdzić, czy zniknęły, uruchamiając

echo $http_proxy

Powinien zwrócić pustą linię

Andrew M.
źródło
1

Jeśli wszystkie powyższe rzeczy nie działają:

  1. Przejdź do Ustawień systemu.
  2. Przejdź do sieci.
  3. Przejdź do sieciowego serwera proxy i nawet jeśli wybranym wyborem jest „brak”, przejdź do „ręcznego” i usuń wszystkie zapisane serwery proxy.
  4. Zastosuj w całym systemie.

To zadziałało dla mnie!

Aditi Tayal
źródło
1
OP poprosił konkretnie o opcję wiersza poleceń. Być może nie zainstalowali GUI
Burgi
1

Aby wyłączyć wszystkie zmienne proxy w jednym wierszu dla bieżącej sesji:

unset `env | grep proxy | cut -d= -f1`
aruuu
źródło
0

Możesz usunąć wszystkie {http_proxy, https_proxy} itd. Z / etc / environment. wystarczy sudo gedit / etc / environment, a następnie ręcznie usunąć wszystkie te proxy i zapisać.

Ranjeet Kumar Upadhyay
źródło