summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/btr/proxy/search
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/btr/proxy/search')
-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
-rw-r--r--src/main/java/com/btr/proxy/search/desktop/gnome/GnomeProxySearchStrategy.java23
-rw-r--r--src/main/java/com/btr/proxy/search/desktop/kde/KdeProxySearchStrategy.java6
-rw-r--r--src/main/java/com/btr/proxy/search/desktop/osx/OsxProxySearchStrategy.java7
-rw-r--r--src/main/java/com/btr/proxy/search/java/JavaProxySearchStrategy.java6
6 files changed, 40 insertions, 36 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);
}
}
diff --git a/src/main/java/com/btr/proxy/search/desktop/gnome/GnomeProxySearchStrategy.java b/src/main/java/com/btr/proxy/search/desktop/gnome/GnomeProxySearchStrategy.java
index 240fb39..10d237a 100644
--- a/src/main/java/com/btr/proxy/search/desktop/gnome/GnomeProxySearchStrategy.java
+++ b/src/main/java/com/btr/proxy/search/desktop/gnome/GnomeProxySearchStrategy.java
@@ -2,6 +2,7 @@ package com.btr.proxy.search.desktop.gnome;
import java.io.File;
import java.io.IOException;
+import java.net.Proxy;
import java.net.ProxySelector;
import java.util.Properties;
@@ -17,14 +18,13 @@ import org.xml.sax.SAXException;
import com.btr.proxy.search.ProxySearchStrategy;
import com.btr.proxy.selector.direct.NoProxySelector;
-import com.btr.proxy.selector.fixed.FixedProxySelector;
import com.btr.proxy.selector.misc.ProtocolDispatchSelector;
import com.btr.proxy.selector.whitelist.ProxyBypassListSelector;
import com.btr.proxy.util.EmptyXMLResolver;
import com.btr.proxy.util.Logger;
+import com.btr.proxy.util.Logger.LogLevel;
import com.btr.proxy.util.ProxyException;
import com.btr.proxy.util.ProxyUtil;
-import com.btr.proxy.util.Logger.LogLevel;
/*****************************************************************************
* Loads the Gnome proxy settings from the Gnome GConf settings.
@@ -219,9 +219,9 @@ public class GnomeProxySearchStrategy implements ProxySearchStrategy {
ProtocolDispatchSelector ps) throws NumberFormatException {
String proxyHost = settings.getProperty("/system/http_proxy/host", null);
int proxyPort = Integer.parseInt(settings.getProperty("/system/http_proxy/port", "0").trim());
- if (proxyHost != null && proxyHost.length() > 0 && proxyPort > 0) {
+ if (proxyHost != null && proxyHost.length() > 0) {
Logger.log(getClass(), LogLevel.TRACE, "Gnome http proxy is {0}:{1}", proxyHost, proxyPort);
- ps.setSelector("http", new FixedProxySelector(proxyHost.trim(), proxyPort));
+ ps.setSelector("http", ProxyUtil.parseProxySettings(proxyHost.trim(), Proxy.Type.HTTP, proxyPort));
}
}
@@ -236,9 +236,9 @@ public class GnomeProxySearchStrategy implements ProxySearchStrategy {
ProtocolDispatchSelector ps) throws NumberFormatException {
String proxyHost = settings.getProperty("/system/proxy/socks_host", null);
int proxyPort = Integer.parseInt(settings.getProperty("/system/proxy/socks_port", "0").trim());
- if (proxyHost != null && proxyHost.length() > 0 && proxyPort > 0) {
+ if (proxyHost != null && proxyHost.length() > 0) {
Logger.log(getClass(), LogLevel.TRACE, "Gnome socks proxy is {0}:{1}", proxyHost, proxyPort);
- ps.setSelector("socks", new FixedProxySelector(proxyHost.trim(), proxyPort));
+ ps.setSelector("socks", ProxyUtil.parseProxySettings(proxyHost.trim(), Proxy.Type.SOCKS, proxyPort));
}
}
@@ -252,9 +252,9 @@ public class GnomeProxySearchStrategy implements ProxySearchStrategy {
ProtocolDispatchSelector ps) throws NumberFormatException {
String proxyHost = settings.getProperty("/system/proxy/ftp_host", null);
int proxyPort = Integer.parseInt(settings.getProperty("/system/proxy/ftp_port", "0").trim());
- if (proxyHost != null && proxyHost.length() > 0 && proxyPort > 0) {
+ if (proxyHost != null && proxyHost.length() > 0) {
Logger.log(getClass(), LogLevel.TRACE, "Gnome ftp proxy is {0}:{1}", proxyHost, proxyPort);
- ps.setSelector("ftp", new FixedProxySelector(proxyHost.trim(), proxyPort));
+ ps.setSelector("ftp", ProxyUtil.parseProxySettings(proxyHost.trim(), Proxy.Type.HTTP, proxyPort));
}
}
@@ -269,10 +269,11 @@ public class GnomeProxySearchStrategy implements ProxySearchStrategy {
ProtocolDispatchSelector ps) throws NumberFormatException {
String proxyHost = settings.getProperty("/system/proxy/secure_host", null);
int proxyPort = Integer.parseInt(settings.getProperty("/system/proxy/secure_port", "0").trim());
- if (proxyHost != null && proxyHost.length() > 0 && proxyPort > 0) {
+ if (proxyHost != null && proxyHost.length() > 0) {
Logger.log(getClass(), LogLevel.TRACE, "Gnome secure proxy is {0}:{1}", proxyHost, proxyPort);
- ps.setSelector("https", new FixedProxySelector(proxyHost.trim(), proxyPort));
- ps.setSelector("sftp", new FixedProxySelector(proxyHost.trim(), proxyPort));
+ ProxySelector ps2 = ProxyUtil.parseProxySettings(proxyHost.trim(), Proxy.Type.HTTP, proxyPort);
+ ps.setSelector("https", ps2);
+ ps.setSelector("sftp", ps2);
}
}
diff --git a/src/main/java/com/btr/proxy/search/desktop/kde/KdeProxySearchStrategy.java b/src/main/java/com/btr/proxy/search/desktop/kde/KdeProxySearchStrategy.java
index e05d72e..de81c4c 100644
--- a/src/main/java/com/btr/proxy/search/desktop/kde/KdeProxySearchStrategy.java
+++ b/src/main/java/com/btr/proxy/search/desktop/kde/KdeProxySearchStrategy.java
@@ -154,7 +154,7 @@ public class KdeProxySearchStrategy implements ProxySearchStrategy {
private ProxySelector setupFixedProxySelector(Properties settings) {
String proxyVar = settings.getProperty("httpProxy", null);
- FixedProxySelector httpPS = ProxyUtil.parseProxySettings(proxyVar);
+ ProxySelector httpPS = ProxyUtil.parseProxySettings(proxyVar);
if (httpPS == null) {
Logger.log(getClass(), LogLevel.TRACE, "Kde http proxy is {0}", proxyVar);
return null;
@@ -164,14 +164,14 @@ public class KdeProxySearchStrategy implements ProxySearchStrategy {
ps.setSelector("http", httpPS);
proxyVar = settings.getProperty("httpsProxy", null);
- FixedProxySelector httpsPS = ProxyUtil.parseProxySettings(proxyVar);
+ ProxySelector httpsPS = ProxyUtil.parseProxySettings(proxyVar);
if (httpsPS != null) {
Logger.log(getClass(), LogLevel.TRACE, "Kde https proxy is {0}", proxyVar);
ps.setSelector("https", httpsPS);
}
proxyVar = settings.getProperty("ftpProxy", null);
- FixedProxySelector ftpPS = ProxyUtil.parseProxySettings(proxyVar);
+ ProxySelector ftpPS = ProxyUtil.parseProxySettings(proxyVar);
if (ftpPS != null) {
Logger.log(getClass(), LogLevel.TRACE, "Kde ftp proxy is {0}", proxyVar);
ps.setSelector("ftp", ftpPS);
diff --git a/src/main/java/com/btr/proxy/search/desktop/osx/OsxProxySearchStrategy.java b/src/main/java/com/btr/proxy/search/desktop/osx/OsxProxySearchStrategy.java
index 3d67ae7..71d7a8f 100644
--- a/src/main/java/com/btr/proxy/search/desktop/osx/OsxProxySearchStrategy.java
+++ b/src/main/java/com/btr/proxy/search/desktop/osx/OsxProxySearchStrategy.java
@@ -3,6 +3,7 @@ package com.btr.proxy.search.desktop.osx;
import java.io.File;
import java.io.IOException;
import java.net.NetworkInterface;
+import java.net.Proxy;
import java.net.ProxySelector;
import java.net.SocketException;
import java.util.ArrayList;
@@ -14,8 +15,6 @@ import com.btr.proxy.search.ProxySearchStrategy;
import com.btr.proxy.search.browser.ie.IELocalByPassFilter;
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;
@@ -288,7 +287,7 @@ public class OsxProxySearchStrategy implements ProxySearchStrategy {
if (isActive(proxySettings.get("SOCKSEnable"))) {
String proxyHost = (String) proxySettings.get("SOCKSProxy");
int proxyPort = (Integer) proxySettings.get("SOCKSPort");
- ps.setSelector("socks", new FixedSocksSelector(proxyHost, proxyPort));
+ ps.setSelector("socks", ProxyUtil.parseProxySettings(proxyHost.trim(), Proxy.Type.SOCKS, proxyPort));
Logger.log(getClass(), LogLevel.TRACE, "OSX socks proxy is {0}:{1}", proxyHost, proxyPort);
}
}
@@ -306,7 +305,7 @@ public class OsxProxySearchStrategy implements ProxySearchStrategy {
if (isActive(proxySettings.get(prefix+"Enable"))) {
String proxyHost = (String) proxySettings.get(prefix+"Proxy");
int proxyPort = (Integer) proxySettings.get(prefix+"Port");
- FixedProxySelector fp = new FixedProxySelector(proxyHost, proxyPort);
+ ProxySelector fp = ProxyUtil.parseProxySettings(proxyHost.trim(), Proxy.Type.HTTP, proxyPort);
ps.setSelector(protocol.toLowerCase(), fp);
Logger.log(getClass(), LogLevel.TRACE, "OSX uses for {0} the proxy {1}:{2}", protocol, proxyHost, proxyPort);
}
diff --git a/src/main/java/com/btr/proxy/search/java/JavaProxySearchStrategy.java b/src/main/java/com/btr/proxy/search/java/JavaProxySearchStrategy.java
index 531ef94..f1853b7 100644
--- a/src/main/java/com/btr/proxy/search/java/JavaProxySearchStrategy.java
+++ b/src/main/java/com/btr/proxy/search/java/JavaProxySearchStrategy.java
@@ -1,10 +1,10 @@
package com.btr.proxy.search.java;
+import java.net.Proxy;
import java.net.ProxySelector;
import com.btr.proxy.search.ProxySearchStrategy;
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;
@@ -96,7 +96,7 @@ public class JavaProxySearchStrategy implements ProxySearchStrategy {
String port = System.getProperty("socksProxyPort", "1080");
if (host != null && host.trim().length() > 0) {
Logger.log(getClass(), LogLevel.TRACE, "Socks proxy {0}:{1} found", host, port);
- ps.setSelector("socks", new FixedSocksSelector(host, Integer.parseInt(port)));
+ ps.setSelector("socks", new FixedProxySelector(Proxy.Type.SOCKS, host, Integer.parseInt(port)));
}
}
@@ -122,7 +122,7 @@ public class JavaProxySearchStrategy implements ProxySearchStrategy {
Logger.log(getClass(), LogLevel.TRACE, protocol.toUpperCase()+" proxy {0}:{1} found using whitelist: {2}", host, port, whiteList);
- ProxySelector protocolSelector = new FixedProxySelector(host, Integer.parseInt(port));
+ ProxySelector protocolSelector = new FixedProxySelector(Proxy.Type.HTTP, host, Integer.parseInt(port));
if (whiteList.trim().length() > 0) {
protocolSelector = new ProxyBypassListSelector(whiteList, protocolSelector);
}