Kann JavaScript den Proxy Ihres Browsers ändern?
Unterscheiden Sie gewöhnlichen Webseiten-Code von einer autorisierten Browsererweiterung, die Proxy-Einstellungen vornehmen darf.
Ein Skript auf einer Webseite hat keine allgemeine Einstellung, die den ausgehenden Proxy des Browsers ändert. Eine Browsererweiterung kann zusätzliche Berechtigungen haben, läuft aber unter einem anderen Sicherheits- und Konfigurationsmodell.
Diese Unterscheidung geht in alten Forenantworten verloren. Code, der privilegierte Firefox-Interna, alte Erweiterungsmodule oder aufgegebene Add-on-SDKs nutzt, war nie eine gewöhnliche Webseiten-API. Das Einfügen eines solchen Ausschnitts in eine Seite verleiht diese Rechte nicht.
Nutzen Sie die Erweiterungs-API des Browsers
Eine Firefox-Erweiterung kann die dokumentierte proxy.settings-API mit den erforderlichen Berechtigungen verwenden. Chrome bietet eine eigene Proxy-Erweiterungs-API. Ihre Konfigurationsmodelle unterscheiden sich; prüfen Sie die Manifest-Anforderungen und die unterstützten Einstellungen für den Zielbrowser.
Eine Erweiterung sollte auch Richtlinien oder andere Erweiterungen berücksichtigen, die dieselbe Einstellung steuern. Ein erfolgreicher API-Aufruf ist kein Grund anzunehmen, jedes Ziel folge nun der beabsichtigten Route. Prüfen Sie die resultierende Konfiguration und erhalten Sie die Möglichkeit des Nutzers, sie wiederherzustellen.
Eine andere Fetch-URL ändert das Ziel
Eine Webseite kann einen Anwendungsserver aufrufen, der eine Anfrage in ihrem Namen weiterleitet, soweit die Webregeln des Browsers es zulassen. In diesem Entwurf verbindet sich der Browser mit diesem Anwendungsserver. Er hat keinen allgemeinen Browser-Proxy installiert und nicht die Route anderer Tabs geändert.
Ebenso ändert das Senden eines Headers mit einer anderen IP-Adresse nicht die Quelladresse der Verbindung. Ein Ziel kann vertrauenswürdige Weiterleitungs-Metadaten nach eigener Richtlinie auslegen, aber der Netzwerkpfad ist eine getrennte Tatsache.
Wenn Ihr Ziel ein IP-wechselnder Proxy zum Surfen ist, wählen Sie einen passenden Eintrag aus der Liste kostenloser Proxys und richten Sie einen unterstützten Browser-Proxy oder eine autorisierte Erweiterung ein. Wenn Ihr Ziel der entfernte Abruf einer Webanwendung ist, gestalten Sie diese Funktion um ihre tatsächlichen Server- und Browser-Grenzen herum.