Réseau

Configuration proxy du navigateur : guide SOCKS5, HTTP et HTTPS

Guide complet pour configurer les proxys SOCKS5, HTTP et HTTPS avec identifiants intégrés, correspondance de géolocalisation et routage sélectif.

Documentation

Vous préférez la doc produit maintenue ?

Cet article a une page équivalente dans le centre de documentation. Utilisez les docs pour le flux canonique, les flags à jour et la référence durable.

Introduction

Un profil d'empreinte seul ne suffit pas pour une identité de navigateur cohérente. Votre adresse IP, le comportement DNS et les métadonnées géographiques doivent tous s'aligner avec l'identité que votre profil présente. Si votre profil dit "utilisateur Windows à Berlin" mais que votre IP résout vers un centre de données en Virginie, l'incohérence est évidente.

BotBrowser fournit un support proxy amélioré intégré directement dans le moteur du navigateur. Contrairement au Chromium standard, BotBrowser accepte les identifiants intégrés dans les URL de proxy, dérive automatiquement les paramètres géographiques de votre IP de proxy, et supporte les protocoles SOCKS5, SOCKS5H, HTTP et HTTPS. Ce guide couvre chaque aspect de la configuration proxy, de la configuration de base au routage sélectif avancé.

Impact sur la vie privée

Sans un proxy correctement configuré, votre véritable adresse IP est visible pour chaque site que vous visitez. Les adresses IP révèlent votre FAI, votre emplacement physique approximatif et peuvent être corrélées entre les sessions pour construire un profil de pistage persistant.

Même lors de l'utilisation d'un proxy, les mauvaises configurations peuvent compromettre votre vie privée. Les requêtes DNS peuvent fuiter en dehors du tunnel proxy, révélant votre activité de navigation à votre FAI. Les candidats ICE WebRTC peuvent exposer votre véritable IP via des requêtes STUN qui voyagent en dehors du chemin proxy. Les incohérences de fuseau horaire et de locale entre votre identité déclarée et la géolocalisation de votre IP créent des incohérences que les systèmes de pistage peuvent signaler.

BotBrowser traite toutes ces préoccupations dans un modèle de configuration unifié. Lorsque vous définissez --proxy-server, BotBrowser détecte automatiquement l'IP publique du proxy et dérive le fuseau horaire, la locale et les paramètres de langue pour correspondre. Cela signifie qu'un seul flag peut aligner toute votre identité géographique.

Contexte technique

Comment fonctionne le proxy de navigateur

Lorsqu'un navigateur utilise un proxy, le trafic HTTP et HTTPS est transmis via le serveur proxy au lieu de se connecter directement à la destination. La destination voit l'adresse IP du proxy, pas la vôtre.

Différents protocoles proxy gèrent cela différemment :

SOCKS5 opère au niveau de la couche transport (couche 5). Il transmet les connexions TCP brutes et gère optionnellement la résolution DNS côté proxy (SOCKS5H). SOCKS5 supporte le trafic TCP et UDP, ce qui en fait le protocole le plus polyvalent pour la vie privée.

Les proxys HTTP utilisent la méthode CONNECT pour établir un tunnel pour le trafic HTTPS. Le proxy voit le nom d'hôte de destination mais pas le contenu chiffré. Les proxys HTTP ne gèrent pas le trafic UDP.

Les proxys HTTPS chiffrent la connexion entre votre navigateur et le serveur proxy lui-même. Cela empêche votre FAI de voir quelles commandes proxy vous envoyez, ajoutant une couche de confidentialité à la connexion proxy.

Gestion des identifiants

Le Chromium standard avec --proxy-server n'accepte que l'adresse du proxy sans identifiants. L'authentification nécessite une gestion séparée via des invites système ou des API spécifiques au framework comme page.authenticate().

BotBrowser étend --proxy-server pour accepter les identifiants intégrés directement dans l'URL :

protocol://username:password@host:port

Cela élimine le besoin d'étapes d'authentification séparées et garde toute la configuration proxy dans un seul flag.

Types de proxy supportés et configuration

BotBrowser supporte quatre protocoles proxy via le flag --proxy-server :

ProtocoleFormat URLCas d'usage
SOCKS5socks5://user:pass@host:portUsage général, trafic TCP
SOCKS5Hsocks5h://user:pass@host:portRésolution DNS dans le tunnel
HTTPhttp://user:pass@host:portLargement disponible, trafic HTTP/HTTPS
HTTPShttps://user:pass@host:portConnexion proxy chiffrée

SOCKS5 vs. SOCKS5H

La différence entre socks5:// et socks5h:// est importante. Avec socks5://, la résolution DNS se fait localement sur votre machine avant que la connexion ne soit envoyée via le proxy. Avec socks5h://, le nom d'hôte est envoyé au serveur proxy, qui résout le DNS pour vous. Pour la vie privée, socks5h:// est le meilleur choix car il empêche les requêtes DNS de fuiter vers votre résolveur local.

L'approche de BotBrowser pour l'intégration proxy

Alignement géographique automatique

Lorsque BotBrowser se connecte via un proxy, il détecte l'IP publique du proxy et configure automatiquement :

  • Fuseau horaire : dérivé de la géolocalisation de l'IP
  • Locale : correspondant au pays du proxy
  • Langues : définies en fonction de la région du proxy
  • Géolocalisation : coordonnées approximées depuis l'IP

Cela signifie qu'un lancement basique avec juste --proxy-server produit déjà une identité géographiquement cohérente :

chrome --bot-profile="/path/to/profile.enc" \
       --proxy-server=socks5://user:pass@de-proxy:1080

BotBrowser détectera l'IP allemande et définira le fuseau horaire à Europe/Berlin, la locale à de-DE et les langues à de-DE,de,en automatiquement.

Substitutions géographiques manuelles

Lorsque vous avez besoin de paramètres géographiques spécifiques qui diffèrent de ce que l'IP suggère :

chrome --bot-profile="/path/to/profile.enc" \
       --proxy-server=socks5://user:pass@proxy:1080 \
       --bot-config-timezone=America/New_York \
       --bot-config-locale=en-US \
       --bot-config-languages=en-US,en \
       --bot-config-location=40.7128,-74.0060

Sauter la recherche IP avec --proxy-ip

Si vous connaissez déjà l'IP publique de votre proxy, vous pouvez sauter la recherche IP par page avec le flag --proxy-ip (ENT Tier1) :

chrome --bot-profile="/path/to/profile.enc" \
       --proxy-server=socks5://user:pass@proxy:1080 \
       --proxy-ip="203.0.113.1"

Routage proxy sélectif avec --proxy-bypass-rgx

Le flag --proxy-bypass-rgx (PRO) vous permet de router des URL spécifiques directement au lieu de passer par le proxy :

chrome --bot-profile="/path/to/profile.enc" \
       --proxy-server=socks5://user:pass@proxy:1080 \
       --proxy-bypass-rgx="\.(js|css|png|jpg|svg)(\?|$)"

Configuration et utilisation

Configuration Playwright de base

const { chromium } = require('playwright-core');

(async () => {
  const browser = await chromium.launch({
    executablePath: '/path/to/botbrowser/chrome',
    args: [
      '--bot-profile=/path/to/profile.enc',
      '--proxy-server=socks5://user:pass@proxy-host:1080',
    ],
    headless: true,
  });

  const context = await browser.newContext();
  const page = await context.newPage();
  await page.goto('https://example.com');
  await browser.close();
})();

Configuration Puppeteer avec substitutions géographiques

const puppeteer = require('puppeteer-core');

(async () => {
  const browser = await puppeteer.launch({
    executablePath: '/path/to/botbrowser/chrome',
    args: [
      '--bot-profile=/path/to/profile.enc',
      '--proxy-server=socks5://user:pass@de-proxy:1080',
      '--bot-config-timezone=Europe/Berlin',
      '--bot-config-locale=de-DE',
      '--bot-config-languages=de-DE,de,en',
    ],
    headless: true,
    defaultViewport: null,
  });

  const page = await browser.newPage();
  await page.goto('https://example.com');
  await browser.close();
})();

Configurations régionales courantes

RégionFuseau horaireLocaleLangues
US EstAmerica/New_Yorken-USen-US,en
US OuestAmerica/Los_Angelesen-USen-US,en
Royaume-UniEurope/Londonen-GBen-GB,en
AllemagneEurope/Berlinde-DEde-DE,de,en
JaponAsia/Tokyoja-JPja,en
BrésilAmerica/Sao_Paulopt-BRpt-BR,pt,en
Corée du SudAsia/Seoulko-KRko-KR,ko,en

Vérification

Après le lancement de BotBrowser avec un proxy, vérifiez votre configuration :

const page = await context.newPage();

// Vérifier l'IP publique
await page.goto('https://httpbin.org/ip');
const ipData = await page.textContent('body');
console.log('Public IP:', ipData);

// Vérifier le fuseau horaire
const tz = await page.evaluate(() =>
  Intl.DateTimeFormat().resolvedOptions().timeZone
);
console.log('Timezone:', tz);

// Vérifier la langue
const lang = await page.evaluate(() => navigator.language);
console.log('Language:', lang);

Confirmez que :

  1. L'IP correspond à l'adresse attendue de votre proxy
  2. Le fuseau horaire s'aligne avec la région géographique du proxy
  3. La langue et la locale sont cohérentes avec le fuseau horaire
  4. Aucune fuite DNS n'est visible

Bonnes pratiques

  1. Utilisez SOCKS5H pour la confidentialité DNS. Le protocole socks5h:// résout le DNS via le proxy, empêchant les requêtes DNS d'atteindre votre FAI local.

  2. Laissez BotBrowser auto-détecter la géographie. Sauf si vous avez besoin de substitutions spécifiques, la détection automatique basée sur l'IP produit des résultats cohérents avec moins de configuration.

  3. Encodez les caractères spéciaux dans les mots de passe en URL. Les caractères comme @, # et % doivent être encodés. Par exemple, p@ss devient p%40ss.

  4. Combinez avec --bot-local-dns. Pour une confidentialité DNS maximale, utilisez le résolveur DNS local en plus de votre configuration proxy.

  5. Testez d'abord avec curl. Avant de configurer BotBrowser, vérifiez la connectivité proxy : curl --proxy socks5://user:pass@host:port https://httpbin.org/ip.

  6. Utilisez --proxy-ip quand l'IP est connue. Cela élimine la surcharge de recherche par page et accélère la navigation.

Questions fréquentes

Quel protocole proxy dois-je utiliser ? SOCKS5H est recommandé pour la plupart des cas d'usage. Il supporte le trafic TCP, gère la résolution DNS via le proxy et fonctionne avec le plus large éventail de fournisseurs de proxy.

Puis-je utiliser un proxy qui nécessite une liste blanche d'IP ? Oui. Assurez-vous que l'IP de votre machine est sur la liste blanche du fournisseur de proxy, puis utilisez l'URL du proxy sans identifiants si le fournisseur authentifie par IP.

BotBrowser supporte-t-il le chaînage de proxy ? BotBrowser se connecte au proxy spécifié dans --proxy-server. Si vous avez besoin de chaînage de proxy, configurez-le côté infrastructure proxy.

Pourquoi mon fuseau horaire ne correspond-il pas à l'emplacement de mon proxy ? Si vous avez défini --bot-config-timezone manuellement, cela substitue la détection automatique. Retirez la substitution manuelle pour laisser BotBrowser dériver le fuseau horaire depuis l'IP du proxy.

Puis-je utiliser des proxys différents pour des onglets différents ? Oui. Utilisez le browser.newContext({ proxy: ... }) de Playwright pour assigner différents proxys par contexte. Voir Dynamic Proxy Switching pour les détails.

Que se passe-t-il si la connexion proxy échoue ? BotBrowser ne se rabattra pas sur une connexion directe. Si le proxy est injoignable, les chargements de page échoueront, ce qui est le comportement le plus sûr pour la vie privée.

Résumé

La configuration proxy est le fondement réseau d'une identité de navigateur cohérente. BotBrowser simplifie la configuration proxy avec les identifiants intégrés, l'alignement géographique automatique et le support des protocoles SOCKS5, SOCKS5H, HTTP et HTTPS. Combinée avec les profils d'empreinte, la configuration proxy garantit que votre IP, votre fuseau horaire, votre locale et votre langue racontent tous la même histoire.

Pour les workflows multi-proxy, voir Dynamic Proxy Switching. Pour prévenir les fuites DNS et WebRTC aux côtés de votre proxy, voir DNS Leak Prevention et WebRTC Leak Prevention.

#proxy#Socks5#Http#Network#Configuration

Faites passer BotBrowser de la recherche à la production

Utilisez ces guides pour comprendre le modèle, puis passez à la validation multi-plateforme, aux contextes isolés et au déploiement navigateur prêt pour l'échelle.