A container of ProxyConfig objects. It is used to add, edit, and delete one or more of them. This is a singleton.
| Name | Type | Description | Since | Requires |
|---|---|---|---|---|
| length | Integer | Gets the number of ProxyConfig objects. | Basic: 2.6 Standard: 3.6 Plus: 4.6 | Gecko 2+ (Firefox 4+, Thunderbird 3.3+, SeaMonkey 2.1+) |
if (typeof(FoxyProxy) == "undefined")
alert("Please install FoxyProxy Basic 2.6+, Standard 3.6+, or Plus 4.6+");
else if (FoxyProxy.apiDisabled)
alert("I cannot inspect FoxyProxy because the FoxyProxy API is disabled on your system.");
else {
FoxyProxy.getProxyConfigs({
success: function(proxyConfigs) {
alert("There are " + proxyConfigs.length + " proxy configurations");
},
error: function(msg) {
alert("Error: " + msg);
},
rejected: function rejectedByUser() {
alert("Please allow me to read/write FoxyProxy settings. Please try again and click the 'Allow' button.");
}
});
| Name | Description | Since | Requires |
|---|---|---|---|
| ProxyConfig createProxyConfig() | Creates and return a new ProxyConfig with smart defaults. After creating a ProxyConfig, manipulate its properties and then pass it to addProxyConfig() to add it to the current list of proxies. | Basic: 2.6 Standard: 3.6 Plus: 4.6 | Gecko 2+ (Firefox 4+, Thunderbird 3.3+, SeaMonkey 2.1+) |
if (typeof(FoxyProxy) == "undefined")
alert("Please install FoxyProxy Basic 2.6+, Standard 3.6+, or Plus 4.6+");
else if (FoxyProxy.apiDisabled)
alert("I cannot inspect FoxyProxy because the FoxyProxy API is disabled on your system.");
else
FoxyProxy.getProxyConfigs({
success: function(pc) {
// User agreed to let us change his settings.
// Create new ProxyConfig
var p = pc.createProxyConfig();
// Set some values on it
p.name = "Local Proxy";
p.notes = "My Local Proxy Server;
p.color = "#00FF00"; // green
p.manualConfig.host = "192.168.1.1";
p.manualConfig.port = "1010";
p.mode = "manual";
// Add it to FoxyProxy
if (pc.addProxyConfig(p, idx))
alert("Success");
else
alert("Unable to add ProxyConfig");
},
error: function(msg) {
alert("Error: " + msg);
},
rejected: function rejectedByUser() {
// User didn't allow us to make changes to FoxyProxy
alert("Please allow me to add a new proxy to FoxyProxy. Please try again and click the 'Allow' button.");
}
});
| Name | Description | Since | Requires |
|---|---|---|---|
| boolean addProxyConfig(proxyConfig, index) | Adds the specified ProxyConfig to the list of proxies. If index is not specified, the ProxyConfig is added to the top/front of the list (index 0). Otherwise, it is added at the specified zero-based index. index can also be one of the following words: first (index 0), last (number of proxies - 1), or random. If random, the proxy is added to the list of proxies at a random index. If index is neither a number nor one of those words, 0 is assumed.true is returned if the proxy is successfully added; false otherwise. For example, passing an index out-of-bounds would yield a false return.An "empty" ProxyConfig can be created using createProxyConfig(). Create the ProxyConfig, manipulate its properties, then call this function to add it to the list of ProxyConfigs. | Basic: 2.6 Standard: 3.6 Plus: 4.6 | Gecko 2+ (Firefox 4+, Thunderbird 3.3+, SeaMonkey 2.1+) |
if (typeof(FoxyProxy) == "undefined")
alert("Please install FoxyProxy Basic 2.6+, Standard 3.6+, or Plus 4.6+");
else if (FoxyProxy.apiDisabled)
alert("I cannot inspect FoxyProxy because the FoxyProxy API is disabled on your system.");
else
FoxyProxy.getProxyConfigs({
success: function(pc) {
// User agreed to let us change his settings.
// Create new ProxyConfig
var p = pc.createProxyConfig();
// Set some values on it
p.name = "Local Proxy";
p.notes = "My Local Proxy Server;
p.color = "#00FF00"; // green
p.manualConfig.host = "192.168.1.1";
p.manualConfig.port = "1010";
p.mode = "manual";
// Add it to FoxyProxy
if (pc.addProxyConfig(p, idx))
alert("Success");
else
alert("Unable to add ProxyConfig");
},
error: function(msg) {
alert("Error: " + msg);
},
rejected: function rejectedByUser() {
// User didn't allow us to make changes to FoxyProxy
alert("Please allow me to add a new proxy to FoxyProxy. Please try again and click the 'Allow' button.");
}
});
| Name | Description | Since | Requires |
|---|---|---|---|
| ProxyConfig[] getAll() | Returns an array of all ProxyConfig objects. The properties of each array element can be changed. Changes take immediate affect. Adding/removing items to/from the array has no effect. Use addProxyConfig() and deleteById() for those behaviors. | Basic: 2.6 Standard: 3.6 Plus: 4.6 | Gecko 2+ (Firefox 4+, Thunderbird 3.3+, SeaMonkey 2.1+) |
if (typeof(FoxyProxy) == "undefined")
alert("Please install FoxyProxy Basic 2.6+, Standard 3.6+, or Plus 4.6+");
else if (FoxyProxy.apiDisabled)
alert("I cannot inspect FoxyProxy because the FoxyProxy API is disabled on your system.");
else
FoxyProxy.getProxyConfigs({
success: function(pc) {
// User agreed to let us change his settings.
// Get all ProxyConfig objects
var pcArray = pc.getAll();
// Change the port of the first one. There is *always* a proxyConfig at index 0.
pcArray[0].manualConfig.port = "9090";
alert("Changed port of proxy '" + pcArray[0].name + "' to 9090");
},
error: function(msg) {
alert("Error: " + msg);
},
rejected: function rejectedByUser() {
// User didn't allow us to make changes to FoxyProxy
alert("Please allow me to add a new proxy to FoxyProxy. Please try again and click the 'Allow' button.");
}
});
| Name | Description | Since | Requires |
|---|---|---|---|
| ProxyConfig getById(id) | Every ProxyConfig object has a unique id. This function gets the ProxyConfig with the specified id, or null if no such ProxyConfig exists. The properties of the returned ProxyConfig can be changed. Changes take immediate affect. This function is useful if you already know the id of the ProxyConfig to edit. | Basic: 2.6 Standard: 3.6 Plus: 4.6 | Gecko 2+ (Firefox 4+, Thunderbird 3.3+, SeaMonkey 2.1+) |
if (typeof(FoxyProxy) == "undefined")
alert("Please install FoxyProxy Basic 2.6+, Standard 3.6+, or Plus 4.6+");
else if (FoxyProxy.apiDisabled)
alert("I cannot inspect FoxyProxy because the FoxyProxy API is disabled on your system.");
else
FoxyProxy.getProxyConfigs({
success: function(pc) {
// User agreed to let us change his settings.
// Get the ProxyConfig object with id 1878135280
var pc = pc.getById("1878135280");
if (pc) {
// Change the PAC URL
pc.autoConfig.url = "https://mydomain.com/proxy.pac";
alert("Changed PAC URL of proxy '" + pc.name + "' to https://mydomain.com/proxy.pac");
}
else
alert("There is no proxy configuration with id 1878135280");
},
error: function(msg) {
alert("Error: " + msg);
},
rejected: function rejectedByUser() {
// User didn't allow us to make changes to FoxyProxy
alert("Please allow me to add a new proxy to FoxyProxy. Please try again and click the 'Allow' button.");
}
});
| Name | Description | Since | Requires |
|---|---|---|---|
| ProxyConfig getByIndex(idx) | This function gets the ProxyConfig at the specified zero-based index, or null if no such ProxyConfig exists. The properties of the returned ProxyConfig can be changed. Changes take immediate affect. This function is useful if the index of the ProxyConfig to edit is already known. | Basic: 2.6 Standard: 3.6 Plus: 4.6 | Gecko 2+ (Firefox 4+, Thunderbird 3.3+, SeaMonkey 2.1+) |
if (typeof(FoxyProxy) == "undefined")
alert("Please install FoxyProxy Basic 2.6+, Standard 3.6+, or Plus 4.6+");
else if (FoxyProxy.apiDisabled)
alert("I cannot inspect FoxyProxy because the FoxyProxy API is disabled on your system.");
else
FoxyProxy.getProxyConfigs({
success: function(pc) {
// User agreed to let us change his settings.
// Get the ProxyConfig object at 3rd position
var pc = pc.getByIndex(2); // zero-based
if (pc) {
// Change the PAC URL
pc.autoConfig.url = "https://mydomain.com/proxy.pac";
alert("Changed PAC URL of proxy '" + pc.name + "' to https://mydomain.com/proxy.pac");
}
else
alert("There is no proxy configuration at the 3rd position");
},
error: function(msg) {
alert("Error: " + msg);
},
rejected: function rejectedByUser() {
// User didn't allow us to make changes to FoxyProxy
alert("Please allow me to add a new proxy to FoxyProxy. Please try again and click the 'Allow' button.");
}
});