Support SOCKS5 protocol for replication
Using "socks5" as the protocol in the "proxy" parameter of replication
requests will cause DNS resolution and data transfer to happen via a
SOCKS5 proxy server.
COUCHDB-2025
diff --git a/src/couch_replicator_utils.erl b/src/couch_replicator_utils.erl
index 240d7d4..99ddebf 100644
--- a/src/couch_replicator_utils.erl
+++ b/src/couch_replicator_utils.erl
@@ -300,9 +300,10 @@
host = Host,
port = Port,
username = User,
- password = Passwd
+ password = Passwd,
+ protocol = Protocol
} = ibrowse_lib:parse_url(ProxyUrl),
- [{proxy_host, Host}, {proxy_port, Port}] ++
+ [{proxy_protocol, Protocol}, {proxy_host, Host}, {proxy_port, Port}] ++
case is_list(User) andalso is_list(Passwd) of
false ->
[];