FoxyProxy

foxyproxy.xml File Format

Firefox editions only, although Chrome editions can import/export this format. Items in orange are specific to FoxyProxy Plus.

Node NameJavaScript ClassLocationPurpose
foxyproxyfoxyproxycomponents/foxyproxy.jsThe document root. Acts as a container for child nodes, but also contains some global data as attributes.
Attribute NameLegal ValuesDefault ValueJavaScript VariablePurpose
modepatterns| _proxy_id_| random| roundrobin| disabled| previouspatternsThis value determines the core behavior of FoxyProxy. Patterns is Use proxies based on their pre-defined patterns and priorities. _proxy_id_ means that all URLs are loaded through the proxy with the specified internal id (all proxies have a unique id--see the id attribute on the proxy node). Random and roundrobin are not fully implemented yet. Disabled means FoxyProxy is completed disabled. Previous is an internal-only mode; read more about it in the previousMode attribute.
previousModeThe mode in use just before the current mode. This value is used in order to support Toggle between current mode and disabled in Global Settings
selectedTabIndex0 (proxies tab)|1 (global settings tab)|2 (quickadd tab)|3 (autoadd tab)|4 (logging tab)1Stores the 0-based index of the last selected tab in options.xul. This permits the last selected tab to be restored when the user re-opens the FoxyProxy options window.
toolbarIcontrue|falsetrueShow/hide the FoxyProxy menu on the toolbar
toolsMenutrue|falsetrueShow/hide the FoxyProxy menu in the Tools menu
contextMenutrue|falsetrueShow/hide the FoxyProxy menu in the context (right-click) menu
advancedMenustrue|falsefalseEnable/disable advanced menus in the Tools menu, context-menu, and toolbar menu
resetIconColorstrue|falsetrueHidden setting (no GUI). When FoxyProxy is set to Use proxies based on their pre-defined patterns and priorities, this value determines if the FoxyProxy icon is changed to its default orange after loading a URL. If true, the icon is changed to orange. If false, the icon remains the color of the proxy that was last used. This enables you to easily see which proxy was last used (instead of having to use the FoxyProxy Logging tab).
useStatusBarPrefixtrue|falsetrueIf true, FoxyProxy: is prepended to any statusbar text.
excludePatternsFromCyclingtrue|falsefalseHidden setting (no GUI). This affects the order of mode cycling when Cycle through modes is selected in Global Settings. When false, Use proxies based on their pre-defined patterns and priorities is included in the cycle rotation.
excludeDisabledFromCyclingtrue|falsefalseHidden setting (no GUI). This affects the order of mode cycling when Cycle through modes is selected in Global Settings. When false, Completely Disable FoxyProxy is not including in the cycle rotation.
ignoreProxySchemetrue|falsefalseHidden setting (no GUI). If true, clicks on proxy:// links are ignored. More info on proxy:// links.
apiDisabledtrue|falsefalseHidden setting (no GUI). If true, FoxyProxy API calls by webpages are ignored except for calls to the foxyproxy.apiDisabled property. (That allows webpages to know if they can use the API or not) More info.
Node NameJavaScript ClassLocationPurpose
statusbarfoxyproxy.statusbarcomponents/foxyproxy.jsControls the display and behavior of FoxyProxy in the statusbar
Attribute NameLegal ValuesDefault ValueJavaScript VariablePurpose
icontrue|falsetruefoxyproxy.statusbar._iconEnabledIf true, the FoxyProxy icon is displayed in the statusbar.
texttrue|falsefalsefoxyproxy.statusbar._textEnabledIf true, the name of the proxy (or mode) is displayed in the statusbar. It is optionally prefixed with FoxyProxy: depending on the value of useStatusBarPrefix
leftoptions| cycle| contextmenu| reloadcurtab| reloadtabsinbrowser| reloadtabsinallbrowsers| removeallcookies| toggle| refreshlocalips| quickaddoptionsfoxyproxy.statusbar._leftClickAction to perform when the FoxyProxy statusbar icon/text is left-clicked.
middleoptions| cycle| contextmenu| reloadcurtab| reloadtabsinbrowser| reloadtabsinallbrowsers| removeallcookies| toggle| refreshlocalips| quickaddcyclefoxyproxy.statusbar._middleClickAction to perform when the FoxyProxy statusbar icon/text is middle-clicked.
rightoptions| cycle| contextmenu| reloadcurtab| reloadtabsinbrowser| reloadtabsinallbrowsers| removeallcookies| toggle| refreshlocalips| quickaddcontextmenufoxyproxy.statusbar._rightClickAction to perform when the FoxyProxy statusbar icon/text is right-clicked.
widthinteger0foxyproxy.statusbar._widthWidth of statusbar text. If 0, text width adjusts dynamically to accomodate all text. If proxy names are different lengths, this causes an annoying effect to some users whereby the statusbar text grows and shrinks many times per second. Using a non-zero value prevents this but also clips text as necessary.
Node NameJavaScript ClassLocationPurpose
toolbarfoxyproxy.toolbarcomponents/foxyproxy.jsControls the display and behavior of FoxyProxy in the toolbar
Attribute NameLegal ValuesDefault ValueJavaScript VariablePurpose
leftoptions| cycle| contextmenu| reloadcurtab| reloadtabsinbrowser| reloadtabsinallbrowsers| removeallcookies| toggle| refreshlocalips| quickaddoptionsfoxyproxy.toolbar._leftClickAction to perform when the FoxyProxy toolbar icon is left-clicked.
middleoptions| cycle| contextmenu| reloadcurtab| reloadtabsinbrowser| reloadtabsinallbrowsers| removeallcookies| toggle| refreshlocalips| quickaddcyclefoxyproxy.toolbar._middleClickAction to perform when the FoxyProxy toolbar icon is middle-clicked.
rightoptions| cycle| contextmenu| reloadcurtab| reloadtabsinbrowser| reloadtabsinallbrowsers| removeallcookies| toggle| refreshlocalips| quickaddcontextmenufoxyproxy.toolbar._rightClickAction to perform when the FoxyProxy toolbar icon is right-clicked.
Note: showing/hiding of toolbar is controlled by the Customize Toolbar window, so there are no attributes here for that.
Node NameJavaScript ClassLocationPurpose
loggfoxyproxy.loggcomponents/foxyproxy.jsControls the display and behavior of logging.
Attribute NameLegal ValuesDefault ValueJavaScript VariablePurpose
enabledtrue|falsefalsefoxyproxy.logg.enabledIf true, logging is enabled and available in the FoxyProxy logging tab.
maxSizeinteger500foxyproxy.logg._maxSizeThe number of log entries after which the log "rolls". It's important to understand that log entries are kept in-memory. If the log is permitted to grow without bounds, all memory would eventually be consumed. So, when this number of log entries is reached, the log begins overwriting (in memory) the oldest entries.
noURLstrue|falsefalsefoxyproxy.logg._noURLsIf true, URLs are not stored in log entries. Some users prefer this for privacy reasons.
headerHTMLfoxyproxy.logg._templateHeaderWhen saving the log to disk, this value is output before the log entries (rows) are output. There are substitution variables, delimited by ${}, that are used to control where log entry columns are output.
rowHTMLfoxyproxy.logg._templateRowWhen saving the log to disk, this value is output for each log entry. There are substitution variables, delimited by ${}, that are used to control where log entry columns are output.
footerHTMLfoxyproxy.logg._templateFooterWhen saving the log to disk, this value is output after all log entries (rows) are output. There are substitution variables, delimited by ${}, that are used to control where log entry columns are output.
Node NameJavaScript ClassLocationPurpose
warningsfoxyproxy.warningscomponents/foxyproxy.jsSaves user preferences about which prompts to display/never display.
Attribute NameLegal ValuesDefault ValueJavaScript VariablePurpose
white-patternstrue|falsefalsefoxyproxy.logg._warnings arrayIf false, no prompt is displayed in FoxyProxy Standard and Plus asking if one really wants to save the proxy settings without having defined whitelist patterns for it. (That warning is not available in FoxyProxy Basic due to a missing pattern mode.)
md5Warningtrue|falsefalsefoxyproxy.logg._warnings arrayIf false, no prompt is displayed asking whether a pattern subscription should still be imported although its MD5 sum is not matching the expected value. (That warning is not available in FoxyProxy Basic due to a missing pattern mode.)
noneEncodingWarningtrue|falsefalsefoxyproxy.logg._warnings arrayIf false, no prompt is displayed asking whether a pattern subscription should still be imported although its encoding is not matching the user's preference. (That warning is not available in FoxyProxy Basic due to a missing pattern mode.)
wildcardstrue|falsefalsefoxyproxy.logg._warnings arrayIf false, no prompt is displayed indicating that wildcard characters are missing in wildcard patterns. (That warning is not available in FoxyProxy Basic due to a missing pattern mode.)
parenthesestrue|falsefalsefoxyproxy.logg._warnings arrayIf false, no prompt is displayed indicating that parantheses in regular expression patterns are unprotected (if that happens to be the case). (That warning is not available in FoxyProxy Basic due to a missing pattern mode.)
confirmDeleteProxytrue|falsefalsefoxyproxy.logg._warnings arrayIf false, no prompt is displayed asking whether the proxy in question should really get deleted.
patSubDeletetrue|falsefalsefoxyproxy.logg._warnings arrayIf false, no prompt is displayed asking in FoxyProxy Standard and Plus whether the pattern subscription in question should really get deleted. (That warning is not available in FoxyProxy Basic due to a missing pattern mode.)
openXNewTabstrue|falsefalsefoxyproxy.logg._warnings arrayIf false, no prompt is displayed asking whether more than 3 selected URLs in the logging tab should get opened in new tabs.
sockstrue|falsefalsefoxyproxy.logg._warnings arrayIf false, no prompt is displayed asking whether one really wants to set a non-SOCKS proxy within Thunderbird.
Node NameJavaScript ClassLocationPurpose
proxiesfoxyproxy.proxiescomponents/foxyproxy.jsContainer for proxy nodes.
proxyProxycomponents/proxy.jsContains information about a proxy server as well as configuration info.
Attribute NameLegal ValuesDefault ValueJavaScript VariablePurpose
idpositive integerRandomly generatedProxy.idUnique identifier for this proxy configuration. This value is used internally and not exposed to users.
nameany stringIf none specified by user, the ip address:port of the proxy serverProxy.nameName given to the proxy
notesany stringnoneProxy.notesNotes about the proxy configuration
enabledtrue|falsetrueProxy._enabledIf true, the proxy is enabled. If false, the proxy is disabled.
modedirect|manual|automanualProxy._modeThe current mode of this proxy configuration.direct means use no proxy. manual means use the proxy server specified in the <manualconf/> child node. auto means use the PAC file specified in the <autoconf/> child node
selectedTabIndex0 (General Tab)|1 (Proxy Details Tab)|2 (URL Patterns Tab)|3 (IP Patterns Tab)1Proxy.selectedTabIndexThe 0-based index of the last selected tab in addeditproxy.xul. This permits the last selected tab to be restored when the user re-opens the Proxy Settings window.
lastresorttrue|falsefalseProxy.lastresortIf true, this is the special proxy named "Default". This proxy cannot be deleted, disabled, have patterns added to it, and has other restrictions. It is the "catchall" described here.
animatedIconstrue|falsetrueProxy.animatedIconsIf true, the FoxyProxy icon rotates when this proxy is used to load a URL.
includeInCycletrue|falsetrueProxy.includeInCycleIf true, this proxy is included in proxy rotation ("cycling"). Cycling is initiated when the user clicks one of the mouse buttons on a FoxyProxy icon as defined by Global Settings->Toolbar/Statusbar Activation->Cycle through modes
colorhex color code (string)#0055E5Proxy._colorThe FoxyProxy icon color when this proxy is used to load a URL.
proxyDNStrue|falsetrueProxy._proxyDNSIf true and the proxy server is a SOCKS 4a/5 server, then DNS lookups are performed on the server (remotely) instead of locally.
noInternalIPstrue|falsefalseProxy.noInternalIPsIf true and pattern mode is selected the proxy is not used on internal IP addresses according to RFC 1918.
clearCacheBeforeUsetrue|falsefalseProxy.clearCacheBeforeUseIf true, browser cache is cleared before this proxy is used.
disableCachetrue|falsefalseProxy.disableCacheIf true, browser cache is not used when this proxy is in use. If false, existing browser settings are used.
clearCookiesBeforeUsetrue|falsefalseProxy.clearCookiesBeforeUseIf true, all cookies are deleted before this proxy is used.
rejectCookiestrue|falsefalseProxy.disableCacheIf true, cookies are not accepted while this proxy is in use. If false, existing browser settings are used.
Node NameJavaScript ClassLocationPurpose
matchesProxy.matches arraycomponents/proxy.jsContainer for <match/> nodes relating to URL patterns. A better name for this would have been patterns.
Attribute NameLegal ValuesDefault ValueJavaScript VariablePurpose
enabledtrue|falsetrueMatch.enabledIf true, this pattern is enabled; it has effect.
nameany stringnoneMatch.nameName given to the pattern
patternany stringnoneMatch._patternWildcard/regular expression pattern
isRegExtrue|falsefalseMatch._isRegExIf true, Match._pattern is a regular expression. If false, it's a wildcard pattern.
isBlackListtrue|falsefalseMatch.isBlackListIf true, Match._pattern is a blacklist pattern. If false, it's a whitelist pattern.
isMultiLinetrue|falsefalseMatch._isMultiLineIf true, Match._pattern is a multi-line pattern. That is, pattern matching ignores line breaks. This is an internal value used for AutoAdd. There is no GUI for it.
caseSensitivetrue|falsefalseMatch._caseSensitiveIf true, Match._pattern is case-sensitive.
temptrue|falsefalseMatch.tempAlthough this attribute is never persisted to foxyproxy.xml, it is worth mentioning. If this value is true, then this Match object isn't persisted to foxyproxy.xml. In this way, users can specify patterns that don't survive browser restarts ("one-time" patterns).
fromSubscriptiontrue|falsefalseMatch._fromSubscriptionIf true, Match._pattern is part of a proxy subscription.
Node NameJavaScript ClassLocationPurpose
ippatterns  Container for <match/> nodes relating to IP addresses.
Attribute NameLegal ValuesDefault ValueJavaScript VariablePurpose
enabledtrue|falsetrueMatch.enabledIf true, this pattern is enabled; it has effect.
nameany stringnoneMatch.nameName given to the pattern
patternany stringnoneMatch._patternWildcard/regular expression pattern
isRegExtrue|falsefalseMatch._isRegExIf true, Match._pattern is a regular expression. If false, it's a wildcard pattern.
isBlackListtrue|falsefalseMatch.isBlackListIf true, Match._pattern is a blacklist pattern. If false, it's a whitelist pattern.
temptrue|falsefalseMatch.tempAlthough this attribute is never persisted to foxyproxy.xml, it is worth mentioning. If this value is true, then this Match object isn't persisted to foxyproxy.xml. In this way, users can specify patterns that don't survive browser restarts ("one-time" patterns).
Node NameJavaScript ClassLocationPurpose
quickadd  Metadata about QuickAdd and container for a <match/> node describing the pattern to be added when QuickAdd is initiated.
Attribute NameLegal ValuesDefault ValueJavaScript VariablePurpose
enabledtrue|falsefalseSuperadd._enabledIf true, this pattern is enabled; it has effect.
reloadtrue|falsetrueSuperadd._reloadIf true, a page gets reloaded if necessary after a pattern got added to a proxy.
notifytrue|falsetrueSuperadd._notifyIf true, the user gets notified if QuickAdd gets used.
notifyWhenCanceledtrue|falsetrueSuperadd._notifyWhenCanceledIf true, the user gets notified if QuickAdd gets aborted.
prompttrue|falsetrueSuperadd._promptIf true, the user gets prompted in order to edit and configure a pattern before it is added to a proxy.
temptrue|falsefalseSuperadd._tempAlthough this attribute is never persisted to foxyproxy.xml, it is worth mentioning. If this value is true, then this Match object isn't persisted to foxyproxy.xml. In this way, users can specify patterns that don't survive browser restarts ("one-time" patterns).
Node NameJavaScript ClassLocationPurpose
randomfoxyproxy.randomcomponents/foxyproxy.jsExperimental. Reserved for future use. Not currently used.