• Home
  • Raw
  • Download

Lines Matching full:chrome

1 # Proxy support in Chrome
3 This document establishes basic proxy terminology and describes Chrome-specific
34 what schemes Chrome supports, and how to write them in the PAC and URI formats.
36 Most UI surfaces in Chrome (including command lines and policy) expect URI
37 formatted proxy server identifiers. However outside of Chrome, proxy servers
48 Proxying in Chrome is done at the URL level.
82 Chrome supports these proxy server schemes:
110 When using an HTTP proxy in Chrome, name resolution is always deferred to the
120 HTTP proxies in Chrome support the same HTTP authentiation schemes as for
141 HTTPS proxies using HTTP/2 can offer better performance in Chrome than a
142 regular HTTP proxy due to higher connection limits (HTTP/1.1 proxies in Chrome
145 Chrome, Firefox, and Opera support HTTPS proxies; however, most older HTTP
149 settings. Instead, one must use either a PAC script or a Chrome proxy setting
174 IPv6, namely SOCKSv4a. However Chrome does not allow configuring, or falling
189 In Chrome when a proxy's scheme is set to SOCKSv5, name resolution is always
192 `network.proxy.socks_remote_dns`; Chrome has no equivalent option and will
195 No authentication methods are supported for SOCKSv5 in Chrome (although some do
201 In Chrome SOCKSv5 is only used to proxy TCP-based URL requests. It cannot be
225 Chrome's manual proxy settings most closely resembles that of WinInet. But it
230 When defining manual proxy settings in Chrome, we specify three (possibly
240 There are a lot of ways to end up with manual proxy settings in Chrome
243 The following examples will use the command line method. Launching Chrome with
247 Chrome with `--proxy-server="http://foo:8080"`. This translates to:
265 `socks5://mysocks:1080` we could launch Chrome with
276 * Instead of naming proxy servers by just a hostname:port, you can use Chrome's
289 schemes. The algorithm that Chrome uses is:
303 specifying a cleartext username/password for proxy sign in. Chrome does not
313 identifiers](#proxy-server-identifiers), Chrome's [manual proxy
330 Following are the string constructions for the bypass rules that Chrome
331 supports. They can be used when defining a Chrome manual proxy settings from
335 not Chrome's.
518 Historical support in Chrome:
522 * In M71 Chrome applied implicit proxy bypass rules to PAC scripts
523 * In M72 Chrome generalized the implicit proxy bypass rules to manually
532 For instance, launch Chrome with the command line flag:
561 What proxy will Chrome use for connections to `www.example.com`, given that
565 Initially, Chrome will try the proxies in order. This means first attempting
573 Proxy fallback is stateful. The actual order of proxy attempts made be Chrome
581 Chrome will first attempt to issue the request through these proxies in the
585 attempt through `https://proxy2:443` succeeds. Chrome will mark
609 Prior to M67, Chrome would consider failures establishing a
618 the caching of bad proxies). Future versions of Chrome may [remove caching
624 chrome://net-export/](https://dev.chromium.org/for-testers/providing-network-details).
637 When debugging issues with bad proxies, it is also useful to reset Chrome's
640 [chrome://net-internals/#proxy](chrome://net-internals/#proxy). Note the UI
646 PAC scripts in Chrome are expected to define a JavaScript function
684 Netscape implementation of PAC. It was introduced in Chrome 52 for [security
688 scripts (removed in Chrome 75).
693 type, since future versions of Chrome may [deprecate that
706 Chrome's algorithm for `myIpAddress()` favors returning the IP that would be
729 *Historical note*: Prior to M72, Chrome's implementation of `myIpAddress()` was
734 Chrome supports the [Microsoft PAC
743 There are some differences with Chrome's implementation:
745 * In Chrome the function is unconditionally defined, whereas in Internet
747 * Chrome [does not necessarily enumerate all of the host's network
749 * Chrome does not return link-local or loopback addresses (except if no other
752 The algorithm that Chrome uses is nearly identical to that of `myIpAddress()`
780 multiple IP addresses. However Chrome's implementation restricts which IPs a
789 Moreover, note that Chrome does not support the Firefox-specific
791 special side-effect in Chrome. Whereas in Firefox it reconfigures
797 Proxy resolving via PAC works differently on Android than other desktop Chrome
800 * Android Chrome uses the same Chromium PAC resolver, however does not run it
801 out-of-process as on Desktop Chrome. This architectural difference is
802 due to the higher process cost on Android, and means Android Chrome is more
804 Chrome can have distinct regressions from Desktop Chrome as the service setup
807 * [WebView does not use Chrome's PAC
819 * Android system log messages for `PacProcessor` are not related to Chrome or
823 try and diagnose a resolving issue in Android Chrome.
853 * A user explicitly invalidates PAC through `chrome://net-internals#proxy`
867 * If using Chrome's proxy settings, and the PAC script was marked as
868 [mandatory](https://developer.chrome.com/extensions/proxy), fallback to
889 invalidated via `chrome://net-internals#proxy`.
903 However in practice, Chrome does not enforce the mime type.
915 3. In a new tab, navigate to `chrome://net-internals/#proxy` and click both
937 * Managed Chrome policy (chrome://policy)
939 …* (per-profile) Chrome extensions (ex: [chrome.proxy](https://developer.chrome.com/extensions/prox…
948 one associated with the Profile used to navigate to `chrome://net-export`. For
984 When configured to use WPAD (aka "autotmaticaly detect proxy settings"), Chrome
990 These are tried in order, however DHCP-based WPAD is only supported for Chrome
991 on Windows and Chrome on Chrome OS.
995 ### Chrome on macOS support for DHCP-based WPAD
997 Chrome on macOS does not support DHCP-based WPAD when configured to use
1001 as part of the system proxy settings. So effectively when Chrome is configured
1025 Passing the `--winhttp-proxy-resolver` command line argument instructs Chrome
1031 can break Chrome extensions (`chrome.proxy` API), the interpretation of
1042 Although Chrome would like full fidelity with Windows proxy settings, there are
1045 instead of Chrome's. We hope these less common use cases will be fully