Add HTTP proxy support in forward proxy (#745)

* Add HTTP proxy support in forward proxy

Signed-off-by: noisyfox <timemanager.rick@gmail.com>

* Typo

* Throw exception if forward proxy not supported.
This commit is contained in:
Noisyfox
2016-09-24 23:37:24 -05:00
committed by Syrone Wong
parent 156b3acd9b
commit 35fc73b58b
13 changed files with 532 additions and 23 deletions
@@ -420,7 +420,17 @@ namespace Shadowsocks.Controller
EndPoint proxyEP;
if (_config.proxy.useProxy)
{
remote = new Socks5Proxy();
switch (_config.proxy.proxyType)
{
case ProxyConfig.PROXY_SOCKS5:
remote = new Socks5Proxy();
break;
case ProxyConfig.PROXY_HTTP:
remote = new HttpProxy();
break;
default:
throw new NotSupportedException("Unknown forward proxy.");
}
proxyEP = SocketUtil.GetEndPoint(_config.proxy.proxyServer, _config.proxy.proxyPort);
}
else
@@ -221,9 +221,10 @@ namespace Shadowsocks.Controller
SaveConfig(_config);
}
public void EnableProxy(string proxy, int port)
public void EnableProxy(int type, string proxy, int port)
{
_config.proxy.useProxy = true;
_config.proxy.proxyType = type;
_config.proxy.proxyServer = proxy;
_config.proxy.proxyPort = port;
SaveConfig(_config);