feat: 添加端口代理工具的添加命令功能

This commit is contained in:
2025-01-28 23:53:36 +08:00
parent ae52121509
commit 7924aea2c3

View File

@@ -12,6 +12,52 @@ internal static class Program
else
switch (args[0])
{
case "add":
switch (args.Length)
{
case 6:
var targetType = PortProxyUtil.GetPortProxyTypeByString(args[1]);
if (targetType == null)
{
AnsiConsole.MarkupLine(
"[red]参数错误[/][gray]:[/] [white]接受的第一个参数为 v4tov4, v4tov6, v6tov6, v6tov4[/]");
return;
}
if (!ushort.TryParse(args[3], out var listenPort))
{
AnsiConsole.MarkupLine(
"[red]参数错误[/][gray]:[/] [white]接受的第三个参数为 0 - 65535[/]");
return;
}
if (!ushort.TryParse(args[5], out var targetPort))
{
AnsiConsole.MarkupLine(
"[red]参数错误[/][gray]:[/] [white]接受的第五个参数为 0 - 65535[/]");
return;
}
var item = new PortProxyItem
{
Type = (PortProxyType)targetType,
ListenAddress = args[2],
ListenPort = listenPort,
TargetAddress = args[4],
TargetPort = targetPort
};
var result = PortProxy.Add(item);
AnsiConsole.MarkupLine(string.IsNullOrEmpty(result)
? "[green]添加成功[/]"
: $"[red]添加失败[/][gray]:[/] [white]{result}[/]");
break;
default:
AnsiConsole.MarkupLine(
"[red]参数错误[/][gray]:[/] [white]接受的参数为 <v4tov4/v4tov6/v6tov6/v6tov4> <监听地址> <监听端口> <目标地址> <目标端口>[/]");
break;
}
return;
case "list":
switch (args.Length)
{