Ajouter un proxy à un hôte particulier uniquement sur mac

10

Je souhaite appliquer les paramètres de proxy uniquement à un hôte particulier (par exemple, www.apple.com) sous Mac OS X. Comment puis-je procéder?

Dans les Préférences Système, il n'y a que des options pour contourner les paramètres de proxy pour des hôtes particuliers.

tusharmath
la source

Réponses:

17

Vous pouvez utiliser le proxy.pacfichier suivant pour envoyer tout le trafic vers apple.com via le proxy 1.2.3.4 tout en allant directement à tous les autres hôtes:

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. Enregistrez ce script sous proxy.pac(ou tout autre nom que vous aimez) sur un serveur Web. Il peut s'agir d'un serveur Web local ( http: //localhost/proxy.pac ). Ceci est requis à partir d'OSX Lion .
  2. Allez au System Preferences.
  3. Sélectionnez Network.
  4. Sélectionnez le réseau que vous souhaitez modifier (par exemple "WiFi").
  5. Cliquez sur le Advanced...bouton.
  6. Cliquez sur l' Proxiesonglet
  7. Vérifiez [x] Automatic Proxy-Configuration.
  8. Dans le URL:champ, tapez l'URL du fichier que vous avez créé à l' étape 1., par exemple: http://localhost/proxy.pac. (Remarque: les chemins locaux ne fonctionneront pas dans OSX moderne)
  9. Cliquez SaveetApply

Voila! Votre propre configuration de proxy

Pour plus d'informations sur le format du proxy.pacfichier, consultez http://en.wikipedia.org/wiki/Proxy_Auto-Config comme point de départ.

heiglandreas
la source
8

En fait, vous pouvez utiliser le file:///path/to/fileschéma de l'URL, au lieu de devoir compter sur un serveur Web.

Par exemple:

file:///Users/youruser/var/proxy/proxy.pac
jnbek
la source
1
Fait intéressant, tout cela fonctionne également pour Linux / BSD, et peut-être même Windows; partout où la configuration automatique du proxy est utilisée, cela est susceptible de fonctionner.
jnbek
Cela devrait probablement être la réponse acceptée car elle évite de trop compliquer la pile utilisée et comme le mentionne le commentaire précédent - est une solution beaucoup plus universelle.
user239546
Si vous utilisez file: ///...pac, dans certaines applications, vous pouvez rencontrer des problèmes (par exemple, des applications Microsoft comme Teams et autres, voir support.microsoft.com/en-us/help/4042151/… ), de sorte que le le meilleur moyen est de le mettre sur localhost ou sur n'importe quel serveur public sur Internet.
paly
1
Cela ne fonctionne PAS sur OSX.
jpgeek
@jpgeek fonctionne sur 10.15 pour moi. Si vous n'êtes pas sûr, revenez 'PROXY ...'sans vérifier le domaine à vérifier. proxy.pacest relu lorsque vous basculez le wifi.
seeker_of_bacon
2

Ajout à la réponse de @ heiglandreas ...

La solution de @ jnbek ne fonctionnait pas sur Mac OSX pour moi et je cherchais une solution simple.

J'ai donc créé un nouveau dossier et copié le fichier pac dans celui-ci. Ensuite, j'ai démarré un simple serveur Web sur OSX sur le port 80 à partir de ce dossier lui-même.

Accédez simplement au dossier et exécutez cette commande. Veuillez changer le port de 80 à autre chose s'il est déjà occupé.

python -m SimpleHTTPServer 80

Maintenant, je pouvais facilement obtenir le fichier proxy.pac à partir de http://localhost/proxy.pac. Ou, pour une utilisation différente du port: http://localhost:PORT/proxy.pac.

Rehmat
la source