Configuración del proxy de Google Chrome con nombre de usuario y contraseña

Configuración del proxy de Google Chrome con nombre de usuario y contraseña

Puedo usar Google Chrome en Linux Mint detrás de un proxy. Pero cuando se inicia el navegador, cada vez tengo que ingresar el nombre de usuario y la contraseña para la autenticación.

¿Hay alguna manera de configurar la contraseña del nombre de usuario cuando inicio el navegador?

Ya lo he probado:

chrome --proxy-server="username:password@yourIP:PORT"

(p.ej, )chrome --proxy-server="username:[email protected]:8080"

Esto no funcionó.

Respuesta1

Notala siguiente:

Los archivos de configuración automática de proxy no admiten nombres de usuario ni contraseñas codificados. También hay un buen razonamiento detrás de esto, ya que brindar soporte para credenciales codificadas abriría importantes agujeros de seguridad, ya que cualquiera podría ver fácilmente las credenciales requeridas para acceder al proxy.

Más bien configure el proxy como un proxy transparente, de esa manera no necesitará un nombre de usuario ni una contraseña. Mencionas en uno de tus comentarios que el servidor proxy está ubicado fuera de tu LAN, por lo que requieres autenticación. Sin embargo, la mayoría de los servidores proxy admiten reglas basadas en la IP de origen, en cuyo caso es sencillo permitir únicamente solicitudes que se originen en su red corporativa.

La especificación original de configuración automática del proxy fue redactada originalmente por Netscape en 1996. La especificación original ya no está disponible directamente, pero aún se puede acceder a ella utilizando el software de Wayback Machine.copia archivada. Las especificaciones no han cambiado mucho y siguen siendo prácticamente las mismas que originalmente. Verá que la especificación es bastante simple y que no existe ninguna disposición para credenciales codificadas.

Para resolver este problema, puedes utilizar esta herramienta:

https://github.com/sjitech/proxy-login-automator

Esta herramienta puede crear un proxy local e inyectar automáticamente usuario/contraseña en un servidor proxy real. Admite secuencias de comandos PAC.

Respuesta2

Si está en modo sin cabeza, puede usar el protocolo devtools para proporcionar el nombre de usuario/contraseña para el proxy.

Para ello, habilite setRequestInterceptiony haga continueInterceptedRequestcuando authChallengeResponsese le solicite.

Soy un chico de PHP y usohttps://github.com/chrome-php/chrome/, pero espero que mi ejemplo pueda darte algunas ideas:


// enable request interception (important!!!)
// it allows the browser to inform us that we need to complete a username/password authorization.
$page->getSession()->sendMessageSync(new Message('Network.setRequestInterception', ['patterns' => [['urlPattern' => '*']]]));

// this method allows you to approve or block request (we are only approving here)
$page->getSession()->on('method:Network.requestIntercepted', function (array $params): void {

    // the browser is letting us know that we need to provide proxy (or 401) credentials (normally, happens only once)
    if (isset($params["authChallenge"])) {
        // approving request and sending username/password
        $page->getSession()->sendMessageSync(
            new Message('Network.continueInterceptedRequest', ['interceptionId' => $params["interceptionId"], 'authChallengeResponse' => ['response' => 'ProvideCredentials', 'username' => "proxy_username", 'password' => "proxy_password"]])
        );
    } else {
        // simply approving request
        $page->getSession()->sendMessageSync(
            new Message('Network.continueInterceptedRequest', ['interceptionId' => $params["interceptionId"]])
        );

    }

});

Respuesta3

Probé varios enfoques CLI, pero no pude lograr que funcionara con la autenticación. sin embargo, elExtensión Omega SwitchyFunciona bien hasta ahora.

información relacionada