summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/btr/proxy/search/browser
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/btr/proxy/search/browser')
-rw-r--r--src/main/java/com/btr/proxy/search/browser/firefox/FirefoxProxySearchStrategy.java30
-rw-r--r--src/main/java/com/btr/proxy/search/browser/ie/IEProxySearchStrategy.java4
2 files changed, 19 insertions, 15 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));
}
}
diff --git a/src/main/java/com/btr/proxy/search/browser/ie/IEProxySearchStrategy.java b/src/main/java/com/btr/proxy/search/browser/ie/IEProxySearchStrategy.java
index 1a85495..6641aff 100644
--- a/src/main/java/com/btr/proxy/search/browser/ie/IEProxySearchStrategy.java
+++ b/src/main/java/com/btr/proxy/search/browser/ie/IEProxySearchStrategy.java
@@ -2,6 +2,7 @@ package com.btr.proxy.search.browser.ie;
import java.io.ByteArrayInputStream;
import java.io.IOException;
+import java.net.Proxy;
import java.net.ProxySelector;
import java.util.ArrayList;
import java.util.List;
@@ -179,7 +180,8 @@ public class IEProxySearchStrategy implements ProxySearchStrategy {
private void addSelectorForProtocol(Properties settings, String protocol, ProtocolDispatchSelector ps) {
String proxy = settings.getProperty(protocol);
if (proxy != null) {
- FixedProxySelector protocolSelector = ProxyUtil.parseProxySettings(proxy);
+ Proxy.Type fb = protocol.startsWith("socks") ? Proxy.Type.SOCKS : Proxy.Type.HTTP;
+ ProxySelector protocolSelector = ProxyUtil.parseProxySettings(proxy, fb, 0);
ps.setSelector(protocol, protocolSelector);
}
}