diff options
author | Simon Rettberg | 2017-08-09 16:36:25 +0200 |
---|---|---|
committer | Simon Rettberg | 2017-08-09 16:36:25 +0200 |
commit | 90349ff2bf27a81ef7412f15b22769ff6ca6bd6e (patch) | |
tree | f518e1d90917377039017078359f6d2574d224cb /src/main/java/com/btr/proxy/util/ProxyUtil.java | |
parent | Rewrite proxy string parsing, regex was a bit wonky (diff) | |
download | proxy-vole-90349ff2bf27a81ef7412f15b22769ff6ca6bd6e.tar.gz proxy-vole-90349ff2bf27a81ef7412f15b22769ff6ca6bd6e.tar.xz proxy-vole-90349ff2bf27a81ef7412f15b22769ff6ca6bd6e.zip |
Sophisticate proxy parsing and generating, fix misinterpretation if SOCKS proxies
This is a quick and dirty fix; it seems a major redesign is appropriate.
We should also switch to some maintained version of proxy-vole from github.
This one looks halfway active:
https://github.com/MarkusBernhardt/proxy-vole
or maybe one of its forks...
Diffstat (limited to 'src/main/java/com/btr/proxy/util/ProxyUtil.java')
-rw-r--r-- | src/main/java/com/btr/proxy/util/ProxyUtil.java | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/main/java/com/btr/proxy/util/ProxyUtil.java b/src/main/java/com/btr/proxy/util/ProxyUtil.java index 97f2af2..bfb3f70 100644 --- a/src/main/java/com/btr/proxy/util/ProxyUtil.java +++ b/src/main/java/com/btr/proxy/util/ProxyUtil.java @@ -1,7 +1,7 @@ package com.btr.proxy.util; +import java.net.InetSocketAddress; import java.net.Proxy; -import java.net.ProxySelector; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -34,11 +34,18 @@ public class ProxyUtil { * @return a FixedProxySelector using this settings, null on parse error. ************************************************************************/ - public static ProxySelector parseProxySettings(String proxyVar) { + public static FixedProxySelector parseProxySettings(String proxyVar) { return parseProxySettings(proxyVar, Proxy.Type.HTTP, 0); } - public static ProxySelector parseProxySettings(String proxyVar, Proxy.Type fallback, int fallbackPort) { + public static FixedProxySelector parseProxySettings(String proxyVar, Proxy.Type fallback, int fallbackPort) { + Proxy proxy = parseProxyString(proxyVar, fallback, fallbackPort); + if (proxy == null) + return null; + return new FixedProxySelector(proxy); + } + + public static Proxy parseProxyString(String proxyVar, Proxy.Type fallback, int fallbackPort) { if (proxyVar == null || proxyVar.trim().length() == 0) { return null; } @@ -84,7 +91,7 @@ public class ProxyUtil { port = DEFAULT_SOCKS_PROXY_PORT; } } - return new FixedProxySelector(type, host.trim(), port); + return new Proxy(type, InetSocketAddress.createUnresolved(host.trim(), port)); } /************************************************************************* |