Changer de langue
Français English Русский Deutsch Español Italiano Українська Tiếng Việt Türkçe Bahasa Indonesia हिन्दी 日本語 中文
Menu
Tarifs
Proxys
TYPES DE PROXY
PAR EMPLACEMENT77 emplacements
Solutions
Ressources

Utiliser un proxy pour certains sites seulement dans Chrome

Sommaire
  1. Chrome a-t-il un réglage de proxy par site ?
  2. Que fait un script PAC ?
  3. Comment donner un script PAC à Chrome ?
  4. Chaque onglet peut-il utiliser un proxy différent ?
  5. Pourquoi une règle avec un chemin échoue-t-elle sur les sites HTTPS ?
  6. Quelle méthode choisir ?
  7. Réponses rapides

En bref : Chrome sur ordinateur n’a aucun réglage qui applique un proxy à des sites précis. Il utilise une seule configuration de proxy pour toute la navigation, tirée du système d’exploitation, d’une option de lancement, d’une stratégie d’administrateur ou d’une extension. Pour n’envoyer que certains sites par un proxy, Chrome a besoin d’un script PAC, une courte fonction qui choisit un proxy pour chaque requête, que vous écrivez vous-même ou qu’une extension construit à partir de règles.

Pour utiliser un proxy sur certains sites dans Chrome, vous donnez au navigateur un script PAC qui nomme ces sites, et Chrome le consulte à chaque requête. Le script peut venir de trois endroits : votre système d’exploitation, un Chrome lancé séparément, ou une extension.

Chrome a-t-il un réglage de proxy par site ?

Non. La page des paramètres de Chrome a une seule entrée pour le proxy, intitulée « Open your computer’s proxy settings » (ouvrir les paramètres proxy de l’ordinateur), et Chromium décrit ces paramètres comme s’appliquant à tout l’ordinateur (chaînes des paramètres de Chromium).

Les notes de Chromium sur les proxys listent quatre sources possibles pour la configuration de proxy de Chrome : une stratégie d’administrateur, des options de ligne de commande, une extension et le système d’exploitation. Celle qui est en vigueur fournit une seule configuration pour tout ce que charge le navigateur, et une décision par site vit à l’intérieur de cette configuration, sous forme de script PAC.

Que fait un script PAC ?

Un script PAC (configuration automatique de proxy) est une fonction JavaScript nommée FindProxyForURL. Chrome l’appelle pour chaque requête avec l’adresse et le nom d’hôte, et utilise la chaîne qu’elle renvoie : DIRECT pour ne pas passer par un proxy, ou PROXY host:port pour un serveur proxy, comme le documente la référence PAC de MDN.

Ce script envoie un domaine et ses sous-domaines par un proxy, et tout le reste en direct. L’adresse du proxy vient d’une plage réservée à la documentation (RFC 5737) ; mettez la vôtre à sa place.

function FindProxyForURL(url, host) {
  if (host === "example.com" || dnsDomainIs(host, ".example.com")) {
    return "PROXY 203.0.113.10:8080";
  }
  return "DIRECT";
}

Ajoutez une condition par site à faire passer par le proxy. Le return final décide du sort de tous les sites qui ne sont pas listés.

Comment donner un script PAC à Chrome ?

De trois façons : par les réglages proxy du système, par un Chrome lancé séparément, ou par une extension. Elles diffèrent par la part de l’ordinateur qu’elles touchent et par la façon dont un changement prend effet.

Par les réglages proxy du système

Sous Windows, les paramètres de proxy ont une option de script de configuration qui prend l’adresse du script, comme le montre le guide de Microsoft, et Chrome suit le réglage du système. Le script doit être accessible à une URL. Toutes les applications qui lisent les réglages proxy du système l’utiliseront aussi : cette méthode convient donc à un script prévu pour toute la machine.

Dans une instance Chrome séparée

Chrome accepte des options de proxy au lancement, listées sur la page des paramètres réseau de Chromium : --proxy-server nomme un proxy, --proxy-bypass-list nomme les hôtes qui le contournent, et --proxy-pac-url pointe vers un script. Lancé avec son propre --user-data-dir, le second Chrome tourne à côté de votre Chrome habituel, puisque deux instances en cours d’exécution ne peuvent pas partager un répertoire de données (notes de Chromium sur le répertoire des données utilisateur).

google-chrome --user-data-dir="$HOME/chrome-proxied" --proxy-server="http://203.0.113.10:8080"

Cette instance envoie tout son trafic par le proxy, donc c’est la fenêtre dans laquelle vous ouvrez un site qui décide de sa route. Changer de proxy, c’est quitter l’instance et la relancer avec de nouvelles options.

Avec une extension de proxy

Une extension définit le proxy de Chrome pour le profil dans lequel elle est installée, via l’API chrome.proxy, et un sélecteur à règles compile celles-ci en script PAC. Notre ProxyJam Connector, gratuit, fonctionne ainsi, dans Chrome et dans Microsoft Edge :

  1. Ajoutez un profil avec l’hôte, le port et le protocole du proxy.
  2. Ajoutez une règle, par exemple « Domain + subdomains » (domaine et sous-domaines) avec example.com, qui pointe vers ce profil. La première règle qui correspond à un site l’emporte.
  3. Laissez le fallback (repli) sur Direct, pour que les sites qui ne correspondent à aucune règle se connectent sans proxy.
  4. Choisissez Auto (automatique) dans la fenêtre de la barre d’outils.

Pour un site qui correspond, le script de Connector nomme ce seul proxy, sans option directe derrière. Si le proxy est hors service, le site ne se charge pas et votre propre adresse n’est jamais utilisée pour lui.

Chaque onglet peut-il utiliser un proxy différent ?

Pas dans Chrome. L’API chrome.proxy enregistre une seule valeur par profil et ne prend pas d’onglet en paramètre, donc un onglet n’a rien de propre à régler.

L’unité qui fonctionne est un profil ou une instance. Créez un second profil Chrome pour le travail via proxy et installez-y l’extension, ou lancez une seconde instance avec ses propres options, et gardez les deux fenêtres côte à côte. Chaque fenêtre porte alors son propre proxy.

Pourquoi une règle avec un chemin échoue-t-elle sur les sites HTTPS ?

Chrome ne donne à un script PAC que le schéma, l’hôte et le port d’une adresse https://. Le chemin, la requête et le fragment sont supprimés depuis Chrome 52, et l’option qui désactivait ce comportement a été retirée dans Chrome 75 (notes de Chromium sur les proxys).

Une règle comme example.com/shop/* ne correspond donc à aucune page HTTPS. Écrivez les règles sur le nom d’hôte, et donnez à une section d’un site son propre sous-domaine si elle a besoin de sa propre route. Les adresses http:// simples arrivent encore au script avec leur chemin, même si Chromium déconseille de compter dessus. Connector affiche un avertissement à côté de toute règle qui dépend du chemin.

Quelle méthode choisir ?

Pour quelques sites et un seul proxy, une extension demande le moins de travail, et la page de l’extension liste ce que Connector peut et ne peut pas faire dans Chrome. Un proxy qui demande un mot de passe est traité dans pourquoi Chrome redemande le nom d’utilisateur et le mot de passe du proxy, et le transfert des règles depuis un ancien sélecteur dans ce qui a changé avec Manifest V3. La configuration d’un profil et d’un proxy par pays, pour vérifier comment votre propre site s’affiche sur chaque marché, est décrite dans voir votre site web depuis un autre pays.

Si le proxy par lequel vous faites passer ces sites doit garder une adresse sur le réseau d’un fournisseur d’accès, c’est ce qu’est un proxy ISP. ProxyJam vend des proxys résidentiels statiques (ISP) sur la page des proxys ISP, avec les prix sur la page des tarifs.

D'où vient l'acheminement, et ce que chaque méthode touche

La portée vient de la documentation de Chromium sur l'endroit où sont lus les réglages de proxy et des descriptions des options elles-mêmes ; le reste découle de la façon dont chaque méthode se configure. Nous n'avons fait aucune mesure de vitesse ni de fiabilité. Partout où un script PAC décide de la route, Chrome lui transmet une adresse HTTPS réduite au schéma, à l'hôte et au port.
Réglages proxy du systèmeUne instance Chrome séparéeUne extension de proxy
Ce que cela toucheToutes les applications de l'ordinateur qui lisent les réglages du systèmeSeulement les fenêtres de cette instanceLe profil Chrome dans lequel l'extension est installée
Comment les sites sont choisisPar un script PAC hébergé à une URLPar la fenêtre dans laquelle vous ouvrez un sitePar des règles que l'extension transforme en script PAC
Modifier la configurationModifier le script hébergéQuitter et relancer avec de nouvelles optionsModifier une règle dans l'extension
Un proxy qui demande un mot de passeChrome le demande dans une boîte de dialogueChrome le demande dans une boîte de dialogueL'extension peut répondre pour les proxys HTTP et HTTPS

Confirmer la route prise par un site

  1. Mettez une page de contrôle dans la liste pendant une minute

    Ajoutez proxyjam.com aux sites que votre script ou vos règles envoient par le proxy, à côté des sites qui vous intéressent.

  2. Ouvrez la page de contrôle

    Quelle est mon IP affiche l’adresse qui l’a atteinte, ainsi que le fournisseur d’accès et le réseau (ASN) auxquels appartient cette adresse. Les deux doivent être ceux du proxy.

  3. Retirez-la de la liste et rechargez

    La page doit maintenant afficher votre propre connexion. Si les deux relevés sont ceux attendus, les sites de la liste passent par le proxy et les autres vont en direct.

Réponses rapides

La liste d'exclusion de Chrome fait-elle la même chose ?

Elle fait l'inverse. L'option --proxy-bypass-list nomme les hôtes qui contournent le proxy, et elle ne prend effet qu'avec --proxy-server, donc tout ce qui n'est pas dans la liste passe par le proxy. Pour faire passer une courte liste de sites par le proxy et laisser les autres en direct, utilisez un script PAC.

Les fenêtres de navigation privée utilisent-elles le même proxy ?

Oui, par défaut. La documentation de l'API proxy de Chrome indique que les fenêtres de navigation privée héritent des réglages des fenêtres normales, et une extension peut définir une valeur distincte pour la navigation privée si elle en a besoin.

Pourquoi Chrome dit-il utiliser les paramètres de proxy d'une extension ?

Une extension a défini le proxy, et Chrome laisse une extension ou une stratégie d'administrateur déterminer ce réglage à la place de celui du système. Désactivez l'extension, ou passez-la en direct, pour rendre la main.

Que deviennent les sites qui ne correspondent à aucune règle ?

Ils reçoivent ce que le script renvoie en dernier. Dans le script d'exemple, c'est DIRECT, donc les sites sans correspondance se connectent sans proxy. ProxyJam Connector appelle cela le fallback (repli) et le règle sur Direct tant que vous n'avez pas choisi autre chose. Extension navigateur

Sources