Adicionar um proxy a um host específico apenas no mac


10

Quero aplicar configurações de proxy apenas a um host específico (por exemplo, www.apple.com) no Mac OS X. Como posso fazer isso?

Nas Preferências do Sistema, existem apenas opções para ignorar as configurações de proxy para hosts específicos.

Respostas:


17

Você pode usar o seguinte proxy.pacarquivo para enviar todo o tráfego para apple.com por meio do proxy 1.2.3.4 enquanto continua indo diretamente para todos os outros hosts:

function FindProxyForURL(url, host) {
    PROXY = "PROXY 1.2.3.4"

    // Apple.com via proxy
    if (shExpMatch(host,"*.apple.com")) {
        return PROXY;
    }
    // Everything else directly!
    return "DIRECT";
}
  1. Salve esse script como proxy.pac(ou qualquer outro nome que você quiser) em um servidor web. Pode ser um servidor da web local ( http: //localhost/proxy.pac ). Isso é necessário a partir do OSX Lion .
  2. Vá para o System Preferences.
  3. Selecione Network.
  4. Selecione a rede que você deseja alterar (por exemplo, "WiFi").
  5. Clique no Advanced...botão
  6. Clique na Proxiesguia
  7. Verifique [x] Automatic Proxy-Configuration.
  8. No URL:campo, digite a URL para o arquivo que você criou na etapa 1. Por exemplo: http://localhost/proxy.pac. (nota: caminhos locais não funcionarão no OSX moderno)
  9. Clique SaveeApply

Voila! Sua própria configuração de proxy

Para mais informações sobre o formato do proxy.pacarquivo, consulte http://en.wikipedia.org/wiki/Proxy_Auto-Config como ponto de partida.


8

Na verdade, você pode usar o file:///path/to/fileesquema para a URL, em vez de precisar confiar em um servidor da web.

Por exemplo:

file:///Users/youruser/var/proxy/proxy.pac

11
Curiosamente, tudo isso funciona para Linux / BSD também, e possivelmente até para Windows; em qualquer lugar que a configuração automática de proxy for usada, é provável que funcione.
Jnbek

Essa provavelmente deve ser a resposta aceita, pois evita a complicação excessiva da pilha em uso e como o comentário anterior menciona - é uma solução muito mais universal.
user239546

Se você usar o arquivo: ///...pac, em alguns aplicativos poderá ter problemas (por exemplo, aplicativos da Microsoft, como Teams e outros, consulte support.microsoft.com/en-us/help/4042151/… ); A melhor maneira é colocá-lo no host local ou em qualquer servidor público na Internet.
paly

11
Isso NÃO funciona no OSX.
jpgeek

@jpgeek funciona em 10.15 para mim. Se você não tiver certeza, retorne 'PROXY ...'sem verificar o domínio a ser verificado. proxy.pacé relido quando você alterna o wifi.
seeker_of_bacon 24/03

2

Adicionando à resposta de @ heiglandreas ...

A solução da @ jnbek não funcionou no Mac OSX para mim e eu estava procurando uma solução simples.

Então, criei uma nova pasta e copiei o arquivo pac nela. Em seguida, iniciei um servidor Web simples no OSX na porta 80 a partir dessa pasta.

Basta ir para a pasta e executar este comando. Altere a porta de 80 para outra se ela já estiver ocupada.

python -m SimpleHTTPServer 80

Agora, eu poderia facilmente obter o arquivo proxy.pac http://localhost/proxy.pac. Ou, para uso porta diferente: http://localhost:PORT/proxy.pac.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.