fix: SSDLL flag

fix: let Trojan don't use AutoresolveHostname setting
This commit is contained in:
ChsBuffer
2020-10-29 16:30:21 +08:00
parent 159fbdd58d
commit 902f78b563
2 changed files with 5 additions and 4 deletions

View File

@@ -16,13 +16,15 @@ namespace Netch.Servers.Shadowsocks
public string LocalAddress { get; set; }
private Mode _savedMode;
public bool DllFlag => Global.Settings.BootShadowsocksFromDLL && (_savedMode.Type == 0 || _savedMode.Type == 1 || _savedMode.Type == 2);
public bool DllFlag;
public bool Start(in Server s, in Mode mode)
{
_savedMode = mode;
Server = s;
var server = (Shadowsocks) s;
DllFlag = Global.Settings.BootShadowsocksFromDLL && (_savedMode.Type == 0 || _savedMode.Type == 1 || _savedMode.Type == 2);
//从DLL启动Shaowsocks
if (DllFlag)
{
@@ -76,14 +78,13 @@ namespace Netch.Servers.Shadowsocks
public override void Stop()
{
if (Instance == null)
if (DllFlag)
ShadowsocksDLL.Stop();
else
StopInstance();
_savedMode = null;
}
private class ShadowsocksDLL
{
[DllImport("shadowsocks-windows-dynamic", CallingConvention = CallingConvention.Cdecl)]

View File

@@ -31,7 +31,7 @@ namespace Netch.Servers.Trojan
{
local_addr = this.LocalAddress(),
local_port = this.Socks5LocalPort(),
remote_addr = server.AutoResolveHostname(),
remote_addr = server.Hostname,
remote_port = server.Port,
password = new List<string>
{