Google Chrome-Proxy-Einstellungen mit Benutzername und Passwort

Google Chrome-Proxy-Einstellungen mit Benutzername und Passwort

Ich kann Google Chrome unter Linux Mint hinter einem Proxy verwenden. Beim Starten des Browsers muss ich jedoch jedes Mal den Benutzernamen und das Passwort zur Authentifizierung eingeben.

Gibt es eine Möglichkeit, beim Starten des Browsers den Benutzernamen und das Passwort festzulegen?

Ich habe bereits versucht:

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

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

Das hat nicht funktioniert.

Antwort1

Notizdie folgende:

Autokonfigurationsdateien für Proxys unterstützen keine fest codierten Benutzernamen und Passwörter. Auch hierfür gibt es gute Gründe, denn die Unterstützung fest codierter Anmeldeinformationen würde erhebliche Sicherheitslücken öffnen, da jeder die für den Zugriff auf den Proxy erforderlichen Anmeldeinformationen problemlos einsehen könnte.

Konfigurieren Sie den Proxy lieber als transparenten Proxy, dann benötigen Sie weder Benutzernamen noch Passwort. Sie erwähnen in einem Ihrer Kommentare, dass sich der Proxyserver außerhalb Ihres LAN befindet, weshalb Sie eine Authentifizierung benötigen. Die meisten Proxys unterstützen jedoch Regeln basierend auf der Quell-IP. In diesem Fall müssen lediglich nur Anfragen zugelassen werden, die aus Ihrem Unternehmensnetzwerk stammen.

Die ursprüngliche Spezifikation für die automatische Proxy-Konfiguration wurde 1996 von Netscape entworfen. Die ursprüngliche Spezifikation ist nicht mehr direkt verfügbar, Sie können jedoch immer noch über die Wayback Machine darauf zugreifen.Archivierte Kopie. Die Spezifikation hat sich nicht viel geändert und ist noch immer weitgehend dieselbe wie ursprünglich. Sie werden sehen, dass die Spezifikation recht einfach ist und dass keine fest codierten Anmeldeinformationen vorgesehen sind.

Um dieses Problem zu lösen, können Sie dieses Tool verwenden:

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

Dieses Tool kann einen lokalen Proxy erstellen und automatisch Benutzername und Passwort in einen echten Proxy-Server einfügen. Unterstützt PAC-Skripte.

Antwort2

Wenn Sie sich im Headless-Modus befinden, können Sie das Devtools-Protokoll verwenden, um den Benutzernamen/das Passwort für den Proxy bereitzustellen.

Dies tun Sie, indem Sie es aktivieren setRequestInterceptionund continueInterceptedRequestdie Aktion authChallengeResponsebei entsprechender Aufforderung durchführen.

Ich bin ein PHP-Typ und benutzehttps://github.com/chrome-php/chrome/, aber ich hoffe, mein Beispiel kann Ihnen einige Ideen geben:


// 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"]])
        );

    }

});

Antwort3

Ich habe verschiedene CLI-Ansätze ausprobiert, konnte es aber nicht mit der Authentifizierung zum Laufen bringen.Switchy Omega-Erweiterungfunktioniert bisher gut.

verwandte Informationen