Refactor PcapController arguments

This commit is contained in:
ChsBuffer
2021-11-12 19:39:32 +08:00
parent 094e3926a0
commit 40d8093e0a

View File

@@ -43,14 +43,21 @@ namespace Netch.Controllers
var outboundNetworkInterface = NetworkInterfaceUtils.GetBest();
var argument = new StringBuilder($@"-i \Device\NPF_{outboundNetworkInterface.Id}");
if (!_server.Auth())
argument.Append($" --destination {await _server.AutoResolveHostnameAsync()}:{_server.Port}");
else
throw new InvalidOperationException();
var arguments = new List<object?>
{
"--interface", $@"\Device\NPF_{outboundNetworkInterface.Id}",
"--destination", $"{await _server.AutoResolveHostnameAsync()}:{_server.Port}",
_mode.Argument, SpecialArgument.Flag
};
argument.Append($" {_mode.Argument}");
await StartGuardAsync(argument.ToString());
if (_server.Auth())
arguments.AddRange(new[]
{
"--username", server.Username,
"--password", server.Password
});
await StartGuardAsync(Arguments.Format(arguments));
}
public override async Task StopAsync()