Configuration manuelle des paramètres de proxy de Google Chrome sur Ubuntu

9

J'ai une application qui doit modifier les paramètres de proxy utilisés par Google Chrome, puis utiliser le navigateur, puis réactiver automatiquement le proxy à ce qu'il était.

Je n'ai pas pu trouver où sur mon système Ubuntu ces paramètres sont stockés. Ce n'est pas dans le fichier Préférences à coup sûr. Avez-vous des idées sur la façon d'aborder cette tâche?

Elitecoder
la source
Il semble que vous souhaitiez modifier par programmation les paramètres du proxy. Les modifier manuellement impliquerait d'ouvrir la section Préférences du navigateur Chrome. Ce que vous voulez faire semble très étrange - quel est l'objectif sous-jacent de ce que vous essayez d'accomplir? Il peut y avoir un moyen plus simple d'atteindre cet objectif.
Mike Rowave
Peut-être expliquer pourquoi je souhaite effectuer une telle chose aidera les gens à proposer des solutions alternatives. Je souhaite enregistrer tout le trafic servi par Google Chrome. Pour cela, j'ai un client qui agit comme un serveur proxy. Maintenant, si je configure le proxy de Chrome sur localhost et un certain port, tout le trafic passera par mon client et mon client pourra enregistrer tous les événements qui se sont produits. Et lorsque j'aurai fini d'enregistrer ce dont j'ai besoin, j'arrêterai Chrome et restaurer ses paramètres de proxy d'origine. Je ne souhaite pas utiliser d'arguments de ligne de commande passés sur le navigateur Chrome et je souhaite le faire par programme.
Elitecoder

Réponses:

12

Vous pouvez utiliser les paramètres du proxy Chromium à partir de la ligne de commande. La page de manuel vous explique comment. Voici donc un extrait de l' homme chrome-browser de mon Ubuntu Natty:

   --proxy-server=host:port
          Specify the HTTP/SOCKS4/SOCKS5 proxy server to use for requests.  This overrides any environment variables or settings picked via the options dialog.  An individual
          proxy server is specified using the format:

            [<proxy-scheme>://]<proxy-host>[:<proxy-port>]

          Where <proxy-scheme> is the protocol of the proxy server, and is one of:

            "http", "socks", "socks4", "socks5".

          If the <proxy-scheme> is omitted, it defaults to "http". Also note that "socks" is equivalent to "socks5".

          Examples:

            --proxy-server="foopy:99"
                Use the HTTP proxy "foopy:99" to load all URLs.

            --proxy-server="socks://foobar:1080"
                Use the SOCKS v5 proxy "foobar:1080" to load all URLs.

            --proxy-server="sock4://foobar:1080"
                Use the SOCKS v4 proxy "foobar:1080" to load all URLs.

            --proxy-server="socks5://foobar:66"
                Use the SOCKS v5 proxy "foobar:66" to load all URLs.

          It is also possible to specify a separate proxy server for different URL types, by prefixing the proxy server specifier with a URL specifier:

          Example:

            --proxy-server="https=proxy1:80;http=socks4://baz:1080"
                Load https://* URLs using the HTTP proxy "proxy1:80". And load http://*
                URLs using the SOCKS v4 proxy "baz:1080".

L'avantage de l'utilisation des arguments de ligne de commande est que vous n'avez pas à modifier vos paramètres système globaux.

Par exemple:

$ chromium-browser --proxy-server="http://127.0.0.1:8080"

Jetez également un œil au message de Justin dans ce fil de discussion où il décrit également comment utiliser le proxy pour la demande DNS.

Strubbl
la source
1
Existe-t-il un moyen de définir des domaines spécifiques qui ne doivent PAS utiliser de proxy? Quelque chose d'analogue au No proxy for réglage de Firefox ...
Becko
1
chromene fonctionne pas car il n'a pas d'option--host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1"
BeGood
ne fonctionne pas. Chrome ignore tous les paramètres de proxy
user27636
3

La réponse de Strubbl est correcte, c'est la meilleure solution, car vous n'avez pas besoin de continuer à activer / désactiver les paramètres de proxy à l'échelle du système.

J'ajouterais que vous devez également utiliser ce commutateur conjointement

--host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1" 

où 127.0.0.1 est votre serveur proxy. Ce commutateur empêche Chrome de faire des requêtes DNS externes qui, lorsque la confidentialité est importante, ne laisseront aucune information DNS en fuite.

La commande complète est donc la suivante.

/usr/bin/google-chrome-stable %U --proxy-server="socks5://127.0.0.1:9050" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1"
Justin
la source
1

Pour Ubuntu 14.04 LTS, accédez au terminal. Ouvrez ce fichier mais enregistrez-le d'abord

& cp /usr/share/applications/chromium-browser.desktop /home/@user/

& sudo su

(passwd)

alors

& gedit /usr/share/applications/chromium-browser.desktop &

Aller à la première ligne "Exec"

Exec=chromium-browser %U

Changez-le en

Exec=chromium-browser %U --proxy-server="127.0.0.1:8118"

127.0.0.1:8118ou peu importe. Enregistrez ce fichier et fermez l'éditeur et redémarrez le navigateur et essayez-le.

Pour revenir en arrière

& sudo su

(passwd)

& cp /home/@user/chromium-browser.desktop /usr/share/applications/

ou réécrivez cette ligne

Exec=chromium-browser %U

prendre plaisir!

TheRabi71
la source
0

Chrome et Google Chrome utilisent http_proxy, https_proxyet les no_proxyparamètres d'environnement. Leur accès est différent du langage de programmation au langage de programmation. Dans un shell, vous pouvez taper

echo $http_proxy

etc. Ils peuvent être réglés d'une multitude de façons. Voir https://askubuntu.com/a/513956/438156 et https://askubuntu.com/a/755100/438156 .

serv-inc
la source