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.java9
-rw-r--r--src/main/java/com/btr/proxy/search/browser/ie/IEProxySearchStrategy.java20
2 files changed, 25 insertions, 4 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 de576e4..228bc8c 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
@@ -260,8 +260,15 @@ 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) {
+ Proxy.Type type;
+ if (protocol.startsWith("socks")) {
+ type = Proxy.Type.SOCKS;
+ protocol = "socket";
+ } else {
+ type = Proxy.Type.HTTP;
+ }
Logger.log(getClass(), LogLevel.TRACE, "Firefox "+protocol+" proxy is {0}:{1}", proxyHost, proxyPort);
- ps.setSelector(protocol, ProxyUtil.parseProxySettings(proxyHost, Proxy.Type.HTTP, proxyPort));
+ ps.setSelector(protocol, ProxyUtil.parseProxySettings(proxyHost, type, 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 6641aff..dd062cd 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
@@ -165,7 +165,15 @@ public class IEProxySearchStrategy implements ProxySearchStrategy {
private void addFallbackSelector(Properties settings, ProtocolDispatchSelector ps) {
String proxy = settings.getProperty("default");
if (proxy != null) {
- ps.setFallbackSelector(ProxyUtil.parseProxySettings(proxy));
+ Proxy defaultProxy = ProxyUtil.parseProxyString(proxy, Proxy.Type.HTTP, 0);
+ if (defaultProxy.type() == Proxy.Type.SOCKS) {
+ ps.setSelector("socket", new FixedProxySelector(defaultProxy));
+ return;
+ }
+ FixedProxySelector fp = new FixedProxySelector(defaultProxy);
+ ps.setSelector("http", fp);
+ ps.setSelector("https", fp);
+ ps.setSelector("ftp", fp);
}
}
@@ -180,8 +188,14 @@ public class IEProxySearchStrategy implements ProxySearchStrategy {
private void addSelectorForProtocol(Properties settings, String protocol, ProtocolDispatchSelector ps) {
String proxy = settings.getProperty(protocol);
if (proxy != null) {
- Proxy.Type fb = protocol.startsWith("socks") ? Proxy.Type.SOCKS : Proxy.Type.HTTP;
- ProxySelector protocolSelector = ProxyUtil.parseProxySettings(proxy, fb, 0);
+ Proxy.Type type;
+ if (protocol.startsWith("socks")) {
+ type = Proxy.Type.SOCKS;
+ protocol = "socket";
+ } else {
+ type = Proxy.Type.HTTP;
+ }
+ ProxySelector protocolSelector = ProxyUtil.parseProxySettings(proxy, type, 0);
ps.setSelector(protocol, protocolSelector);
}
}