Nesta série de artigos: Guia completo para configurar servidores proxy nos sistemas operacionais Windows 10/11 e Linux (Ubuntu, Debian, CentOS). Aprenderá todos os métodos de configuração — desde a interface gráfica até a linha de comando, registro, variáveis de ambiente, arquivos PAC e configuração automática. O material está atualizado para 2025, considerando as últimas atualizações dos sistemas operacionais.
📑 Sumário da Parte 1 (Windows)
- Introdução: Por que configurar um proxy no Windows
- Configuração de Proxy no Windows 11 via GUI
- Configuração de Proxy no Windows 10
- Painel de Controle Clássico (Opções de Internet)
- Configuração via Registro do Windows
- Configuração via PowerShell
- Configuração via Linha de Comando (netsh)
- Variáveis de Ambiente no Windows
- Configuração para Aplicações Específicas
🪟 Introdução: Por que configurar um proxy no Windows
Configurar um servidor proxy no Windows é uma habilidade essencial para trabalhar em redes corporativas, contornar restrições regionais, proteger a privacidade e automatizar web scraping. Em 2025, o Windows oferece diversas maneiras de configurar um proxy, desde a simples interface gráfica até ferramentas poderosas de linha de comando.
Cenários Principais de Uso de Proxy no Windows
🏢 Redes Corporativas
A maioria das empresas exige o uso de um proxy corporativo para acesso à internet, controle de tráfego e segurança.
🔒 Privacidade
O uso de um proxy permite ocultar o endereço IP real, proteger dados pessoais e contornar restrições geográficas.
⚙️ Automação
Para web scraping, análise de dados e testes automatizados, proxies são necessários para rotação de IP e contorno de limitações.
🌍 Geolocalização
Acesso a conteúdo de diferentes países para testes, monitoramento de preços e verificação de disponibilidade de serviços.
✅ O que você aprenderá nesta parte
- Configuração de proxy via interface gráfica do Windows 10 e 11
- Uso do Painel de Controle clássico
- Trabalhando com o Registro do Windows para ajustes finos
- Automação via PowerShell e linha de comando
- Configuração de variáveis de ambiente
- Configuração de proxy para aplicações específicas
🎨 Configuração de Proxy no Windows 11 via GUI
O Windows 11 oferece uma interface de Configurações atualizada com navegação aprimorada. Em 2025, este método é o mais simples e recomendado para a maioria dos usuários.
Instruções Passo a Passo
Passo 1: Abrir as Configurações
Pressione Windows + I ou abra o Menu Iniciar e selecione o ícone de engrenagem (Configurações).
💡 Dica: Você também pode clicar com o botão direito no ícone de rede na bandeja do sistema e selecionar "Configurações de Rede".
Passo 2: Navegar para as Configurações de Proxy
Na janela Configurações, selecione:
- Rede e Internet (Network & Internet) no painel esquerdo
- Role para baixo e selecione Proxy (Proxy)
Passo 3: Escolher o Método de Configuração
O Windows 11 oferece três maneiras de configurar o proxy:
🔄 Detecção automática
Ativado por padrão. O Windows tenta detectar as configurações de proxy via DHCP ou DNS automaticamente.
📜 Usar script de configuração
Para arquivos PAC (Proxy Auto-Config). Insira o URL do script de configuração.
⚙️ Configurar manualmente
O método mais comum. Insira o IP e a porta do servidor proxy manualmente.
Passo 4: Configuração Manual do Proxy
- Na seção "Configurar manualmente", clique no botão Configurar
- Ative a chave "Usar servidor proxy"
- Insira o Endereço IP ou nome de domínio do servidor proxy
- Insira a Porta (geralmente 8080, 3128, 80 ou outra)
- (Opcional) No campo "Não usar o servidor proxy para endereços", adicione exceções
- Clique em Salvar
Exemplo de Configuração:
Endereço do servidor proxy: 192.168.1.100
Porta: 8080
Não usar proxy para:
localhost;127.0.0.1;*.local;192.168.1.*
⚠️ Importante: As configurações de proxy no Windows 11 são aplicadas no sistema para todos os aplicativos que usam as APIs WinHTTP e WinINET. No entanto, alguns aplicativos (como o Firefox) usam suas próprias configurações de proxy.
🖥️ Configuração de Proxy no Windows 10
O processo de configuração de proxy no Windows 10 é muito semelhante ao do Windows 11, mas com pequenas diferenças na interface. Este método ainda é relevante em 2025 para milhões de usuários.
Instruções para Windows 10
Método 1: Através das Configurações do Windows
- Pressione Windows + I para abrir Configurações
- Selecione Rede e Internet
- No painel esquerdo, escolha Proxy
- Na seção "Configurar proxy manualmente", ative "Usar servidor proxy"
- Insira o endereço e a porta
- Clique em Salvar
Configuração de Exceções
Para que certos endereços não usem o proxy, adicione-os no campo de exceções:
localhost;127.0.0.1;*.local;intranet.company.com
Os endereços são separados por ponto e vírgula. O curinga (*) pode ser usado.
🎛️ Painel de Controle Clássico (Opções de Internet)
Um método antigo, mas ainda funcional, para configurar o proxy através da janela "Propriedades da Internet". Este método oferece recursos avançados de configuração não disponíveis na interface moderna do Windows.
Acesso às Opções de Internet
Maneiras de abrir:
1️⃣ Via comando Executar
Pressione Windows + R e digite:
inetcpl.cpl
2️⃣ Via Painel de Controle
Painel de Controle → Rede e Internet → Propriedades da Internet
3️⃣ Via Internet Explorer
Menu → Ferramentas → Propriedades da Internet
Configuração do Proxy
- Abra a aba Conexões (Connections)
- Clique no botão Configurações de LAN (LAN settings)
- Na seção "Servidor proxy", marque a caixa "Usar um servidor proxy para a rede local"
- Clique em Avançado para configurações detalhadas
Configurações Avançadas de Proxy
O botão "Avançado" permite configurar proxies diferentes para diferentes protocolos:
| Protocolo | Endereço do Proxy | Porta |
|---|---|---|
| HTTP | 192.168.1.100 | 8080 |
| Secure (HTTPS) | 192.168.1.100 | 8443 |
| FTP | 192.168.1.100 | 2121 |
| Socks | 192.168.1.100 | 1080 |
✅ Vantagem: Permite usar proxies diferentes para diferentes tipos de tráfego
📝 Configuração via Registro do Windows
O Registro do Windows é uma ferramenta poderosa para gerenciar configurações do sistema diretamente. Este método é adequado para usuários avançados e automação via scripts.
⚠️ Aviso: A edição incorreta do registro pode causar mau funcionamento do sistema. Crie um backup do registro antes de fazer alterações. Use este método apenas se souber o que está fazendo.
Chaves de Registro para Proxy
Localização das Configurações
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
Parâmetros Principais
| Parâmetro | Tipo | Valor | Descrição |
|---|---|---|---|
| ProxyEnable | DWORD | 1 | Habilitar proxy (0 = desabilitar) |
| ProxyServer | String | 192.168.1.100:8080 | Endereço e porta do proxy |
| ProxyOverride | String | localhost;127.*;*.local | Exceções (endereços sem proxy) |
| AutoConfigURL | String | http://proxy/proxy.pac | URL do arquivo PAC |
Exemplo de Arquivo REG para Importação
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"ProxyEnable"=dword:00000001
"ProxyServer"="192.168.1.100:8080"
"ProxyOverride"="localhost;127.0.0.1;*.local"
Salve este texto em um arquivo com a extensão .reg e clique duas vezes para importar para o registro.
⚡ Configuração via PowerShell
O PowerShell é uma ferramenta moderna e poderosa para automatizar as configurações do Windows. Ideal para configuração massiva de proxies em vários computadores ou automação de configuração.
Comandos PowerShell para Gerenciar Proxy
Habilitar Proxy
# Definir o endereço do servidor proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyServer -Value "192.168.1.100:8080"
# Habilitar proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyEnable -Value 1
# Aplicar alterações (notificar o sistema)
$signature = @'
[DllImport("wininet.dll")]
public static extern bool InternetSetOption(int hInternet, int dwOption, int lpBuffer, int dwBufferLength);
'@
$type = Add-Type -MemberDefinition $signature -Name wininet -Namespace pinvoke -PassThru
$type::InternetSetOption(0, 39, 0, 0) | Out-Null
Desabilitar Proxy
# Desabilitar proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyEnable -Value 0
Verificar Configurações Atuais
# Obter todas as configurações de proxy
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | `
Select-Object ProxyEnable, ProxyServer, ProxyOverride, AutoConfigURL
Função Pronta para Configurar Proxy
function Set-Proxy {
param(
[Parameter(Mandatory=$true)]
[string]$Server,
[Parameter(Mandatory=$true)]
[int]$Port,
[string]$Override = "localhost;127.0.0.1;*.local"
)
$proxyString = "${Server}:${Port}"
$regPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
Set-ItemProperty -Path $regPath -Name ProxyServer -Value $proxyString
Set-ItemProperty -Path $regPath -Name ProxyEnable -Value 1
Set-ItemProperty -Path $regPath -Name ProxyOverride -Value $Override
Write-Host "Proxy configurado: $proxyString" -ForegroundColor Green
}
# Uso:
Set-Proxy -Server "192.168.1.100" -Port 8080
💻 Configuração via Linha de Comando (netsh)
O utilitário netsh (Network Shell) é uma ferramenta clássica de linha de comando do Windows para gerenciar configurações de rede, incluindo proxy para WinHTTP.
Comandos netsh winhttp
Definir Proxy
netsh winhttp set proxy proxy-server="192.168.1.100:8080" bypass-list="localhost;*.local"
Importar Configurações do IE
netsh winhttp import proxy source=ie
Importa as configurações de proxy do Internet Explorer para o WinHTTP.
Visualizar Configurações Atuais
netsh winhttp show proxy
Redefinir Configurações de Proxy
netsh winhttp reset proxy
💡 Dica: Os comandos netsh winhttp afetam o WinHTTP do sistema, usado pelo Windows Update, PowerShell e muitos aplicativos do sistema, mas NÃO afetam as configurações do Internet Explorer/Edge.
🌐 Variáveis de Ambiente no Windows
Muitos utilitários de console e aplicativos usam variáveis de ambiente para definir o servidor proxy. Isso é especialmente importante para Python, Node.js, Git, curl e outras ferramentas de desenvolvimento.
Variáveis de Ambiente Padrão de Proxy
Definição via Linha de Comando (Temporária)
set HTTP_PROXY=http://192.168.1.100:8080
set HTTPS_PROXY=http://192.168.1.100:8080
set NO_PROXY=localhost,127.0.0.1,.local
Essas variáveis são válidas apenas na sessão de console atual.
Definição via GUI (Permanente)
- Abra "Sistema" (Windows + Pause)
- Clique em "Configurações avançadas do sistema"
- Aba "Avançado" → "Variáveis de Ambiente"
- Na seção "Variáveis de usuário", clique em "Novo"
- Adicione as variáveis HTTP_PROXY, HTTPS_PROXY
Definição via PowerShell (Permanente)
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://192.168.1.100:8080", "User")
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://192.168.1.100:8080", "User")
[Environment]::SetEnvironmentVariable("NO_PROXY", "localhost,127.0.0.1", "User")
Formato com Autenticação
set HTTP_PROXY=http://username:password@192.168.1.100:8080
set HTTPS_PROXY=http://username:password@192.168.1.100:8080
⚠️ Caracteres especiais na senha devem ser codificados em URL (@ → %40, : → %3A)
🎯 Configuração para Aplicações Específicas
Alguns aplicativos não utilizam as configurações de proxy do sistema e exigem sua própria configuração. Vamos analisar as ferramentas mais populares.
🦊 Firefox
O Firefox usa suas próprias configurações de proxy:
- Menu → Configurações → Rede
- Botão "Configurar"
- Configuração manual do proxy
- Insira o endereço e a porta
📦 Git
Configurando proxy para Git:
git config --global http.proxy http://192.168.1.100:8080
git config --global https.proxy http://192.168.1.100:8080
🐍 Python pip
Configuração para pip:
pip install package_name --proxy http://192.168.1.100:8080
📦 npm
Configuração para npm:
npm config set proxy http://192.168.1.100:8080
npm config set https-proxy http://192.168.1.100:8080
🎁 ProxyCove — proxies confiáveis para Windows: Suporte a todos os métodos de autenticação (whitelist de IP e login:senha), funciona com qualquer aplicação, suporte técnico 24/7. Cadastre-se → e ganhe +$1.3 com o código promocional ARTHELLO
Continua na próxima parte...
Na próxima parte: configuração de proxy no Linux (Ubuntu, Debian, CentOS), variáveis de ambiente, configuração de apt/yum via proxy
Configuração de Proxy no Linux: Ubuntu, Debian, CentOS — Parte 2
Nesta parte: Guia detalhado para configurar servidores proxy em várias distribuições Linux — Ubuntu, Debian, CentOS e RHEL. Abordaremos variáveis de ambiente do sistema, configuração via GUI, configuração de gerenciadores de pacotes apt e yum, e configuração para aplicações específicas. Material atualizado para 2025.
📑 Sumário da Parte 2 (Linux)
- Características da Configuração de Proxy no Linux
- Variáveis de Ambiente (http_proxy, https_proxy)
- Configuração em Nível de Sistema (/etc/environment)
- Configuração no Ubuntu/Debian
- Configuração no CentOS/RHEL
- Configuração do APT via Proxy
- Configuração do YUM/DNF via Proxy
- Configuração em .bashrc e .profile
- Configuração para Aplicações (curl, wget, git)
🐧 Características da Configuração de Proxy no Linux
Diferentemente do Windows, o Linux não possui um local centralizado único para configurar o servidor proxy. Em vez disso, vários métodos são usados: variáveis de ambiente, arquivos de configuração, configurações de aplicativos individuais e interfaces gráficas (em distribuições desktop).
Abordagens Principais para Configurar Proxy no Linux
🌐 Variáveis de Ambiente
O método mais comum. As variáveis http_proxy, https_proxy e no_proxy são usadas pela maioria das utilidades de console.
📝 Arquivos de Configuração
Arquivos como /etc/environment, /etc/profile, ~/.bashrc para configurações do sistema e do usuário.
📦 Gerenciadores de Pacotes
APT, YUM/DNF exigem configuração separada em seus arquivos de configuração.
🎨 Interface Gráfica
GNOME, KDE e outros ambientes de desktop fornecem uma GUI para configurar o proxy (apenas em versões desktop).
⚠️ Pontos Importantes
- No Linux, não há um padrão obrigatório para proxy — cada aplicativo pode ignorar as configurações do sistema
- As variáveis de ambiente devem ser definidas tanto em letras maiúsculas quanto minúsculas (HTTP_PROXY e http_proxy)
- APT e YUM NÃO usam variáveis de ambiente do sistema automaticamente
- Para versões de servidor (sem GUI), use apenas a linha de comando e arquivos de configuração
🔧 Variáveis de Ambiente (http_proxy, https_proxy)
As variáveis de ambiente são a maneira padrão de configurar proxies no Linux para aplicativos de console. A maioria das utilidades (curl, wget, apt-get com a configuração correta) lê essas variáveis.
Variáveis de Ambiente Padrão de Proxy
Lista de Variáveis Principais
| Variável | Formato | Descrição |
|---|---|---|
| http_proxy | http://proxy:8080 | Proxy para tráfego HTTP |
| https_proxy | http://proxy:8080 | Proxy para tráfego HTTPS |
| ftp_proxy | http://proxy:8080 | Proxy para tráfego FTP |
| no_proxy | localhost,127.0.0.1,.local | Endereços sem proxy (exceções) |
| HTTP_PROXY | http://proxy:8080 | Duplica http_proxy (maiúsculas) |
| HTTPS_PROXY | http://proxy:8080 | Duplica https_proxy (maiúsculas) |
Definição Temporária (Sessão Atual)
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export ftp_proxy="http://192.168.1.100:8080"
export no_proxy="localhost,127.0.0.1,*.local"
# Duplicar em maiúsculas para compatibilidade
export HTTP_PROXY="http://192.168.1.100:8080"
export HTTPS_PROXY="http://192.168.1.100:8080"
export FTP_PROXY="http://192.168.1.100:8080"
export NO_PROXY="localhost,127.0.0.1,*.local"
Essas variáveis funcionarão apenas na sessão de terminal atual.
Com Autenticação
export http_proxy="http://username:password@192.168.1.100:8080"
export https_proxy="http://username:password@192.168.1.100:8080"
⚠️ Se a senha contiver caracteres especiais, use codificação URL: @ → %40, : → %3A
Verificar Variáveis Definidas
# Mostrar todas as variáveis proxy
env | grep -i proxy
# Verificar uma variável específica
echo $http_proxy
echo $https_proxy
Desabilitar Proxy
unset http_proxy
unset https_proxy
unset ftp_proxy
unset HTTP_PROXY
unset HTTPS_PROXY
unset FTP_PROXY
🌍 Configuração em Nível de Sistema (/etc/environment)
O arquivo /etc/environment contém variáveis de ambiente do sistema que são aplicadas a todos os usuários e carregadas na inicialização do sistema.
Configuração de Sistema Permanente
Passo 1: Editar o Arquivo
sudo nano /etc/environment
Passo 2: Adicionar Variáveis
Adicione as seguintes linhas ao final do arquivo:
http_proxy="http://192.168.1.100:8080"
https_proxy="http://192.168.1.100:8080"
ftp_proxy="http://192.168.1.100:8080"
no_proxy="localhost,127.0.0.1,*.local"
HTTP_PROXY="http://192.168.1.100:8080"
HTTPS_PROXY="http://192.168.1.100:8080"
FTP_PROXY="http://192.168.1.100:8080"
NO_PROXY="localhost,127.0.0.1,*.local"
Passo 3: Aplicar Alterações
# Reiniciar o sistema (recomendado)
sudo reboot
# Ou aplicar para a sessão atual
source /etc/environment
💡 Dica: O arquivo /etc/environment não suporta substituição de variáveis ou expansão de comandos. Use apenas valores simples. Para lógica mais complexa, use /etc/profile ou /etc/bash.bashrc.
🐧 Configuração no Ubuntu/Debian
Ubuntu e Debian são as distribuições Linux mais populares. Vamos ver as configurações via GUI (para versões desktop) e via linha de comando (para servidores).
🎨 Via GUI (Ubuntu Desktop)
Configurações GNOME
- Abra Configurações (Settings)
- Selecione Rede (Network)
- Clique no ícone de engrenagem ao lado da conexão
- Aba Proxy
- Selecione Manual
- Insira o endereço e a porta para HTTP, HTTPS, FTP, Socks
- Clique em Aplicar (Apply)
⌨️ Via Linha de Comando
gsettings (para GNOME)
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http host '192.168.1.100'
gsettings set org.gnome.system.proxy.http port 8080
🔴 Configuração no CentOS/RHEL
CentOS e Red Hat Enterprise Linux usam uma estrutura de configuração semelhante. Em 2025, muitos estão migrando para Rocky Linux e AlmaLinux, onde os mesmos princípios se aplicam.
Configuração de Sistema para Baseado em RHEL
Método 1: /etc/profile.d/
Crie um arquivo para as configurações de proxy:
sudo nano /etc/profile.d/proxy.sh
Adicione o seguinte conteúdo:
#!/bin/bash
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export ftp_proxy="http://192.168.1.100:8080"
export no_proxy="localhost,127.0.0.1,*.local"
export HTTP_PROXY="http://192.168.1.100:8080"
export HTTPS_PROXY="http://192.168.1.100:8080"
export FTP_PROXY="http://192.168.1.100:8080"
export NO_PROXY="localhost,127.0.0.1,*.local"
Torne o arquivo executável: sudo chmod +x /etc/profile.d/proxy.sh
Método 2: /etc/environment
O mesmo método usado para Ubuntu/Debian — edite /etc/environment
📦 Configuração do APT via Proxy
Importante: O APT (Advanced Package Tool) no Ubuntu/Debian NÃO utiliza variáveis de ambiente do sistema automaticamente. É necessária uma configuração separada para funcionar via proxy.
Configurando o Proxy para APT
Método 1: apt.conf.d/ (Recomendado)
Crie um arquivo de configuração:
sudo nano /etc/apt/apt.conf.d/02proxy
Adicione o seguinte conteúdo:
Acquire::http::Proxy "http://192.168.1.100:8080";
Acquire::https::Proxy "http://192.168.1.100:8080";
Acquire::ftp::Proxy "http://192.168.1.100:8080";
Com Autenticação
Acquire::http::Proxy "http://username:password@192.168.1.100:8080";
Acquire::https::Proxy "http://username:password@192.168.1.100:8080";
Método 2: Configuração Temporária (um comando)
sudo apt-get -o Acquire::http::proxy="http://192.168.1.100:8080" update
Aplica-se apenas ao comando apt atual.
Verificar Configurações do APT
# Mostrar configurações atuais do APT
apt-config dump | grep -i proxy
# Testar atualização via proxy
sudo apt-get update
Exceções (sem proxy para alguns hosts)
Acquire::http::Proxy "http://192.168.1.100:8080";
Acquire::http::Proxy::ppa.launchpad.net "DIRECT";
"DIRECT" significa conexão direta sem proxy para o host especificado.
📦 Configuração do YUM/DNF via Proxy
YUM (para CentOS 7 e anteriores) e DNF (para CentOS 8+, Fedora, Rocky Linux, AlmaLinux) são gerenciadores de pacotes para distribuições baseadas em Red Hat. Eles também exigem configuração de proxy separada.
Configuração Global do YUM/DNF
YUM (CentOS 7 e anteriores)
Edite o arquivo de configuração:
sudo nano /etc/yum.conf
Adicione na seção [main]:
[main]
proxy=http://192.168.1.100:8080
proxy_username=your_username
proxy_password=your_password
Se o proxy não exigir autenticação, omita proxy_username e proxy_password.
DNF (CentOS 8+, Fedora, Rocky Linux, AlmaLinux)
Edite o arquivo de configuração:
sudo nano /etc/dnf/dnf.conf
Adicione na seção [main]:
[main]
proxy=http://192.168.1.100:8080
proxy_username=your_username
proxy_password=your_password
Configuração para um Repositório Específico
Você pode configurar o proxy apenas para um repositório específico nos arquivos /etc/yum.repos.d/*.repo:
[epel]
name=Extra Packages for Enterprise Linux 8
baseurl=https://download.fedoraproject.org/pub/epel/8/$basearch
proxy=http://192.168.1.100:8080
proxy_username=username
proxy_password=password
Desabilitar Proxy para um Repositório Específico
[local-repo]
name=Local Repository
baseurl=http://192.168.1.50/repo
proxy=_none_
proxy=_none_ desabilita o proxy para este repositório.
Verificar Configurações
# Para YUM
sudo yum repolist
# Para DNF
sudo dnf repolist
# Mostrar configuração
sudo dnf config-manager --dump | grep -i proxy
👤 Configuração em .bashrc e .profile
Para configurações de proxy específicas do usuário, que se aplicam apenas a um usuário, use os arquivos .bashrc ou .profile no diretório home.
Configuração de Usuário
Editando .bashrc
nano ~/.bashrc
Adicione ao final do arquivo:
# Proxy settings
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export ftp_proxy="http://192.168.1.100:8080"
export no_proxy="localhost,127.0.0.1,*.local"
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy
export FTP_PROXY=$ftp_proxy
export NO_PROXY=$no_proxy
Aplicar alterações:
source ~/.bashrc
Criação de Funções para Gerenciar Proxy
# Função para habilitar proxy
proxy_on() {
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy
echo "Proxy habilitado"
}
# Função para desabilitar proxy
proxy_off() {
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
echo "Proxy desabilitado"
}
# Função para verificar o status do proxy
proxy_status() {
echo "http_proxy: $http_proxy"
echo "https_proxy: $https_proxy"
}
Uso: proxy_on, proxy_off, proxy_status
🛠️ Configuração para Aplicações (curl, wget, git)
Algumas utilidades populares têm seus próprios métodos de configuração de proxy ou arquivos de configuração.
📡 curl
O curl usa variáveis de ambiente, mas você também pode especificar o proxy nos parâmetros:
curl -x http://192.168.1.100:8080 https://example.com
# Com autenticação
curl -x http://user:pass@192.168.1.100:8080 https://example.com
# Via .curlrc
echo 'proxy = "http://192.168.1.100:8080"' >> ~/.curlrc
📥 wget
O wget também usa variáveis de ambiente, mas possui um arquivo de configuração:
# ~/.wgetrc
http_proxy = http://192.168.1.100:8080
https_proxy = http://192.168.1.100:8080
use_proxy = on
🔧 git
O Git tem seu próprio sistema de configuração de proxy:
# Globalmente para todos os repositórios
git config --global http.proxy http://192.168.1.100:8080
git config --global https.proxy http://192.168.1.100:8080
# Para um repositório específico
git config http.proxy http://192.168.1.100:8080
# Desabilitar proxy
git config --global --unset http.proxy
git config --global --unset https.proxy
🐳 Docker
O Docker exige configuração de proxy para o daemon e o cliente:
# /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://192.168.1.100:8080"
Environment="HTTPS_PROXY=http://192.168.1.100:8080"
Environment="NO_PROXY=localhost,127.0.0.1"
🎁 ProxyCove — proxies profissionais para Linux: Compatibilidade total com todas as distribuições, suporte a whitelist de IP e autenticação, funciona com qualquer aplicação. Cadastre-se → e ganhe +$1.3 com o código promocional ARTHELLO
A Parte Final em Breve!
Na parte final: Arquivos PAC, configuração automática, solução de problemas típicos com proxy no Windows e Linux
Arquivos PAC, Configuração Automática e Troubleshooting — O Final
Nesta parte final: Guia completo sobre Arquivos PAC (Proxy Auto-Configuration), protocolo WPAD para detecção automática de proxy, diagnóstico e solução de problemas comuns de proxy no Windows e Linux. Melhores práticas e conclusões para 2025.
📑 Sumário da Parte Final
📜 O que são Arquivos PAC
PAC (Proxy Auto-Configuration) é um arquivo JavaScript que determina automaticamente qual servidor proxy usar para uma URL específica. Isso permite criar regras de roteamento de tráfego flexíveis sem a necessidade de configurar manualmente cada cliente.
Vantagens dos Arquivos PAC
✅ Flexibilidade
Proxies diferentes para sites diferentes, acesso direto para recursos locais, tolerância a falhas com múltiplos proxies.
✅ Centralização
Uma única alteração no arquivo PAC se aplica a todos os clientes sem reconfigurar cada máquina.
✅ Lógica Baseada em Condições
Escolha de proxy com base no domínio, sub-rede IP, hora do dia, dia da semana e outros fatores.
✅ Desempenho
Balanceamento de carga entre múltiplos servidores proxy, com troca automática em caso de falha.
Quando Usar Arquivos PAC
- Redes Corporativas — Proxies diferentes para recursos internos e externos
- Roteamento Complexo — Proxies diferentes para diferentes países ou serviços
- Redundância — Comutação automática para um proxy de backup em caso de falha do principal
- Otimização — Direcionamento do tráfego pela rota mais eficiente
💻 Sintaxe e Estrutura dos Arquivos PAC
Um arquivo PAC é um arquivo de texto com a extensão .pac, contendo uma função JavaScript chamada FindProxyForURL(url, host).
Estrutura Básica
function FindProxyForURL(url, host) {
// Sua lógica aqui
// Retorna uma string com as configurações do proxy
return "PROXY proxy.example.com:8080";
}
Parâmetros da Função
| Parâmetro | Descrição | Exemplo |
|---|---|---|
| url | URL completa acessada pelo navegador | https://example.com/page |
| host | Apenas o nome do domínio da URL | example.com |
Valores de Retorno
| Valor | Descrição |
|---|---|
DIRECT |
Conexão direta sem proxy |
PROXY host:port |
Proxy HTTP/HTTPS |
SOCKS host:port |
Proxy SOCKS (v4/v5) |
SOCKS5 host:port |
SOCKS5 explícito |
PROXY p1:8080; PROXY p2:8080; DIRECT |
Múltiplas opções (fallback) |
Funções PAC Embutidas
| Função | Descrição |
|---|---|
isPlainHostName(host) |
Verifica se o host é um nome simples (sem pontos) |
dnsDomainIs(host, domain) |
Verifica se o host pertence a um domínio |
localHostOrDomainIs(host, domain) |
Compara o host com o domínio |
isResolvable(host) |
Verifica se o host é resolvível via DNS |
isInNet(host, pattern, mask) |
Verifica se o IP está em uma sub-rede |
shExpMatch(str, pattern) |
Correspondência de padrão (* e ?) |
weekdayRange(day1, day2) |
Verifica o dia da semana |
dateRange(...) |
Verifica o intervalo de datas |
timeRange(...) |
Verifica a hora do dia |
📚 Exemplos Práticos de Arquivos PAC
Exemplo 1: Proxy Simples para Todas as Requisições
function FindProxyForURL(url, host) {
return "PROXY proxy.company.com:8080";
}
Exemplo 2: Endereços Locais sem Proxy
function FindProxyForURL(url, host) {
// Hosts locais — conexão direta
if (isPlainHostName(host) ||
dnsDomainIs(host, ".local") ||
isInNet(host, "192.168.0.0", "255.255.0.0") ||
isInNet(host, "10.0.0.0", "255.0.0.0") ||
host == "localhost" ||
host == "127.0.0.1")
{
return "DIRECT";
}
// Todo o resto via proxy
return "PROXY proxy.company.com:8080";
}
Exemplo 3: Proxies Diferentes para Diferentes Domínios
function FindProxyForURL(url, host) {
// Redes sociais via proxy especial
if (shExpMatch(host, "*.facebook.com") ||
shExpMatch(host, "*.twitter.com") ||
shExpMatch(host, "*.instagram.com"))
{
return "PROXY social-proxy.company.com:8080";
}
// Streaming de vídeo via outro proxy
if (shExpMatch(host, "*.youtube.com") ||
shExpMatch(host, "*.netflix.com"))
{
return "PROXY video-proxy.company.com:8080";
}
// Recursos locais diretamente
if (isInNet(host, "10.0.0.0", "255.0.0.0"))
{
return "DIRECT";
}
// Todo o resto via proxy principal
return "PROXY main-proxy.company.com:8080";
}
Exemplo 4: Tolerância a Falhas com Fallback
function FindProxyForURL(url, host) {
// Endereços locais diretamente
if (isPlainHostName(host) ||
isInNet(host, "192.168.0.0", "255.255.0.0"))
{
return "DIRECT";
}
// Tenta via proxy principal, depois reserva, depois diretamente
return "PROXY proxy1.company.com:8080; " +
"PROXY proxy2.company.com:8080; " +
"DIRECT";
}
O navegador tentará conectar-se via proxy1, se falhar tentará proxy2, e se este também falhar, tentará conexão direta.
Exemplo 5: Roteamento Dependente do Tempo
function FindProxyForURL(url, host) {
// Durante o horário comercial (8:00-18:00) e dias úteis
if (weekdayRange("MON", "FRI") &&
timeRange(8, 18))
{
return "PROXY work-proxy.company.com:8080";
}
// Proxy diferente à noite e nos fins de semana
return "PROXY night-proxy.company.com:8080";
}
Exemplo 6: Configuração Corporativa Complexa
function FindProxyForURL(url, host) {
// Hosts locais sem proxy
if (isPlainHostName(host) ||
dnsDomainIs(host, ".local") ||
dnsDomainIs(host, ".company.com") ||
isInNet(host, "10.0.0.0", "255.0.0.0") ||
isInNet(host, "172.16.0.0", "255.240.0.0") ||
isInNet(host, "192.168.0.0", "255.255.0.0") ||
host == "localhost" ||
host == "127.0.0.1")
{
return "DIRECT";
}
// Tráfego HTTPS via proxy SSL especial
if (url.substring(0, 6) == "https:")
{
return "PROXY ssl-proxy.company.com:8443; DIRECT";
}
// Conteúdo de mídia via proxy de cache
if (shExpMatch(url, "*.mp4") ||
shExpMatch(url, "*.mp3") ||
shExpMatch(url, "*.jpg") ||
shExpMatch(url, "*.png"))
{
return "PROXY cache-proxy.company.com:3128";
}
// HTTP via proxy principal com failover
return "PROXY proxy1.company.com:8080; " +
"PROXY proxy2.company.com:8080; " +
"DIRECT";
}
🚀 Implantação de Arquivos PAC
Após criar o arquivo PAC, ele deve ser colocado corretamente e os clientes configurados para usá-lo.
Localização do Arquivo PAC
1. Servidor Web (HTTP/HTTPS)
Coloque o arquivo proxy.pac no servidor web:
http://proxy.company.com/proxy.pac
https://proxy.company.com/proxy.pac
⚠️ O tipo MIME deve ser: application/x-ns-proxy-autoconfig
2. Sistema de Arquivos (file://)
# Windows
file:///C:/proxy.pac
file://\\server\share\proxy.pac
# Linux
file:///etc/proxy.pac
Não recomendado para produção, mas útil para testes.
Configuração do MIME-Type no Apache
# Em httpd.conf ou .htaccess
AddType application/x-ns-proxy-autoconfig .pac
Configuração do MIME-Type no Nginx
# Em nginx.conf
types {
application/x-ns-proxy-autoconfig pac;
}
Configuração dos Clientes
Windows
Configurações → Rede e Internet → Proxy → "Usar script de configuração" → Insira o URL do arquivo PAC
Linux (GNOME)
gsettings set org.gnome.system.proxy mode 'auto'
gsettings set org.gnome.system.proxy autoconfig-url 'http://proxy.company.com/proxy.pac'
Firefox
Configurações → Rede → Configurar → Configuração automática de proxy → URL de autoconfiguração
🔍 WPAD — Detecção Automática de Proxy
WPAD (Web Proxy Auto-Discovery Protocol) é um protocolo que permite que os navegadores encontrem automaticamente um arquivo PAC sem a necessidade de configurar o URL explicitamente. Em 2025, é suportado por todos os principais navegadores e sistemas operacionais.
Como o WPAD Funciona
- Método DHCP: O cliente solicita a opção 252 ao servidor DHCP, que retorna o URL do arquivo PAC
- Método DNS: O cliente tenta encontrar o host
wpad.domain.comvia DNS - Carregamento do PAC: Se encontrado, o cliente tenta carregar
http://wpad.domain.com/wpad.dat
Configuração do WPAD via DNS
Crie um registro DNS A ou CNAME:
wpad.company.com. IN A 192.168.1.100
# ou
wpad.company.com. IN CNAME proxy-server.company.com.
Coloque o arquivo PAC no endereço: http://wpad.company.com/wpad.dat
Configuração do WPAD via DHCP
Adicione a opção 252 na configuração do servidor DHCP:
# ISC DHCP (dhcpd.conf)
option wpad code 252 = text;
option wpad "http://proxy.company.com/proxy.pac";
⚠️ Problemas de Segurança do WPAD
- Sequestro de WPAD: Um atacante pode responder à solicitação WPAD e redirecionar o tráfego através de seu próprio proxy
- DNS spoofing: Falsificação do registro DNS wpad.domain.com
- Recomendação: Use WPAD apenas em redes corporativas confiáveis
- Alternativa: Especificar explicitamente o URL do arquivo PAC é mais seguro do que a detecção automática
🔧 Troubleshooting: Diagnóstico de Problemas
Problemas Comuns e Soluções
Problema 1: O Proxy Não Funciona
Sintomas: Sites não abrem, erros de conexão
Soluções:
- Verifique a acessibilidade do servidor proxy:
ping proxy-host - Verifique a porta:
telnet proxy-host 8080ounc -zv proxy-host 8080 - Certifique-se de que o proxy não está bloqueado pelo firewall
- Verifique o endereço e a porta corretos nas configurações
Problema 2: Erro 407 (Proxy Authentication Required)
Sintomas: Solicitação de autenticação, código de erro 407
Soluções:
- Verifique o login e a senha corretos
- Certifique-se de usar o formato correto:
http://user:pass@proxy:port - Verifique se as credenciais não expiraram
- Para autenticação por IP: certifique-se de que seu IP foi adicionado à whitelist
- Verifique se seu endereço IP externo não mudou
Problema 3: Lentidão ao Usar Proxy
Sintomas: Carregamento lento de páginas, timeouts
Soluções:
- Verifique a velocidade do proxy:
curl -x proxy:port -w "@curl-format.txt" https://example.com - Tente outro servidor proxy (se disponível)
- Verifique a carga no servidor proxy
- Certifique-se de não estar usando o proxy para recursos locais (adicione exceções)
- Verifique as configurações de DNS (DNS lento pode retardar o proxy)
Problema 4: O Arquivo PAC Não Funciona
Sintomas: A configuração automática não é aplicada
Soluções:
- Verifique a acessibilidade do arquivo PAC: abra o URL no navegador
- Certifique-se de que o tipo MIME correto:
application/x-ns-proxy-autoconfig - Verifique a sintaxe JavaScript no arquivo PAC
- Use ferramentas de teste de PAC: pactester (Linux) ou DevTools do navegador
- Verifique o cache: limpe o cache do navegador
🧪 Testando o Proxy
Ferramentas de Teste
Verificação de Conexão (curl)
# Verificação de proxy HTTP
curl -x http://proxy:8080 -I https://www.google.com
# Com autenticação
curl -x http://user:pass@proxy:8080 https://www.google.com
# Mostrar IP externo (verificar se o proxy está funcionando)
curl -x http://proxy:8080 https://ifconfig.me
curl -x http://proxy:8080 https://api.ipify.org
Verificação de Porta (netcat)
# Linux
nc -zv proxy-host 8080
# Windows (PowerShell)
Test-NetConnection -ComputerName proxy-host -Port 8080
Teste de Arquivo PAC (Linux)
# Instalação do pactester
sudo apt-get install libpacparser1 # Ubuntu/Debian
# Testando o arquivo PAC
pactester -p /path/to/proxy.pac -u https://www.google.com
Verificação de Configurações Atuais (Windows PowerShell)
# Mostrar configurações de proxy atuais
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select-Object ProxyEnable, ProxyServer, AutoConfigURL
# Mostrar proxy WinHTTP
netsh winhttp show proxy
Ferramentas Online
- whatismyip.com — verifique seu IP externo
- ifconfig.me — mostra o IP em formato de console
- browserleaks.com/proxy — informações detalhadas sobre o proxy
- ipleak.net — verifique vazamentos de DNS, WebRTC
🔒 Segurança ao Usar Proxies
Recomendações de Segurança
✅ Use Proxies HTTPS
Proxies HTTPS criptografam os dados entre o cliente e o servidor proxy, protegendo contra interceptação de tráfego.
✅ Não Armazene Senhas em Texto Puro
Use gerenciadores de senhas, variáveis de ambiente ou arquivos de configuração criptografados.
✅ Verifique Certificados
Ao usar um proxy MITM, certifique-se de confiar no certificado raiz do servidor proxy.
✅ Minimize Vazamentos de DNS
Use DNS-over-HTTPS ou configure consultas DNS através do proxy para evitar vazamentos.
❌ O que Evitar
- Não use proxies públicos gratuitos para dados confidenciais
- Não ignore avisos de certificados SSL
- Não armazene senhas de proxy em histórico de comandos (use um espaço antes do comando no bash)
- Não use proxy HTTP sem criptografia para transmitir senhas
🎯 Melhores Práticas de 2025
1️⃣ Escolha o Tipo de Proxy Correto
Para Web Scraping e Análise: Proxies Residenciais ou Móveis
Para Redes Corporativas: Proxies de Data Center com whitelist de IP
Para Contornar Bloqueios Geográficos: Proxies Residenciais do país desejado
2️⃣ Use Arquivos PAC para Roteamento Complexo
Arquivos PAC são ideais para redes corporativas onde diferentes recursos exigem proxies diferentes. Eles fornecem gerenciamento centralizado e flexibilidade.
3️⃣ Configure Exceções
Endereços locais (localhost, 127.0.0.1, sub-redes privadas) não devem passar pelo proxy. Isso acelera o acesso a recursos locais.
4️⃣ Implemente Tolerância a Falhas
Em arquivos PAC, use opções de fallback: múltiplos proxies com a opção de conexão direta caso todos os proxies falhem.
5️⃣ Monitoramento e Logs
Verifique regularmente a funcionalidade do proxy, monitore a velocidade de conexão e a disponibilidade. Registre erros para resposta rápida.
6️⃣ Documente a Configuração
Crie documentação com descrições de todas as configurações de proxy, arquivos PAC, exceções e procedimentos de recuperação. Isso economizará tempo no troubleshooting.
📝 Conclusões e Recomendações
Resumo da Série de Artigos
Windows
No Windows, use a GUI para configurações simples, PowerShell para automação e o Registro para ajustes finos. Variáveis de ambiente são necessárias para utilitários de console.
Linux
No Linux, o método principal são as variáveis de ambiente em /etc/environment ou ~/.bashrc. Não se esqueça da configuração separada para APT e YUM/DNF.
Arquivos PAC
Arquivos PAC oferecem a máxima flexibilidade para cenários complexos. Use-os em ambientes corporativos e para roteamento de tráfego inteligente.
Troubleshooting
A maioria dos problemas é resolvida verificando a acessibilidade do proxy, a correção das credenciais e as configurações. Use curl, netcat e DevTools do navegador para diagnóstico.
🏆 ProxyCove — Sua Escolha Ideal
Cobertura Global
195+ Países
Alta Velocidade
Até 10 Gbps
Segurança
IP + Login/Pass
Suporte 24/7
Em Português
Preços Acessíveis
A partir de $1.5/GB
API
Integração total
Pronto para Começar a Usar Proxies Profissionais?
Cadastre-se na ProxyCove, adicione fundos com o código promocional ARTHELLO e receba um bônus de +$1.3!