diff options
Diffstat (limited to 'src/main/java/com/btr/proxy/search')
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); } |