The advantage of the proxy.onRequest approach is that the code that implements your proxy policy runs in your extension's background script, so it gets full access to the WebExtension APIs available to your extension (including, for example, access to your extension's storage and networking APIs like dns).
Google Chrome provides an extension API also called "proxy" which is functionally similar to this API, in that extensions can use it to implement a proxying policy. However, the design of the Chrome API is completely different to this API. Because this API is incompatible with the Chrome proxy API, this API is only available through the browser namespace.
Note: The "proxy" permission requires "strict_min_version" to be set to "91.1.0" or above. To use this permission, add or update the "browser_specific_settings" key in your manifest.json to specify a minimum Firefox version. See Securing the proxy API for Firefox add-ons for more information.
Google Chrome provides an extension API also called \"proxy\" which is functionally similar to this API, in that extensions can use it to implement a proxying policy. However, the design of the Chrome API is completely different to this API. Because this API is incompatible with the Chrome proxy API, this API is only available through the browser namespace.
Note: The \"proxy\" permission requires \"strict_min_version\" to be set to \"91.1.0\" or above. To use this permission, add or update the \"browser_specific_settings\" key in your manifest.json to specify a minimum Firefox version. See Securing the proxy API for Firefox add-ons for more information.
Your organization or Internet service provider may offer or require you to use a proxy. A proxy acts as an intermediary between your computer and the Internet. It intercepts all requests to the Internet to see if it can fulfill the request using its cache. Proxies are used to improve performance, filter requests, and hide your computer from the Internet to improve security. Proxies are often part of corporate firewalls.
Right, so proxy.settings is a BrowserSetting, for which get is documented here:
MDN Web Docs get()The BrowserSetting.get() method gets the current value of the browser setting, and an enumeration indicating how the setting's value is currently controlled.
Okay, so for this specific case unsetting your proxy settings should go back to the settings the user had previously, and not the default values of the browser. As such you should not need to read out the current values when your extension is initially activated.
Looks like it comes from here: -addons/proxy-failover/proxy-f...@mozilla.com-1.0.0-signed.xpi and it implements failover rules for system requests over malfunctioning proxies. The exact rules are laid out at the top of api.jsif you extract that .xpi file:
After many tries we figured out that while :8080 works fine most of the time, Firefox doesn't seem to like the leading Setting a manual proxy to just proxy.mycompany.com:8080 makes Firefox behave as needed.
I do not think that you are using automatic proxy but rather manual proxy, because that is what you fill into /etc/environment. Try to select "Manual Proxy Configuration", fill in the HTTP Proxy as webproxy.mycompany.com, Port 8080 and click "Use this proxy for all protocols". If proxy items in ypour /etc/environment do something, than this must work for Firefox.
For the moment I'm making do with quickProxy (not QuickProxy which I've just discovered while trying to find quickProxy) which allows me to switch the proxy on and off for the whole browser, but would prefer something more fine-grained.
Another vote for FoxyProxy but I'll suggest using the PAC feature if your setup is complex. I have two proxy servers to choose from, but which one to choose gets very tricky sometimes. In order to setup FoxyProxy to use the PAC, go to the Proxy Details tab and select Automatic Proxy Configuration URL and enter something like file:///home/me/.myproxy.pac. Here's an example of a PAC file:
Note that the above example is fairly inefficient as it will usually wind up with a DNS lookup on myproxy.company.com for every single HTTP connection; I hard-code AT_HOME and AT_WORK in the .pac file via an external program at boot time. But it's an example of how complicated you can make your PAC script, if you need to.
The "No proxy for:" box in the network configuration screen (that's what it's called in FF4 at least, I don't have FF3 installed here) is a way to do some of the same things without creating a PAC file. You can have it ignore your proxy for , and 127.0.0.1 by using something like .local.org, 127.0.0.1
Take a look at FoxyProxy. It has multiple configuration options. Not quite sure if it allows for configuring per-tab, but definitely can configure different proxy settings for different addresses. This way you could set up one proxy for internal servers (probably some network mask like 192.168.0.0/24) and another one for the Internet.
I have been using FoxyProxy since a month as an add-on to Firefox and I am very much satisfied with its options. With this add-on you can configure multiple proxies; then add the URLs as White-list for the proxy you want it to use. Use wild cards when there are more matching URLs.
I see this question was already asked. The accepted answer was to use FoxyProxy. This didn't solve my problem, however, as I was still prompted for the username and password the first time in the browsing session that I needed to use the proxy.
I managed to let Firefox (v103) remember the proxy credentials by (temporally) enable Settings > Security tab > Logins and Passwords > Ask to save logins and passwords for websites (formerly "Remember password for sites" as reported in other answers); the corresponding user setting is signon.rememberSignons = true.
In the Firefox Preferences dialog, on the Security tab, make sure the "Remember password for sites" checkbox is checked. If this is cleared, Firefox never offers to remember passwords (including proxy and basic auth passwords)
If "Remember password for sites" is already checked but not working, uncheck & recheck it. Really. Apparently the display default isn't necessarily the same as the behavior; on several brand new users (FF66 on Ubuntu; FF created profile on 1st launch) that I set up, I couldn't get it to save the proxy credentials, but as soon as I unchecked/checked the setting, it worked properly.
In early June, we discovered add-ons that were misusing the proxy API, which is used by add-ons to control how Firefox connects to the internet. These add-ons interfered with Firefox in a way that prevented users who had installed them from downloading updates, accessing updated blocklists, and updating remotely configured content.
This post outlines the steps we have taken to mitigate this issue as well as provide details of what users should do to check if they are affected. Developers of add-ons that use the proxy API will find some specific instructions below that are required for future submissions.
Interesting work there. I am glad that firefox is moving towards the system setting option as hopefully it will do away with things like ADM. What version of WPAD are you guys using? The delay might be down to lack of support for DHCP version _bug.cgi?id=356831
In this article, I will show you how to set up a proxy server connection in the Firefox browser. Please be aware that you cannot do this function from the Firefox mobile app, you have to be on a desktop.
You can use a multiple-proxy profile to set up different proxies for each protocol (HTTP, HTTPS, and FTP), as well as a fallback proxy your browser will use in case any of the proxy servers assigned to a specific protocol stop working for whatever reason.
You can set Firefox to use SOCKS v5 proxy if you prefer to leave other apps not proxied. Set system proxy settings would cause apps like Mail.app, Safari.app and iTunes.app etc. redirect their traffic over the proxy.
Can i setup private http proxy within the Firefox browser? If i setup Firefox to use private proxy will the connection be like this - Firefox browser > Tor network > Private Proxy > Internet
Some websites block connections or registration from tor network, so i think using private proxies will be useful.
This feature works by periodically checking whether Fiddler is running, and automatically adjusting the proxy settings based on that check. If you click on the status bar panel, a popup menu enables you to change your FiddlerHook settings. It also provides one-click entry points to clear the Firefox cache and cookies:
Note that newer Firefox versions already respect the system proxy by default (Use system proxy settings is selected by default). Use the manual configuration only if you need to capture Firefox traffic only and you would like to avoid polluting the captured sessions with system traffic.
If you use an SSH tunnel with dynamic port forwarding, you must use a SOCKSproxy management add-on to control the proxy settings in your browser. Using aSOCKS proxy management tool allows you to automatically filter URLs based ontext patterns and to limit the proxy settings to domains that match the form ofthe primary node's public DNS name. The browser add-on automatically handlesturning the proxy on and off when you switch between viewing websites hosted onthe primary node and those on the Internet. To manage your proxy settings,configure your browser to use an add-on such as FoxyProxy or SwitchyOmega.
On the Import Settings page, chooseImport Settings under ImportSettings from FoxyProxy 6.0+, browse to the locationof the foxyproxy-settings.json file youcreated, select the file, and choose Open.
df19127ead