Linux komut satırı proxy'yi kapatmak için


22

Ubuntu'da komut satırı terminalini kullanırken proxy'yi kapatmak için komut satırını gösterebilir misiniz?


Bunu devre dışı bırakmak için nereye ihtiyacınız var? Proxy ayarları bildiğim kadarıyla uygulamaya bağlı.
Diskilla

Yanıtlar:


27

Diğer cevabın dediği gibi, sisteme hiç bakmayan bazı programları ayrı ayrı ayarlamak zorunda kalabilirsiniz. Örneğin wget, yürütme sırasında çevresel proxy yapılandırmasını yoksaymak veya uyarlamak için kullanılabilecek bir dizi proxy seçeneğine sahiptir. Sistem proxy'lerinin kurulabileceği çeşitli alanlar.

  • Sistemim nasıl görünüyor, ağ ortamı için belirtilen sistem yapılandırmasını değiştirmeniz gerekeceğini unutmayın.

Bazı Linux sistemleri / etc / ortamını kullanır

$ 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/"  

Tek tip tek bir kurulum yoktur

$ 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/  

~ / .Bashrc 'nin sistem başlangıcında otomatik olarak ayar yapılmış olması kontrol ederdim.

$ 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

16

Tipik komut satırı yazılımı ve bir HTTP proxy'si hakkında konuştuğunuzu varsayalım:

Komut satırı araçlarının çoğu bunu ortam değişkeninden alır HTTP_PROXY, bu nedenle komut çalıştırmadan önce:

unset HTTP_PROXY

Yazılım / platformlar arasında bazı farklılıklar olabilir ve unset http_proxyayrıca yapmanız gerekebilir .

Birçok programın bu bilgileri kendi yapılandırma dosyalarında sakladığını ve ortamı göz ardı etme ihtimalinin bulunduğunu, bu nedenle durumları tek tek ele almanız gerektiğini unutmayın.


Yeniden başlatma gerektiren görünüyor ...?
Yan King Yin,

5

Tüm değişkenleri aynı anda bash olarak ayarlayabilir veya kaldırabilirsiniz:

$ 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

Ayrıca size bir kısayol ekleyebilirsiniz ~/.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
}

.Bashrc dosyasını yeniden yüklemeyi unutmayın:

$ . ~/.bashrc

veya

$ source ~/.bashrc

Daha fazla detay [S] cehennem Hacks .


Bu iyi bir cevap, ancak proxy ayarlarının değiştirilmesi gerektiğinde, sistemde daha fazla yer olduğundan korkuyorum: askubuntu.com/questions/664777/… .
matandked,

Her yazılım kendi proxy ayarlarını kullanabilir (birkaç ad için npm veya apt gibi). Bu nedenle, http_proxy çoğunu kapsar, ancak hangisini kullandığından emin olmak için belgeleri kontrol etmeniz gerekir.
Adriano P

3

GUI programlarının proxy'sini değiştirmek istiyorsanız, Gnome'dan "sistem" proxy ayarlarını kullanıyorlarsa, bazı başarılı olabilirsiniz. Bunlar, Kontrol Panelinden ayarlanabilen proxy ayarlarıdır.

Geçerli ayarları gconftool ile görebilir ve sonra değiştirebilirsiniz:

$ 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/

Proxy'yi kapatmak için - use_http_proxy öğesini false olarak ayarlayın:

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

-aYukarıdaki çizgiyi kullanarak sonuçları kontrol edebilirsiniz . Alternatif olarak yeni bir proxy ayarlamak için:

$ gconftool-2 -t string -s /system/http_proxy/host "http://newproxy.mydomain.org/"
$ gconftool-2 -t int -s /system/http_proxy/port 8088

3
export http_proxy=

Çalıştırarak gittiklerini görmek için kontrol edebilirsiniz

echo $http_proxy

Boş bir satır döndürmeli


1

Yukarıda yazılanların hepsi işe yaramazsa:

  1. Sistem Ayarları'na gidin.
  2. Ağa Git.
  3. Ağ proxy'sine gidin ve seçilen seçenek "yok" olsa bile, "el kitabına" gidin ve kaydedilen tüm proxy'leri kaldırın.
  4. Sistem genelinde uygulayın.

Bu benim için çalıştı!


1
OP özellikle bir komut satırı seçeneği istedi. GUI'yi yüklememiş olabilirler
Burgi

1

Geçerli oturumunuz için tüm proxy değişkenlerini bir satırda devre dışı bırakmak için:

unset `env | grep proxy | cut -d= -f1`

0

Tüm {http_proxy, https_proxy} etc / etc / ortamından silebilirsiniz. sadece sudo gedit / etc / environment ve sonra tüm bu proxy'leri el ile silin ve kaydedin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.