Remove IServerController.Server

This commit is contained in:
ChsBuffer
2020-12-15 19:51:27 +08:00
parent 39eb1b4eef
commit a5903f5f57
11 changed files with 7 additions and 23 deletions

View File

@@ -31,7 +31,7 @@ namespace Netch.Controllers
try
{
if (pPrivoxyController.Start(MainController.ServerController.Server, mode))
if (pPrivoxyController.Start(MainController.Server, mode))
{
Global.Job.AddProcess(pPrivoxyController.Instance);
}

View File

@@ -4,8 +4,6 @@ namespace Netch.Controllers
{
public interface IServerController : IController
{
public Server Server { get; set; }
public ushort? Socks5LocalPort { get; set; }
public string LocalAddress { get; set; }

View File

@@ -18,6 +18,8 @@ namespace Netch.Controllers
private set => _serverController = value;
}
/// TCP or Both Server
public static Server Server;
public static IModeController ModeController { get; private set; }
public static bool NttTested;
@@ -34,6 +36,7 @@ namespace Netch.Controllers
public static async Task<bool> Start(Server server, Mode mode)
{
Logging.Info($"启动主控制器: {server.Type} [{mode.Type}]{mode.Remark}");
Server = server;
if (server is Socks5 && mode.Type == 4)
{
@@ -73,11 +76,6 @@ namespace Netch.Controllers
StatusPortInfoText.UpdateShareLan();
}
else
{
_serverController = ServerHelper.GetUtilByTypeName(server.Type).GetController();
_serverController.Server = server;
}
if (!await StartMode(server, mode))
{

View File

@@ -188,7 +188,7 @@ namespace Netch.Controllers
var offset = portType == PortType.UDP ? UdpNameListOffset : 0;
if (controller.Server is Socks5 socks5)
if (MainController.Server is Socks5 socks5)
{
aio_dial((int) NameList.TYPE_TCPTYPE + offset, "Socks5");
aio_dial((int) NameList.TYPE_TCPHOST + offset, $"{socks5.AutoResolveHostname()}:{socks5.Port}");
@@ -196,7 +196,7 @@ namespace Netch.Controllers
aio_dial((int) NameList.TYPE_TCPPASS + offset, socks5.Password ?? string.Empty);
aio_dial((int) NameList.TYPE_TCPMETH + offset, string.Empty);
}
else if (controller.Server is Shadowsocks shadowsocks)
else if (MainController.Server is Shadowsocks shadowsocks)
{
aio_dial((int) NameList.TYPE_TCPTYPE + offset, "Shadowsocks");
aio_dial((int) NameList.TYPE_TCPHOST + offset, $"{shadowsocks.AutoResolveHostname()}:{shadowsocks.Port}");

View File

@@ -42,7 +42,7 @@ namespace Netch.Controllers
public bool Start(in Mode mode)
{
_savedMode = mode;
_savedServer = MainController.ServerController.Server;
_savedServer = MainController.Server;
// 查询服务器 IP 地址
_serverAddresses = DNS.Lookup(_savedServer.Hostname);

View File

@@ -11,7 +11,6 @@ namespace Netch.Servers.Shadowsocks
public override string Name { get; protected set; } = "Shadowsocks";
public override string MainFile { get; protected set; } = "Shadowsocks.exe";
public Server Server { get; set; }
public ushort? Socks5LocalPort { get; set; }
public string LocalAddress { get; set; }
@@ -19,7 +18,6 @@ namespace Netch.Servers.Shadowsocks
public bool Start(in Server s, in Mode mode)
{
Server = s;
var server = (Shadowsocks) s;
DllFlag = Global.Settings.BootShadowsocksFromDLL && mode.Type is 0 or 1 or 2 && !server.HasPlugin();

View File

@@ -11,13 +11,11 @@ namespace Netch.Servers.ShadowsocksR
public override string Name { get; protected set; } = "ShadowsocksR";
public Server Server { get; set; }
public ushort? Socks5LocalPort { get; set; }
public string LocalAddress { get; set; }
public bool Start(in Server s, in Mode mode)
{
Server = s;
var server = (ShadowsocksR) s;
#region Argument

View File

@@ -12,7 +12,6 @@ namespace Netch.Servers.Socks5
public bool Start(in Server s, in Mode mode)
{
Server = s;
var server = (Socks5) s;
if (server.Auth())
{
@@ -34,7 +33,6 @@ namespace Netch.Servers.Socks5
StopInstance();
}
public Server Server { get; set; }
public ushort? Socks5LocalPort { get; set; }
public string LocalAddress { get; set; }

View File

@@ -18,14 +18,12 @@ namespace Netch.Servers.Trojan
public override string MainFile { get; protected set; } = "Trojan.exe";
public override string Name { get; protected set; } = "Trojan";
public Server Server { get; set; }
public ushort? Socks5LocalPort { get; set; }
public string LocalAddress { get; set; }
public bool Start(in Server s, in Mode mode)
{
Server = s;
var server = (Trojan) s;
File.WriteAllText("data\\last.json", JsonConvert.SerializeObject(new TrojanConfig
{

View File

@@ -10,14 +10,12 @@ namespace Netch.Servers.VLESS
public override string Name { get; protected set; } = "VLESS";
public override string MainFile { get; protected set; } = "v2ray.exe";
public Server Server { get; set; }
public ushort? Socks5LocalPort { get; set; }
public string LocalAddress { get; set; }
public bool Start(in Server s,in Mode mode)
{
Server = s;
File.WriteAllText("data\\last.json", V2rayConfigUtils.GenerateClientConfig(s, mode));
return StartInstanceAuto("-config ..\\data\\last.json");
}

View File

@@ -15,14 +15,12 @@ namespace Netch.Servers.VMess
public override string Name { get; protected set; } = "VMess";
public override string MainFile { get; protected set; } = "v2ray.exe";
public Server Server { get; set; }
public ushort? Socks5LocalPort { get; set; }
public string LocalAddress { get; set; }
public bool Start(in Server s,in Mode mode)
{
Server = s;
File.WriteAllText("data\\last.json", V2rayConfigUtils.GenerateClientConfig(s, mode));
return StartInstanceAuto("-config ..\\data\\last.json");
}