summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/btr/proxy/util/ProxyUtil.java
diff options
context:
space:
mode:
authorSimon Rettberg2017-08-09 16:36:25 +0200
committerSimon Rettberg2017-08-09 16:36:25 +0200
commit90349ff2bf27a81ef7412f15b22769ff6ca6bd6e (patch)
treef518e1d90917377039017078359f6d2574d224cb /src/main/java/com/btr/proxy/util/ProxyUtil.java
parentRewrite proxy string parsing, regex was a bit wonky (diff)
downloadproxy-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.java15
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));
}
/*************************************************************************