diff options
author | Simon Rettberg | 2017-08-01 15:45:48 +0200 |
---|---|---|
committer | Simon Rettberg | 2017-08-01 15:45:48 +0200 |
commit | df53b12c42252be8ffe9aa1eb1a9adf3002f1545 (patch) | |
tree | f4121df496411a251edaaaa8c9550b46abc00f56 /src/main/java/com/btr/proxy/selector/misc/ProtocolDispatchSelector.java | |
parent | Minor tweaks (diff) | |
download | proxy-vole-df53b12c42252be8ffe9aa1eb1a9adf3002f1545.tar.gz proxy-vole-df53b12c42252be8ffe9aa1eb1a9adf3002f1545.tar.xz proxy-vole-df53b12c42252be8ffe9aa1eb1a9adf3002f1545.zip |
Make proxy type detection more intelligent, decouple from target protocol
Diffstat (limited to 'src/main/java/com/btr/proxy/selector/misc/ProtocolDispatchSelector.java')
-rw-r--r-- | src/main/java/com/btr/proxy/selector/misc/ProtocolDispatchSelector.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/com/btr/proxy/selector/misc/ProtocolDispatchSelector.java b/src/main/java/com/btr/proxy/selector/misc/ProtocolDispatchSelector.java index 5d7f563..02ecc44 100644 --- a/src/main/java/com/btr/proxy/selector/misc/ProtocolDispatchSelector.java +++ b/src/main/java/com/btr/proxy/selector/misc/ProtocolDispatchSelector.java @@ -104,11 +104,18 @@ public class ProtocolDispatchSelector extends ProxySelector { @Override public List<Proxy> select(URI uri) { - ProxySelector selector = this.fallbackSelector; + ProxySelector selector = null; String protocol = uri.getScheme(); if (protocol != null && this.selectors.get(protocol) != null) { selector = this.selectors.get(protocol); } + if (selector == null && this.selectors.get("socks") != null) { + // Socks should always work + selector = this.selectors.get("socks"); + } + if (selector == null) { + selector = this.fallbackSelector; + } return selector.select(uri); } |