## Proposal For Proxy Code and UI Enhancement Subsequent to a number discussion in various bugs, please find the following areas that could benefit from enhancement: - There are inconsistencies with Chrome which complicates cross-browser extension development (which should be easy enough to resolve) See also: [Inconsistency: proxy API](https://github.com/w3c/webextensions/issues/573#issuecomment-2016589524) - The protocol based proxying is rather outdated and no longer used (Bug 1804693) - Chrome also has protocol based proxying, which can be kept for consistency, or left out (as they are not used anymore) e.g. `proxyForFtp` (dead), `proxyForHttp` & `proxyForHttps` - There are areas where Firefox excels in and these should be maintained (e.g. `proxy.onRequest` that allows for SOCKS authentication and more) - Chrome doesn't apply `passthrough` (`no_proxies_on`) to PAC URLs while Firefox does and it should be kept - Chrome's `passthrough` has extended format (e.g. `scheme`) comparing to Firefox (not a major issue, but can be considered) (Bug 1810738) - Proxy DNS option would be removed (to become default) and all DNS queries should be left to the proxy (HTTP & SOCKS) - Backward compatibility should easily be maintained by aliasing and minor mapping Additional areas: - There are some conflicts with DoH & ESNI which require consideration - WebRTC and DNS leaks when using a proxy ### Proxy Schema WebExtension API simply reflect browser settings. They are used as a reference to provide a framework for the necko-proxy and Firefox user-interface enhancements. Firefox's proxy schema has 2 main parts: - `proxy.settings` Reflects Firefox's Network Settings and is based on the Firefox's proxy code & UI. (Bug 1412790) - `proxy.onRequest` It will remain as it is Firefox proxy schema: https://searchfox.org/mozilla-central/source/toolkit/components/extensions/schemas/proxy.json Chrome proxy schema: https://source.chromium.org/chromium/chromium/src/+/main:chrome/common/extensions/api/proxy.json
Bug 1947229 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
## Proposal For Proxy Code and UI Enhancement Subsequent to a number discussion in various bugs, please find the following areas that could benefit from enhancement: - There are inconsistencies with Chrome which complicates cross-browser extension development (which should be easy enough to resolve) See also: [Inconsistency: proxy API](https://github.com/w3c/webextensions/issues/573#issuecomment-2016589524) - The protocol based proxying is rather outdated and no longer used (Bug 1804693) - Chrome also has protocol based proxying, which can be kept for consistency, or left out (as they are not used anymore) e.g. `proxyForFtp` (dead), `proxyForHttp` & `proxyForHttps` - There are areas where Firefox excels in and these should be maintained (e.g. `proxy.onRequest` that allows for SOCKS authentication and more) - Chrome doesn't apply `passthrough` (`no_proxies_on`) to PAC URLs while Firefox does and it should be kept - Chrome's `passthrough` has extended format (e.g. `scheme`) comparing to Firefox (not a major issue, but can be considered) (Bug 1810738) - Proxy DNS option would be removed (to become default) and all DNS queries should be left to the proxy (HTTP & SOCKS) - Backward compatibility should easily be maintained by aliasing and minor mapping Additional areas: - There are some conflicts with DoH & ESNI which require consideration - WebRTC and DNS leaks when using a proxy **Update:** Extension related content removed to avoid ambiguity.
## Proposal For Proxy Code and UI Enhancement Subsequent to a number discussion in various bugs, please find the following areas that could benefit from enhancement: - There are inconsistencies with Chrome which complicates cross-browser extension development (which should be easy enough to resolve) See also: [Inconsistency: proxy API](https://github.com/w3c/webextensions/issues/573#issuecomment-2016589524) - The protocol based proxying is rather outdated and no longer used (Bug 1804693) - Chrome also has protocol based proxying, which can be kept for consistency, or left out (as they are not used anymore) e.g. `proxyForFtp` (dead), `proxyForHttp` & `proxyForHttps` - There are areas where Firefox excels in and these should be maintained (e.g. `proxy.onRequest` that allows for SOCKS authentication and more) - Chrome doesn't apply `passthrough` (`no_proxies_on`) to PAC URLs while Firefox does and it should be kept - Chrome's `passthrough` has extended format (e.g. `scheme`) comparing to Firefox (not a major issue, but can be considered) (Bug 1810738) - Proxy DNS option would be removed (to become default) and all DNS queries should be left to the proxy (HTTP & SOCKS) (Bug 1893670, Bug 1741375 -> https://bugzilla.mozilla.org/show_bug.cgi?id=1741375#c30, https://bugzilla.mozilla.org/show_bug.cgi?id=1741375#c33) - Backward compatibility should easily be maintained by aliasing and minor mapping Additional areas: - There are some conflicts with DoH & ESNI which require consideration (Bug 1579985, [Secure SNI is disabled if FoxyProxy is enabled](https://github.com/foxyproxy/browser-extension/issues/165)) - WebRTC and DNS leaks when using a proxy (Bug 1791243, Bug 1882276, Bug 1799411) **Update:** Extension related content removed to avoid ambiguity.