Files

57 lines
1.6 KiB
C#

using System;
using Shadowsocks.Model;
using Shadowsocks.Util.SystemProxy;
namespace Shadowsocks.Controller
{
public static class SystemProxy
{
private static string GetTimestamp(DateTime value)
{
return value.ToString("yyyyMMddHHmmssfff");
}
public static void Update(Configuration config, bool forceDisable, PACServer pacSrv)
{
bool global = config.global;
bool enabled = config.enabled;
if (forceDisable)
{
enabled = false;
}
try
{
if (enabled)
{
if (global)
{
Sysproxy.SetIEProxy(true, true, "127.0.0.1:" + config.localPort.ToString(), null);
}
else
{
string pacUrl;
if (config.useOnlinePac && !config.pacUrl.IsNullOrEmpty())
{
pacUrl = config.pacUrl;
}
else
{
pacUrl = pacSrv.PacUrl;
}
Sysproxy.SetIEProxy(true, false, null, pacUrl);
}
}
else
{
Sysproxy.SetIEProxy(false, false, null, null);
}
}
catch (ProxyException ex)
{
Logging.LogUsefulException(ex);
}
}
}
}