diff options
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); } |