Linha de comando do Linux para desativar o proxy

22

Você pode me mostrar a linha de comando para desativar o proxy quando estou usando o terminal da linha de comando no Ubuntu?

Sean Nguyen
fonte
onde você precisa desativá-lo? As configurações de proxy dependem do aplicativo, tanto quanto eu sei.
Diskilla 5/10/10

Respostas:

27

Como a outra resposta diz, existem alguns programas que não olham para o sistema, e você pode precisar configurá-los individualmente. Por exemplo, o wget possui várias opções de proxy, que podem ser usadas para ignorar ou adaptar a configuração do proxy ambiental durante a execução. Aqui estão algumas áreas nas quais os proxys do sistema podem ser configurados.

  • Como meu sistema se parece, observe que você terá que alterar a configuração especificada do sistema para o seu ambiente de rede.

Alguns sistemas Linux usam / etc / environment

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

Não existe uma configuração única uniforme para outro uso

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

Gostaria de verificar o ~ / .bashrc para que a configuração seja aplicada automaticamente na inicialização do sistema.

$ 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
fonte
16

Supondo que você esteja falando sobre um software de linha de comando típico e um proxy HTTP:

A maioria das ferramentas de linha de comando seleciona isso na variável de ambiente HTTP_PROXY, portanto, antes de executar um comando:

unset HTTP_PROXY

Pode haver alguma variação entre software / plataformas, e você também pode precisar unset http_proxy.

Observe que muitos programas armazenam essas informações em seus próprios arquivos de configuração e provavelmente ignoram o ambiente; portanto, você precisará abordá-los caso a caso.


fonte
Parece exigir reinicialização ...?
Yan King Yin
5

Você pode definir ou desabilitar todas as variáveis ​​de uma só vez no 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

Você também pode adicionar um atalho para você ~/.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
}

Não se esqueça de recarregar .bashrc:

$ . ~/.bashrc

ou

$ source ~/.bashrc

Mais detalhes em [S] hell Hacks .

Adriano P
fonte
Esta é uma boa resposta, mas tenho medo de que haja mais locais no sistema, quando as configurações de proxy precisarem ser alteradas: askubuntu.com/questions/664777/… .
matandked
Todo software pode usar suas próprias configurações de proxy (como npm ou apt, para citar alguns). Portanto, o http_proxy cobre a maioria deles, mas você precisa verificar a documentação para ter certeza de qual deles usa.
Adriano P
3

Se você deseja alterar o proxy dos programas da GUI, poderá ter algum sucesso se eles usarem as configurações de proxy do "sistema" do Gnome. Essas são as configurações de proxy configuráveis ​​no Painel de Controle.

Você pode observar e alterar as configurações atuais com o 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/

Para desativar o proxy - defina use_http_proxy como false:

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

Você pode verificar os resultados usando a -alinha acima. Como alternativa, para definir um novo 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
fonte
3
export http_proxy=

Você pode verificar se eles desapareceram executando

echo $http_proxy

Deve retornar uma linha em branco

Andrew M.
fonte
1

Se todas as coisas escritas acima não funcionarem:

  1. Vá para Configurações do sistema.
  2. Vá para Rede.
  3. Vá para proxy da rede e, mesmo que a opção selecionada seja "nenhuma", vá para "manual" e remova todos os proxies salvos.
  4. Aplique em todo o sistema.

Isso funcionou para mim!

Aditi Tayal
fonte
1
O OP solicitou especificamente uma opção de linha de comando. Eles podem não ter instalado a GUI
Burgi
1

Para desativar todas as variáveis ​​de proxy em uma linha para sua sessão atual:

unset `env | grep proxy | cut -d= -f1`
aruuu
fonte
0

Você pode excluir todos os {http_proxy, https_proxy} etc de / etc / environment. apenas sudo gedit / etc / environment e exclua manualmente todos os proxies e salve.

Ranjeet Kumar Upadhyay
fonte