summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/btr/proxy/search/browser/firefox/FirefoxProxySearchStrategy.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/btr/proxy/search/browser/firefox/FirefoxProxySearchStrategy.java')
-rw-r--r--src/main/java/com/btr/proxy/search/browser/firefox/FirefoxProxySearchStrategy.java30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/main/java/com/btr/proxy/search/browser/firefox/FirefoxProxySearchStrategy.java b/src/main/java/com/btr/proxy/search/browser/firefox/FirefoxProxySearchStrategy.java
index 30c3be1..de576e4 100644
--- a/src/main/java/com/btr/proxy/search/browser/firefox/FirefoxProxySearchStrategy.java
+++ b/src/main/java/com/btr/proxy/search/browser/firefox/FirefoxProxySearchStrategy.java
@@ -1,6 +1,7 @@
package com.btr.proxy.search.browser.firefox;
import java.io.IOException;
+import java.net.Proxy;
import java.net.ProxySelector;
import java.util.Properties;
@@ -8,8 +9,6 @@ import com.btr.proxy.search.ProxySearchStrategy;
import com.btr.proxy.search.desktop.DesktopProxySearchStrategy;
import com.btr.proxy.search.wpad.WpadProxySearchStrategy;
import com.btr.proxy.selector.direct.NoProxySelector;
-import com.btr.proxy.selector.fixed.FixedProxySelector;
-import com.btr.proxy.selector.fixed.FixedSocksSelector;
import com.btr.proxy.selector.misc.ProtocolDispatchSelector;
import com.btr.proxy.selector.whitelist.ProxyBypassListSelector;
import com.btr.proxy.util.Logger;
@@ -204,9 +203,16 @@ public class FirefoxProxySearchStrategy implements ProxySearchStrategy {
************************************************************************/
private void installSharedProxy(ProtocolDispatchSelector ps) {
- ProxySelector httpProxy = ps.getSelector("http");
+ ProxySelector httpProxy;
+ httpProxy = ps.getSelector("socks");
if (httpProxy != null) {
ps.setFallbackSelector(httpProxy);
+ return;
+ }
+ httpProxy = ps.getSelector("http");
+ if (httpProxy != null) {
+ ps.setFallbackSelector(httpProxy);
+ return;
}
}
@@ -218,12 +224,7 @@ public class FirefoxProxySearchStrategy implements ProxySearchStrategy {
private void installSocksProxy(ProtocolDispatchSelector ps,
Properties settings) throws NumberFormatException {
- String proxyHost = settings.getProperty("network.proxy.socks", null);
- int proxyPort = Integer.parseInt(settings.getProperty("network.proxy.socks_port", "0"));
- if (proxyHost != null && proxyPort != 0) {
- Logger.log(getClass(), LogLevel.TRACE, "Firefox socks proxy is {0}:{1}", proxyHost, proxyPort);
- ps.setSelector("socks", new FixedSocksSelector(proxyHost, proxyPort));
- }
+ installSelectorForProtocol(ps, settings, "socks");
}
/*************************************************************************
@@ -236,10 +237,11 @@ public class FirefoxProxySearchStrategy implements ProxySearchStrategy {
Properties settings) throws NumberFormatException {
String proxyHost = settings.getProperty("network.proxy.ssl", null);
int proxyPort = Integer.parseInt(settings.getProperty("network.proxy.ssl_port", "0"));
- if (proxyHost != null && proxyPort != 0) {
+ if (proxyHost != null) {
Logger.log(getClass(), LogLevel.TRACE, "Firefox secure proxy is {0}:{1}", proxyHost, proxyPort);
- ps.setSelector("https", new FixedProxySelector(proxyHost, proxyPort));
- ps.setSelector("sftp", new FixedProxySelector(proxyHost, proxyPort));
+ ProxySelector p = ProxyUtil.parseProxySettings(proxyHost, Proxy.Type.HTTP, proxyPort);
+ ps.setSelector("https", p);
+ ps.setSelector("sftp", p);
}
}
@@ -257,9 +259,9 @@ public class FirefoxProxySearchStrategy implements ProxySearchStrategy {
String proxyHost = settings.getProperty("network.proxy."+protocol, null);
int proxyPort = Integer.parseInt(settings.getProperty("network.proxy."+protocol+"_port", "0"));
- if (proxyHost != null && proxyPort != 0) {
+ if (proxyHost != null) {
Logger.log(getClass(), LogLevel.TRACE, "Firefox "+protocol+" proxy is {0}:{1}", proxyHost, proxyPort);
- ps.setSelector(protocol, new FixedProxySelector(proxyHost, proxyPort));
+ ps.setSelector(protocol, ProxyUtil.parseProxySettings(proxyHost, Proxy.Type.HTTP, proxyPort));
}
}