Definindo manualmente as configurações de proxy do Google Chrome no Ubuntu

9

Eu tenho um aplicativo que precisa alterar as configurações de proxy usadas pelo Google chrome, usar o navegador e voltar automaticamente ao proxy para o que era.

Não consegui encontrar onde essas configurações estão armazenadas no meu sistema Ubuntu. Não está no arquivo Preferences, com certeza. Alguma idéia de como executar esta tarefa?

Elitecoder
fonte
Parece que você deseja alterar programaticamente as configurações de proxy. Alterá-los manualmente envolveria a abertura da seção Preferências do navegador Chrome. O que você quer fazer parece muito estranho - qual é o objetivo subjacente do que você está tentando realizar? Pode haver uma maneira mais simples de alcançar esse objetivo.
Mike Rowave
Pode estar explicando por que desejo realizar uma coisa dessas ajudará as pessoas a oferecer soluções alternativas. Desejo registrar todo o tráfego servido pelo Google Chrome. Para isso, tenho um cliente que age como um servidor proxy. Agora, se eu definir o proxy do Chrome como localhost e uma determinada porta, todo o tráfego passará pelo meu cliente e ele poderá registrar tudo o que aconteceu. E quando terminar de gravar o que preciso, desligarei o chrome e restaurarei suas configurações originais de proxy. Não desejo usar argumentos de linha de comando passados ​​para o navegador Chrome e desejo fazer isso programaticamente.
Elitecoder

Respostas:

12

Você pode usar as configurações de proxy do Chromium na linha de comando. A página do manual mostra como. Então, aqui está um trecho do man chromium-browser do meu 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".

A vantagem de usar os argumentos da linha de comando é que você não precisa alterar as configurações globais do sistema.

Por exemplo:

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

Também dê uma olhada no post de Justin neste tópico, onde ele descreve como usar o proxy também para a solicitação de DNS.

Strubbl
fonte
11
Existe uma maneira de definir domínios específicos que NÃO devem usar proxy? Algo análogo à No proxy for configuração no Firefox ...
Becko
11
chromenão funciona porque não tem opção--host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1"
BeGood 26/17
não funciona cromo ignora todas as configurações de proxy
user27636
3

O analisador do Strubbl está correto, esta é a melhor solução, pois você não precisa continuar ativando / desativando as configurações de proxy em todo o sistema.

Eu acrescentaria que você também deve usar essa opção em conjunto

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

onde 127.0.0.1 é o seu servidor proxy. Essa opção impede que o chrome faça solicitações de DNS externo, que quando a privacidade é importante não vazam nenhuma informação de DNS.

Portanto, o comando completo é o seguinte.

/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
fonte
1

Para o Ubuntu 14.04 LTS, vá para o terminal. Abra este arquivo, mas salve-o primeiro

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

& sudo su

(passwd)

Então

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

Vá para a primeira linha "Exec"

Exec=chromium-browser %U

Mude para

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

127.0.0.1:8118como queiras. Salve este arquivo e feche o editor, inicie o navegador novamente e tente.

Para fazer essa alteração de volta

& sudo su

(passwd)

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

ou reescreva esta linha para

Exec=chromium-browser %U

desfrutar!

TheRabi71
fonte
0

Chromium e o Google Chrome usa o http_proxy, https_proxye no_proxyconfigurações de ambiente. O acesso a eles é diferente da linguagem de programação para a linguagem de programação. Em um shell, você pode digitar

echo $http_proxy

etc. Eles podem ser configurados de várias maneiras. Consulte https://askubuntu.com/a/513956/438156 e https://askubuntu.com/a/755100/438156 .

serv-inc
fonte