FoxyProxy FAQ

  1. Home
  2. FoxyProxy FAQ

General

What is FoxyProxy?

FoxyProxy is a Firefox extension which automatically switches an internet connection across one or more proxy servers based on URL patterns. Put simply, FoxyProxy automates the manual process of editing Firefox’s Connection Settings dialog. Proxy server switching occurs based on the loading URL and the switching rules you define.

What is a proxy server?

Please read this excellent article.

How can I run my own proxy server?

Here is a list of free proxy servers. We have some tutorials on configuring these here. Free proxy servers are slow and unreliable (try them, you’ll see what I mean). So we sell fast & reliable servers here. They are quite inexpensive and have no bandwidth caps.

What is required to use FoxyProxy?

Firefox 3.1b3 or above and one or more HTTP (web) or SOCKS proxies.

Can FoxyProxy run with Portable Firefox on my USB keychain?

Yes, FoxyProxy works with Portable Firefox by default.

Does FoxyProxy support proxy auto-configuration (PAC)?

Yes. See this section for more information.

What if I define a proxy in Firefox’s Connection Settings?

FoxyProxy ignores Firefox’s Connection Settings unless FoxyProxy is completely disabled.

What happens if a proxy goes down? Does FoxyProxy try another proxy?

No. FoxyProxy will not fail over to another proxy. Instead, the URL(s) simply won’t load. The only exception to this rule are proxies which use automatic proxy configuration (PAC) files that specify proxy failovers.

Many web pages are composed of images, javascript files, and CSS files from different URLs. How does FoxyProxy handle this?

All of the component parts of a webpage are routed through FoxyProxy and subjected to its rules engine. If part of a webpage doesn’t match any patterns, it is loaded through whichever proxy server (or none) is defined for the “Default” proxy. Read this for more information. Some people consider this a “privacy leak”. Please read the thread entitled, “Firefox through Tor” for more information. However, please note that you define a nonsense IP/port for the “Default” proxy (e.g., localhost:64111); then unmatched patterns simply fail to load.

What is foxyproxy.xml and where is it stored?

foxyproxy.xml is the file in which FoxyProxy stores all of the settings you define. By default, it is located in the Firefox Profile directory, but you can direct FoxyProxy to use any directory and filename you like by changing the Settings Storage Location in the Global Settings Tab.

Why don’t the network.proxy.* preferences in about:config change when I use FoxyProxy?

FoxyProxy doesn’t work by reading/writing Firefox preferences. This is not an efficient mechanism for real-time proxy switching.

I’ve specified an HTTP proxy in about:config by changing network.proxy.http and network.proxy.http_port, but FoxyProxy ignores it. Why?

FoxyProxy doesn’t work by reading/writing Firefox preferences. This is not an efficient mechanism for real-time proxy switching.

Why does FoxyProxy enable network.dns.disablePrefetch?

DNS prefetching is a feature of Firefox which increases page-load performance. You can read about it here. FoxyProxy disables DNS prefetching under certain conditions. It does this because DNS prefetching does not respect proxy rules. In other words, if DNS pretching is enabled but you want DNS lookups to occur through a proxy server, you’re out-of-luck. As of FoxyProxy 2.21, DNS prefetching is disabled if:

1. FoxyProxy is not disabled

AND

2a. FoxyProxy is set to “Use Proxy XXXX for All URLs”. Proxy XXXX has the checkbox (on the “General” tab) “Perform remote DNS lookups on hostnames loading through this proxy” checked

OR

2b. FoxyProxy is set to “Use proxies based on the pre-defined patterns and priorities”. One or more of the ENABLED proxies have the checkbox (on the “General” tab) “Perform remote DNS lookups on hostnames loading through this proxy” checked. An enabled proxy is one whose “Enabled” checkbox is checked (this checkbox is also on the General tab)
Earlier versions of FoxyProxy disabled this preference indiscriminantly.

Is this extension related to http://foxyproxy.net?

No.

Where can I get help or request a new feature?

If you would like to talk to a human, please visit our forum or send us an email at support@getfoxyproxy.org.

Under what license is FoxyProxy released?

The FoxyProxy source code is released under the GPL license. The FoxyProxy name, logo, graphics, art work, website, styles, and documentation are proprietary works and are NOT open-source.

How do I uninstall FoxyProxy?

FoxyProxy can be uninstalled just like any other Firefox extension. Here are instructions. If you want to uninstall the Tor/Vidalia/Privoxy software bundle, please refer to the Tor website for instructions.

How do I restart FoxyProxy’s Tor Wizard?

In the FoxyProxy Options dialog, select File->Tor Wizard.

The FoxyProxy Rules Engine: Whitelists, Blacklists, and Patterns

What are patterns?

FoxyProxy patterns are rules that define a group of URLs. These rules are expressed with wildcards and regular expressions. For example, http://*.yahoo.com/* is wildcard pattern that defines all HTTP (but not HTTPS) URLs that are subdomains of .yahoo.com. The FoxyProxy rules engine uses the patterns you define to determine which URLs should be loaded through proxies and which should be loaded through a direct internet connection.

What are whitelist patterns?

Whitelist patterns represent all URLs that should be loaded through a proxy.

What are blacklists patterns?

Blacklist patterns define URLs that should not be loaded through a proxy.

Where can I learn how to write patterns?

Please read the pattern tutorial.

I’ve defined blacklists and whitelists but FoxyProxy ignores them. Help!

FoxyProxy only respects patterns when it is set to “Use proxies based on their pre-defined patterns and priorities”. When set to any other mode, such as “Use proxy ABC for all URLs”, all patterns — black and white — are ignored. The solution to this problem often is to change FoxyProxy to “Use proxies based on their pre-defined patterns and priorities”. FoxyProxy is set to “Use proxies based on their pre-defined patterns and priorities” but it still ignores my blacklists. Why? You’re probably not using the right pattern syntax. Patterns such as localhost or 127.0.0.1, used in Firefox’s Connection Settings, are invalid when used with FoxyProxy. All wildcard patterns should terminate with /*. For example, if you are trying to prevent all localhost URLS from using a proxy, use these blacklist wildcard patterns: *localhost/**127.0.0.1/*. Please read this and the pattern tutorial for further information. This behavior will likely change in a future release because it has been the source of much confusion for new FoxyProxy users, often leading them to claim that blacklists don’t work.

What is the Default proxy?

The Default Proxy defines the settings used to load any resource or web page that doesn’t match a whitelisted pattern. In other words, the Default Proxy is a catchall. When first installed, FoxyProxy automatically configures the Default Proxy so that pages load through your direct internet connection (i.e., it’s not using a proxy at all). However, you can change this setting to use any proxy server or PAC file you like, just like any other proxy settings in FoxyProxy.

What happens if more than one pattern matches a URL?

If two or more patterns for different proxies match a URL, the proxy which is ordered higher (from top to bottom) is used to load that URL. This is what is meant by “priorities” in FoxyProxy. You can reorder proxy priorities with the Move buttons. The Default Proxy always matches all URLs and cannot be moved. In this sense, the Default Proxy is a catchall. There many flavors of regular expression syntax (grep, egrep, awk, sed, vim, perl, pure posix, etc). Which one should I use for FoxyProxy? FoxyProxy adheres to the JavaScript 1.5 regular expression syntax. When in doubt, refer to this guide. Do not surround regular expressions with forward slashes like this: /abc/

What happens if a URL matches both a whitelist pattern and blacklist pattern for the same proxy?

Blacklist patterns have priority over whitelist patterns. In this scenario, the URL is not loaded through the proxy. It is compared with the patterns of other proxies further down the list, including the Default, until a matching pattern is found. Note the Default proxy matches all URLs (i.e., it uses the whitelist wildcard pattern *)

How can I match all URLs?

Use this wildcard pattern: *

How can I match URLs by protocol?

Use wildcard patterns of this style: http://*, ftp://*, feed://*, etc.

How can I match files by extension?

Use this regular expression pattern .*\.(?:bz2|gz|rar|zip|tgz|bundle|deb|pdf|run)$ (The $ ensures that no other characters follow the extension)

Can you summarize how FoxyProxy matching works?

If FoxyProxy is set to Use Proxies based on their pre-defined patterns and priorities, FoxyProxy matching working this way:

   FoxyProxy attempts to match each URL against the whitelist patterns for each proxy in descending order from top to bottom.
   A URL matches a whitelist pattern for a proxy IF AND ONLY IF there isn't a blacklist pattern for that same proxy which does not also match the URL. In other words, if a whitelist and blacklist pattern both match a URL, the blacklist "wins" and the URL is not regarded as matched.
   URLs that don't match any whitelist pattern are loaded by the Default proxy settings. The Default proxy settings may or may not be configured to use your direct internet connection; this is up to you.

If FoxyProxy is set to Use proxy “xyz” for all URLs, FoxyProxy matching working this way:

   All URLS are loaded through proxy "xyz" regardless of blacklists or whitelists.

Other modes of operation are coming soon (e.g., Random and Round-Robin)

Why doesn’t my whitelist/blacklist pattern match a URL?

Ensure that your pattern matches the entire URL. For example, if you want to match http://google.com/, you can’t write the regular expression ^https?://google\.com. You must write ^https?://google\.com.*.

Do I have to specify every subdomain of a website in my list of patterns? I want http://google.com/*, http://news.google.com/*, and http://images.google.com/* to load through a proxy. Must I write a pattern for each?

No. You can use the whitelist regular expression pattern http://.*\.?google\.com/.*. If you want all protocols to load through the proxy — not just http, then use the regular expression pattern .*://.*\.?google\.com/.* or (.*\.)*google\.com/.*. You can substitute other domains for google.com.

How can I use different proxies based on my IP address?

Get FoxyProxy Plus!

How can I prevent proxy use on my intranet (local network)?

Future versions of FoxyProxy will have a checkbox on each proxy which will say something like “Don’t use this proxy for localhost/127.0.0.1” and another which says “Don’t use this proxy for plain host names”. This will prevent the need for doing any of the below steps.

There is more than one way to do this in FoxyProxy 2.x. Here is one way.

Define a proxy in FoxyProxy. Define the following blacklist wildcard patterns on this proxy:

   *://intranet-host-1/*
   *://intranet-host-2/*
   etc...

intranet-host-1 is the name of a plain host name; e.g., “google” instead of “www.google.com”.

How can I prevent proxy use on my intranet (local network) AND on my local computer (127.0.0.1)?

Future versions of FoxyProxy will have a checkbox on each proxy which will say something like “Don’t use this proxy for localhost/127.0.0.1” and another which says “Don’t use this proxy for plain host names”. This will prevent the need for doing any of the below steps.

There is more than one way to do this in FoxyProxy 2.x. Here is one way.

Define a proxy in FoxyProxy. Define the following blacklist wildcard patterns on this proxy:

   *://localhost/*
   *://127.0.0.1/*
   *://intranet-host-1/*
   *://intranet-host-2/*
   etc...

intranet-host-1 is the name of a plain host name; e.g., “google” instead of “www.google.com”.

What about some cool regular expression examples?

   localhost - Matches the local host optionally prefixed by a user:passwd auth string and optionally suffixed by a port number. Note that the entire local subnet (127.0.0.0/8) matches.
   ^https?://(?:[^:@/]+(?::[^@/]+)?@)?(?:localhost|127\.\d+\.\d+\.\d+)(?::\d+)?/.*
   local subnets (IANA reserved address space)
   ^https?://(?:[^:@/]+(?::[^@/]+)?@)?(?:192\.168\.\d+\.\d+|10\.\d+\.\d+\.\d+|172\.(?:1[6789]|2[0-9]|3[12]))(?::\d+)?/.*
   local hostnames (usually no dots in the name)
   ^https?://(?:[^:@/]+(?::[^@/]+)?@)?[\w-]+(?::\d+)?/.* 

PAC files

What is a proxy auto-configuration (PAC) and where can I read more about them?

A PAC is a text file containing a small piece of logic which determines how URLs are loaded by the browser. It is comprised of a single javascript function FindProxyForURL(url, host) that you implement. This function returns a string with one or more proxy specifications: multiple specifications provide a fallback when a proxy fails to respond. An example of a PAC file is:

function FindProxyForURL(url, host){

 if (shExpMatch(host, "*.google.com*")) {
   return "PROXY myproxy.foo.com:9050;DIRECT;"
 }
 else if (shExpMatch(host, "*.yahoo.com*")) {
   return "SOCKS anotherproxy.bar.com:1050;"
 }
 else {
   return "DIRECT";
 }

}

Proxy auto-configuration files are described in complete detail here, here, and here.

When does FoxyProxy use my PAC file?

When you configure a proxy in FoxyProxy and select “Automatic proxy configuration URL” on the “Proxy Details” page, you’re specifying that FoxyProxy use a PAC for any patterns associated with this proxy configuration. In other words, for each URL that matches a URL pattern defined by a proxy configuration specified to use a PAC, FoxyProxy calls that PAC’s FindProxyForURL() implementation. The return value of FindProxyForURL() determines which proxy (if any) is used.

Privacy

How does FoxyProxy secure my privacy?

FoxyProxy does not inherently secure your privacy or anonymize you. FoxyProxy does not change/mask/hide your IP address. Privacy and anonymity are dependent upon a number of factors, including but not limited to the proxies you use. Please be careful using FoxyProxy if you are expecting complete anonymity because some have argued that FoxyProxy — when used in patterns mode (identified by the orange FoxyProxy icon and the Use proxies based on their pre-defined patterns and priorities text) — can actually make you more susceptible to privacy breaches.

The crux of the issue is this. Most web pages are comprised of resources from multiple domains. When FoxyProxy is used in patterns mode, unless you define whitelist patterns which match all resources on a page, then some of those resources won’t load through proxies. The easiest way around this issue is to change FoxyProxy’s mode from patterns to dedicated. In dedicated mode (identified by the blue FoxyProxy icon and the Use proxy “xyz” for all URLs text), FoxyProxy ignore all patterns, loading all resources through a single proxy… just like SwitchProxy, TorButton, and most other Firefox proxy extensions. For another solution that permits you to continue using patterns with FoxyProxy, read on.

Let’s demonstrate the issue with an example. This page includes an image from the domain img217.imageshack.us and also an image from getfoxyproxy.org. Let’s say you visit the page with FoxyProxy in patterns mode and have defined the single whitelisted, wildcard pattern http://getfoxyproxy.org/* associated with a proxy named Behemoth. The image on the top of the page, hosted on getfoxyproxy.org, will load through Behemoth, but the other image, hosted at img217.imageshack.us, won’t load through any proxy. It will load through your direct internet connection (assuming the Default Proxy is configured to use your direct internet connection). If you have any cookies for imageshack.us, those will be sent by your browser to imagshack.us. I hope you can see the issue more clearly now.

Patterns mode is one of FoxyProxy’s greatest strengths and is what sets FoxyProxy apart from most other Firefox proxy extensions. However, it can also be its greatest weakness if not used appropriately. If you are using a proxy for complete privacy and anonymity, there are two recommended ways to use FoxyProxy so this privacy and anonymity is maintained:

   Forego patterns and use FoxyProxy in dedicated (non-patterns) mode; i.e., "Use Proxy XXX for all URLs". This is indicated by the blue FoxyProxy icon in the statusbar and toolbar.
   Use FoxyProxy in patterns mode but change the settings for the Default Proxy from using your direct internet connection to a bogus (i.e., non-existent) proxy such as localhost:55555. When a URL is reached which doesn't match a whitelisted pattern, the URL will attempt load through this non-existent proxy. The attempt will time out and fail. In this way, you can still leverage patterns but not compromise privacy and anonymity.

OK, but can I surf the web anonymously with FoxyProxy?

Yes. Please read the Tor section of this FAQ. I also urge you to read Potential Anonymity Leak and the FAQ question How does FoxyProxy secure my privacy?

Can DNS lookups go through my proxies?

Yes. Ensure the following:

   The proxy in use must support SOCKS 4a or SOCKS 5.
   Check "Use this proxy for all DNS lookups" on the Proxy Details Tab.
   Do not use add-ons like Google Toolbar that interfere with remote DNS lookups.

Tor

What is the relationship between FoxyProxy and Tor?

There is a common misunderstanding that Tor is required to use FoxyProxy. This is not true. FoxyProxy has nothing to do with Tor. FoxyProxy is not Tor. FoxyProxy does not require Tor (this list has FoxyProxy’s requirements). If used with Tor, FoxyProxy efficiently loads only the URLs you define through the slow Tor network. All other URLs load through your direct internet connection or other proxies, as you define. The benefit of using FoxyProxy with Tor is simply that you can use your fast internet connection to load normal URLs and the Tor network to load sensitive URLs without constantly changing Firefox proxy settings.

How can I use FoxyProxy with Tor?

   Install the Tor/Vidalia/Privoxy software bundle if you haven't already.
   Run Vidalia.
   Click on the Vidalia icon in the taskbar (next to the Windows clock) and select "Start". The Vidalia icon should turn green after a moment. You are now "connected" to the Tor network.
   Install FoxyProxy if you haven't already.
   Run the Tor Wizard (File->Tor Wizard) and answer the questions appropriately.

If Firefox complains that it can’t load pages (connection has timed out or similar error), then the Tor network is down or responding too slowly. This is not a FoxyProxy bug or FoxyProxy error. Please file your complaints with the Tor community.

Animated Icons

I’ve configured FoxyProxy so all pages load through a proxy, but the FoxyProxy animated icon stops animating before pages finish loading. Why?

The FoxyProxy animated icon is imprecise. When FoxyProxy sends an HTTP request through a proxy whose Add/Edit Proxy->General Tab->Animate icons when proxy is in use checkbox is checked, the FoxyProxy icon begins animating for 800 milliseconds. If the resource associated with the request finishes loading before 800 milliseconds have elapsed, the icon continues to animate anyway. Contrast this to the behavior of the Firefox throbber, which remains animated until all resources finish loading. This kind of precision animation is something we might introduce in a later FoxyProxy release, and it is for this reason we don’t refer to the icon as a throbber.

Why does the Firefox throbber animate for a shorter or longer period than the FoxyProxy animated icon?

There are two reasons for this:

   The FoxyProxy animated icon only animates when FoxyProxy routes HTTP requests through a proxy. If FoxyProxy is set to Use Proxies based on their pre-defined patterns and priorities, then some requests might not be sent through a proxy or you've turned off icon animation for some or all of the proxies you've defined. To change this, ensure the Add/Edit Proxy->General Tab->Animate icons when proxy is in use checkbox is checked for the proxies which you wish to use icon animation.
   The FoxyProxy animated icon is similar but not identical to a throbber. In particular, the FoxyProxy animated icon begins animating when a resource is loaded through a proxy whose Add/Edit Proxy->General Tab->Animate icons when proxy is in use checkbox is checked. The animation continues for 800 milliseconds regardless of whether or not the resource associated with the request has completed loading. 

Why does the FoxyProxy animated icon speed increase?

The speed increases for each HTTP request that is routed through a proxy whose Add/Edit Proxy->General Tab->Animate icons when proxy is in use checkbox is checked. If the animation hasn’t completed its 800 millisecond loop before a new request is made, the animation speed is increased.

Miscellaneous

FoxyProxy takes up too much space in the statusbar!

You can remove statusbar text in Global Settings->Options->Show mode (text) on statusbar. You can also remove the FoxyProxy: prefix on the statusbar while still keeping the proxy name/mode.

How can I find my FoxyProxy settings file?

foxyproxy.xml is the file in which FoxyProxy stores all of the settings you define. By default, it is located in the Firefox Profile directory, but you can direct FoxyProxy to use any directory and filename you like by changing the Settings Storage Location in the Global Settings Tab.

Does FoxyProxy work with Flash and Java applets?

Yes. FoxyProxy correctly proxies Flash-, Shockwave-, and Java-initiated connections. They are routed through proxies in the same way any other connection/request is routed. Moreoever, these connections/requests are visible in the FoxyProxy Logging Tab if logging is enabled. Please note that some of these plugins may choose to ignore proxy settings and connect directly to the internet. There is no way for FoxyProxy to prevent them from doing this. The only way to make sure all the traffic is going through the proxy is to use FoxyProxy VPN Service.

Does FoxyProxy work with IceWeasel?

Yes.

Does FoxyProxy work with IETab?

Partially.. FoxyProxy works fine until IETab is invoked. When IETab is invoked, that tab uses Internet Explorer’s Internet Options proxy exceptions, not FoxyProxy.

How can I change FoxyProxy’s shortcuts (Ctrl-F2) to something else?

Install the KeyConfig Extension. Scroll down to the FoxyProxy entry and change the shortcut to anything you like. Changes won’t take effect until you restart Firefox.

Where can I get older version of FoxyProxy?

Here.

Where can I find the FoxyProxy source code or FoxyProxy nightly builds?

FoxyProxy source code is available from the public  repository located at http://code.getfoxyproxy.org/. If you only want to browse the code online, consider using the colorized FishEye tool. You can get automated builds of the trunk at our Jenkins installation. A new XPI is automatically built by Jenkins everytime one of the developers checks in code to the Subversion repository. So you can consider this bleeding edge; even more current than nightly builds.

Why is FoxyProxy a larger download compared to other Firefox proxy extensions?

FoxyProxy is carefully crafted by a professional software developer with over 15 years of industry experience. It has no code bloat. The size of FoxyProxy 2.3, 263 kilobytes, has three explanations:

   FoxyProxy 2.8.5 supports 27 languages ("locales"). Due to a limitation of Firefox, you must download and install all languages even if you only need one of them. Don't be concerned, however: at runtime, Firefox only loads YOUR locale into memory. Because of this, FoxyProxy's memory footprint is quite small even though the download might be considered large for a Firefox extension. Compare language support of some popular Firefox proxy extensions:
   Extension	Languages Supported	Size in KB
   FoxyProxy 2.3	22	263
   SwitchProxy 1.4.1	6	64
   TorButton 1.0.4	3	26
   xyzproxy 0.91	3	18
   ProxyTex 0.1	1	14
   ProxyButton 0.1.8	1	12
   QuickProxy 2006.10.09	1	9
   If, for example, you use Firefox in English (en-US locale), 195 kilobytes of FoxyProxy never load into memory. You can, in fact, delete the 21 unused locales/languages (195 KB) from your hard drive if you know what you're doing. Including the English locale, FoxyProxy's locales consume 203 kilobytes of disk space, and its icons and images consume another 27kb. Another 2kb are used by Firefox extension framework code (install.rdf, chrome.manifest, prefs.js, license file, etc). Those are files required by Firefox by every extension. This leaves a mere 31 kilobytes of code. In other words, 77% of the FoxyProxy 2.3 codebase is resource strings, 10% is graphics, and only 12% is code.
   A full 10% of FoxyProxy 2.3's size is due to icons and images used for toolbar buttons, dialog icons, etc.
   FoxyProxy includes some very complex features that no other proxy extension has; for example, a rules engine for dynamic proxy switching, automatic pattern creation ("AutoAdd"), robust logging in XHTML format, multiple proxy support, native PAC file support, built-in Tor wizard, etc. If other proxy extensions included similar features, they would be roughly equivalent in size to FoxyProxy.

To summarize, there is no way to reduce the size of the FoxyProxy download without removing features, languages, or graphics. Languages and graphics will never be removed, but we can hope that Firefox 3.0 includes support for installation of individual languages in extensions instead of installing all languages all the time. FoxyProxy will only grow in size over time because of our plans to add lots more features. By the way, the size of an extension has little or no bearing on the amount of memory it consumes. For example, one can write the following two-line extension which will eventually consume all available memory on a system. var x = []; while (1) x[x.length] = “foo”;

How can I prevent display of the release notes after upgrading?

You can disable the display of the release notes after upgrading FoxyProxy by doing the following:

   Enter about:config into the address bar
   Type extensions.foxyproxy.last-version into the filter
   Double-click the item
   When prompted to "Enter string value", enter 999 or any other very high number.

You will never see the release notes page again after upgrading. To undo this, perform all of the above steps but enter 0 for the last step.

How can I automatically start a tunnel, SSH connection, or run a script when FoxyProxy starts?

Use the teflon python script by N. Gallaher.

I don’t want FoxyProxy’s icon to change back to the default after page finishes loading in Use proxies based on their pre-defined patterns and priorities.

You can disable resetting of icon colors after URLs finish loading with a “hidden preferenence” (i.e., no GUI currently). Open foxyproxy.xml and look for resetIconColors=”true”. Change true to false, and restart Firefox. This enables you to easily see which proxy was last used (instead of having to use the FoxyProxy Logging tab). To undo the change, change it back to true and restart Firefox.

How can I remove the “FoxyProxy:” prefix in the statubar?

You can do this with a “hidden preferenence” (i.e., no GUI currently). Open foxyproxy.xml and look for useStatusBarPrefix=”true”. Change true to false, and restart Firefox. To undo the change, change it back to true and restart Firefox.

How can I use FoxyProxy with UltraSurf? or Freegate

For UltraSurf, add a new proxy in FoxyProxy with these settings:

   Manual Proxy Configuration
   Host: localhost
   Port: 9666
   SOCKS proxy? No

For Freegate, add a new proxy in FoxyProxy with these settings:

   Manual Proxy Configuration
   Host: localhost
   Port: 8580
   SOCKS proxy? No

Command-line arguments

How can I start Firefox/FoxyProxy with different settings than when last exited?

FoxyProxy supports a command-line argument for this purpose: -foxyproxy-mode [patterns|disabled|<id of a proxy as specified in foxyproxy.xml’s proxy element>|random (not supported)|roundrobin (not supported)] Windows examples: firefox.exe -foxyproxy-mode 1095631556 firefox.exe -foxyproxy-mode disabled firefox.exe -foxyproxy-mode patterns OSX/Linux example: firefox -foxyproxy-mode 1095631556 firefox -foxyproxy-mode disabled firefox -foxyproxy-mode patterns When NOT specified, FoxyProxy resumes from the last mode in which it was used. When specified, FoxyProxy starts in the specified mode.

Video and Audio sites

Many video sites permit their videos to be viewed only from certain countries. A common way to avoid such restrictions is to find a proxy server in the appropriate country, and use FoxyProxy to load the video site through that proxy server.

In order to proxify video content without any lags and delays, the proxy you are using should be capable of high bandwidth. To obtain such a proxy in the US, UK, EU, Canada, or any other country, please see this link.

Known Issues

FoxyProxy displays settings.error.3 or Error reading string resource or Error writing settings file or Error reading settings file.

These errors almost always means FoxyProxy cannot find the file where your personal settings are saved, foxyproxy.xml. Most likely you moved or renamed your Firefox profile. FoxyProxy is looking for foxyproxy.xml in the old path, but it either no longer exists or is write-protected. You can manually change the path where FoxyProxy looks for foxyproxy.xml by opening Firefox, going to about:config, entering extensions.foxyproxy.settings in the filter box, and changing the value to a new path that exists; for example: file:///C:/foxyproxy.xml on windows or file://usr/local/home/foxyproxy.xml on linux/mac/unix. Restart Firefox and you should no longer see the error. If foxyproxy.xml is in the Firefox profile, you can tell FoxyProxy to look for it there by using the special value ” ” (a single space without the quotes). In this case, FoxyProxy won’t use any absolute paths to get foxyproxy.xml.

Future versions of FoxyProxy won’t store the absolute path to foxyproxy.xml in preferences to avoid this problem.

I moved my Firefox profile to another PC or another path. Now FoxyProxy doesn’t work. How to fix?

You must edit the profile’s preferences. In Firefox, type about:config in the address bar. Enter extensions.foxyproxy.settings as a filter. If the preference doesn’t exist, create it as a new string (open the context menu (right-click) on any existing preference, go to the New menu, and select String). Enter extensions.foxyproxy.settings for the preference name. For the value of the string, enter the location of foxyproxy.xml in the form: file:///c:/path/to/file/foxyproxy.xml. For example: file:///C:/Documents%20and%20Settings/ EricJung/ Application%20Data/Mozilla/Firefox/Profiles/ r0yrkjob.prod/foxyproxy.xml. Note that the path must be URL-encoded (e.g., space becoems %20). You can use this URL encoding calculator to easily URL encode a path. If foxyproxy.xml is in the Firefox profile, you can tell FoxyProxy to look for it there by using the special value ” ” (a single space without the quotes). In this case, FoxyProxy won’t use any absolute paths to get foxyproxy.xml.

For Linux and Mac operating systems, exclude the drive letter; e.g. file:///home/ejung/foxyproxy.xml.

If you are using Portable Firefox, the value of extensions.foxyproxy.settings should be a single space (” “). This tells FoxyProxy to look for foxyproxy.xml in the profile directory of the current drive. This is important because the drive letter of a USB drive can change.

Why does FoxyProxy sometimes use the wrong SOCKS proxy for 15 seconds?

When using multiple SOCKS proxy servers, Firefox “remembers” the last SOCKS proxy used for a particular domain for roughly 15 seconds. For example, suppose you configure FoxyProxy rules such that http://foo.com/a.gif loads through SOCKS proxy #1 and http://foo.com/b.gif loads through proxy #2. Now you visit http://foo.com/a.gif, forcing the resource to load through SOCKS proxy #1. A moment later you visit http://foo.com/b.gif. Unfortunately, Firefox will load http://foo.com/b.gif through SOCKS proxy #1 instead of #2. Note that this only occurs when the domains are the same (foo.com in this case). Waiting approximately 15 seconds makes Firefox “forget” the last SOCKS proxy used for that domain.

This is a Firefox issue and has nothing to do with FoxyProxy. If you uninstall FoxyProxy, Firefox will exhibit the same behavior natively. FoxyProxy does, however, report on its logging tab that the correct proxies were used to load the resources, slightly confusing the issue.

Possible workarounds:

   For each remote SOCKS proxy, run a local SOCKS or HTTP proxy on localhost that is configured to chain to the remote SOCKS proxy (instances of SocksChain or ProxyChains, for example). Point FoxyProxy to the local proxies, not the remotes. Have the local proxies drop their remote (chained) connections after every request/response. Hopefully, Firefox will be cognizant of the dropped connection and no longer remember it. This idea has not been tested.
   Use a single SOCKS proxy. If other proxies are required, they should be HTTP proxies.
   Wait 15 seconds before loading resources on the same domain that would normally load through different proxies.
   Work on a Firefox patch to resolve this.

This issue has been confirmed on Mac OS X 10.4.11 and Windows XP SP2 with both Firefox 2.0.0.11 and 3.0b2. It was discussed here.

I can’t talk to my HTTP proxy over port 80.

Transparent proxies (i.e., proxies on port 80) aren’t well-supported. Use any other port besides 80. This problem was discussed here.

Double-clicking a local HTML file on Windows displays the message “Windows can not find the file. Please check the file name and try again.”

This problem only seems to occur on non-English installations.

Many FoxyProxy buttons don’t have icons on my linux installation. But on Windows and OS/X, I see button icons.

Screenshot of the problem. Button icons are hidden depending on the corresponding GTK setting. To change the GTK setting: gconf-editor and /desktop/gnome/interface/buttons_have_icons. This topic is discussed here. Thanks to Georg Koppen for this answer.

Hidden Settings

I don’t want FoxyProxy’s icon to change back to the default after page finishes loading in Use proxies based on their pre-defined patterns and priorities.

You can disable resetting of icon colors after URLs finish loading with a “hidden preferenence” (i.e., no GUI currently). Open foxyproxy.xml and look for resetIconColors=”true”. Change true to false, and restart Firefox. This enables you to easily see which proxy was last used (instead of having to use the FoxyProxy Logging tab). To undo the change, change it back to true and restart Firefox.

I don’t want the FoxyProxy: prefix in the status bar.

You can disable this text prefix while keeping the text “mode” display (disabled, patterns, etc) with a “hidden preferenence” (i.e., no GUI currently). Open foxyproxy.xml and look for useStatusBarPrefix=”true”. Change true to false, and restart Firefox. To undo the change, change it back to true and restart Firefox.

The proxy: protocol (scheme)

What is the proxy: protocol (or scheme)?

Please see this page.