Voltar ao blog

Configuração de Proxy no Windows e Linux: Guia Completo 2025

195+ países

📅13 de novembro de 2025

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.

🪟 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:

  1. Rede e Internet (Network & Internet) no painel esquerdo
  2. 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

  1. Na seção "Configurar manualmente", clique no botão Configurar
  2. Ative a chave "Usar servidor proxy"
  3. Insira o Endereço IP ou nome de domínio do servidor proxy
  4. Insira a Porta (geralmente 8080, 3128, 80 ou outra)
  5. (Opcional) No campo "Não usar o servidor proxy para endereços", adicione exceções
  6. 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

  1. Pressione Windows + I para abrir Configurações
  2. Selecione Rede e Internet
  3. No painel esquerdo, escolha Proxy
  4. Na seção "Configurar proxy manualmente", ative "Usar servidor proxy"
  5. Insira o endereço e a porta
  6. 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

  1. Abra a aba Conexões (Connections)
  2. Clique no botão Configurações de LAN (LAN settings)
  3. Na seção "Servidor proxy", marque a caixa "Usar um servidor proxy para a rede local"
  4. 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)

  1. Abra "Sistema" (Windows + Pause)
  2. Clique em "Configurações avançadas do sistema"
  3. Aba "Avançado" → "Variáveis de Ambiente"
  4. Na seção "Variáveis de usuário", clique em "Novo"
  5. 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:

  1. Menu → Configurações → Rede
  2. Botão "Configurar"
  3. Configuração manual do proxy
  4. 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.

🐧 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

  1. Abra Configurações (Settings)
  2. Selecione Rede (Network)
  3. Clique no ícone de engrenagem ao lado da conexão
  4. Aba Proxy
  5. Selecione Manual
  6. Insira o endereço e a porta para HTTP, HTTPS, FTP, Socks
  7. 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.

📜 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

  1. Método DHCP: O cliente solicita a opção 252 ao servidor DHCP, que retorna o URL do arquivo PAC
  2. Método DNS: O cliente tenta encontrar o host wpad.domain.com via DNS
  3. 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 8080 ou nc -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!