Configuração de proxy no openSUSE
No Windows, pelo menos desde o XP, é tudo automático com WPAD. "Detectar automaticamente as configurações", em "Opções da Internet", que é habilitado por padrão, faz todos os componentes do sistema e a maioria dos programas de terceiros funcionarem sem intervenção do usuário.
Já no Linux é complicada a situação. Uso como referência aqui o openSUSE 42.1. Deve servir em maior ou menor grau para as demais distribuições também.
A forma tradicional de configurar manualmente, para todos os usuários, é definir as variáveis de ambiente
(ou endereço IP no lugar de
Óbvio que algum ismo daria as caras. openSUSE tem
Existe uma biblioteca que abstrai a configuração, a libproxy. Os aplicativos precisam usá-la, contudo. Senão não faz diferença. A libproxy tem plugins que obtêm a configuração de variadas fontes. Um deles é um interpretador de JavaScript que permite usar arquivos PAC de autoconfiguração. Habilitamos o uso de WPAD selecionando, no GNOME, "Automático" em "Rede → Proxy da rede" (o endereço deve ficar em branco). Aplicativos compilados com suporte, como Firefox e
Portanto, "Automático" não serve e precisamos voltar à configuração manual. Adeus autoconfiguração. ☹
A libproxy dá prioridade à configuração do GNOME e ignora as variáveis. A configuração do YaST não funcionará:
https://bugzilla.opensuse.org/show_bug.cgi?id=725948
https://bugzilla.opensuse.org/show_bug.cgi?id=803601
Ou seja, precisa ser configurado no GNOME, que faz o trabalho de exportar as variáveis para a sessão do usuário. Em teoria™, o GNOME oferece meio de definir globalmente suas configurações através do dconf, mas eu nunca consegui fazer funcionar direito. As opções relevantes estão em
Último detalhe: o
A solução definitiva seria fazer o máximo possível de programas usar a libproxy.
[1] O patch que integra a libproxy ao
Já no Linux é complicada a situação. Uso como referência aqui o openSUSE 42.1. Deve servir em maior ou menor grau para as demais distribuições também.
A forma tradicional de configurar manualmente, para todos os usuários, é definir as variáveis de ambiente
http_proxy
, https_proxy
, ftp_proxy
e no_proxy
, o que pode ser feito criando um arquivo (proxy.sh
, por exemplo) em /etc/profile.d
contendo:export http_proxy=http://[usuário:senha@]servidor.domínio:porta export https_proxy=http://[usuário:senha@]servidor.domínio:porta export ftp_proxy=http://[usuário:senha@]servidor.domínio:porta export no_proxy="localhost, 127.0.0.1, ::1, .domínio"
(ou endereço IP no lugar de
servidor.domínio
)Óbvio que algum ismo daria as caras. openSUSE tem
/etc/sysconfig/proxy
, um arquivo INI-style configurado pelo YaST, que no final faz a mesma coisa.Existe uma biblioteca que abstrai a configuração, a libproxy. Os aplicativos precisam usá-la, contudo. Senão não faz diferença. A libproxy tem plugins que obtêm a configuração de variadas fontes. Um deles é um interpretador de JavaScript que permite usar arquivos PAC de autoconfiguração. Habilitamos o uso de WPAD selecionando, no GNOME, "Automático" em "Rede → Proxy da rede" (o endereço deve ficar em branco). Aplicativos compilados com suporte, como Firefox e
wget
[1], funcionarão dessa maneira. Nem tudo são flores infelizmente, pois há programas que ainda dependem das variáveis de ambiente, como o zypper
.Portanto, "Automático" não serve e precisamos voltar à configuração manual. Adeus autoconfiguração. ☹
A libproxy dá prioridade à configuração do GNOME e ignora as variáveis. A configuração do YaST não funcionará:
https://bugzilla.opensuse.org/show_bug.cgi?id=725948
https://bugzilla.opensuse.org/show_bug.cgi?id=803601
Ou seja, precisa ser configurado no GNOME, que faz o trabalho de exportar as variáveis para a sessão do usuário. Em teoria™, o GNOME oferece meio de definir globalmente suas configurações através do dconf, mas eu nunca consegui fazer funcionar direito. As opções relevantes estão em
org.gnome.system.proxy
.Último detalhe: o
sudo
por padrão não repassa as variáveis do usuário corrente aos processos por ele executados. Por isso, sudo <programa>
não herdará as variáveis de configuração de proxy. Adicione a opção -E
a sua invocação ou configure-o para repassar variáveis específicas.A solução definitiva seria fazer o máximo possível de programas usar a libproxy.
[1] O patch que integra a libproxy ao
wget
, de um desenvolvedor do openSUSE, não tornou-se upstream, apesar de ter sido proposto faz tempo.
Comentários
Postar um comentário