diff --git a/README.md b/README.md index ec13b137..11375b9e 100644 --- a/README.md +++ b/README.md @@ -60,62 +60,6 @@

-## 收费项目 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2设备内2-5设备5-10设备10设备以上
使用免费免费免费免费
开源集成免费免费免费免费
安装维护/次免费9.9/台9.9/台9.9/台
安装维护/年19.9/年39.9/年79.9/年9.9/年/台
商业集成详谈
商业功能定制详谈
- -
- ## 可怜作者
diff --git a/linker.doc.web/docs/10、公益赞助.md b/linker.doc.web/docs/10、公益赞助.md new file mode 100644 index 00000000..9f497e87 --- /dev/null +++ b/linker.doc.web/docs/10、公益赞助.md @@ -0,0 +1,7 @@ +--- +sidebar_position: 10 +--- + +# 10、公益赞助 + +![Docusaurus Plushie](./img/qr.jpg) diff --git a/linker.doc.web/docs/6、自定义验证.md b/linker.doc.web/docs/6、自定义验证.md index 68363e11..156651e6 100644 --- a/linker.doc.web/docs/6、自定义验证.md +++ b/linker.doc.web/docs/6、自定义验证.md @@ -4,12 +4,10 @@ sidebar_position: 6 # 6、自定义验证 -## 1、不修改源码的Action方式 - :::tip[说明] 1. 服务端`action.json`中的,`RelayActionUrl中继`、`SForwardActionUrl穿透`、`SignInActionUrl信标`,都可以设置支持HTTP POST的URL,当不为空时,这些操作都会发送HTTP POST请求到`ActionUrl`,并携带json参数,可用于自定义验证。 2. 在`Action验证`中,设置静态参数,或者使用管理接口动态配置参数 -3. 优先采用动态参数,动态参数为空则使用信标服务器配置的参数。 +3. 优先采用动态参数,动态参数为空则使用页面配置的静态参数。 4. `HTTP POST`返回`ok`表示验证成功,其余均为错误信息。 @@ -118,115 +116,3 @@ public sealed class JsonArgSForwardInfo } ``` ::: - - - - -## 2、修改源码方式 - -:::tip[说明] - -你可以在任意对方编写这些代码,可以参考 `plugins->action`,action插件就是使用以下方式实现。 - -### 2.1、连接服务器验证 -``` -public sealed class MySignArgs:ISignInArgs -{ - //客户端连接服务器时调用,你可以往args里添加你自定义的参数 - public async Task Invoke(Dictionary args) - { - args.TryAdd("myArg", ""); - //返回空字符串表示成功操作,非空将断开连接 - return string.Empty; - } - public async Task Verify(SignInfo signInfo, SignCacheInfo cache) - { - //本地连接的参数 - signInfo.Args.TryGetValue("myArg", out string argNew); - //之前连接的参数 - cache.Args.TryGetValue("myArg", out string argOld); - - //返回空字符串表示验证通过,非空将断开连接 - return string.Empty; - } -} -``` -### 2.2、中继验证 -``` -public sealed class MyRelayValidator : IRelayValidator -{ - public MyRelayValidator() - { - } - - // - /// 验证 - /// - /// 来源客户端 - /// 目标客户端,可能为null - /// - public async Task Validate(SignCacheInfo fromMachine, SignCacheInfo toMachine) - { - //返回空字符串表示验证通过,非空将断开连接 - return string.Empty; - } -} -``` - -### 2.3、内网穿透验证 -``` -public sealed class MySForwardValidator : ISForwardValidator -{ - public MySForwardValidator() - { - } - /// - /// 验证 - /// - /// 来源客户端 - /// 穿透信息 - /// - public async Task Validate(SignCacheInfo cache, SForwardAddInfo sForwardAddInfo) - { - //返回空字符串表示验证通过,非空将不允许添加穿透 - return string.Empty; - } -} -``` - -### 2.4、实现一个启动器,将你的这些实现注入 -``` -public sealed class MyValidatorStartup : IStartup -{ - public StartupLevel Level => StartupLevel.Normal; - public string Name => "myValdator"; - - public bool Required => false; - public string[] Dependent => new string[] {}; - public StartupLoadType LoadType => StartupLoadType.Normal; - - //客户端 - public void AddClient(ServiceCollection serviceCollection, FileConfig config, Assembly[] assemblies) - { - serviceCollection.AddSingleton(); - serviceCollection.AddSingleton(); - serviceCollection.AddSingleton(); - } - - //服务端 - public void AddServer(ServiceCollection serviceCollection, FileConfig config, Assembly[] assemblies) - { - serviceCollection.AddSingleton(); - serviceCollection.AddSingleton(); - serviceCollection.AddSingleton(); - } - - public void UseClient(ServiceProvider serviceProvider, FileConfig config, Assembly[] assemblies) - { - } - public void UseServer(ServiceProvider serviceProvider, FileConfig config, Assembly[] assemblies) - { - } -} -``` -::: diff --git a/linker.doc.web/docs/8、集成/8.1、集成linker.md b/linker.doc.web/docs/8、集成和二次开发/8.1、开始运行.md similarity index 88% rename from linker.doc.web/docs/8、集成/8.1、集成linker.md rename to linker.doc.web/docs/8、集成和二次开发/8.1、开始运行.md index 342cf541..0371f2a4 100644 --- a/linker.doc.web/docs/8、集成/8.1、集成linker.md +++ b/linker.doc.web/docs/8、集成和二次开发/8.1、开始运行.md @@ -2,7 +2,10 @@ sidebar_position: 1 --- -# 8.1、集成linker +# 8.1、开始运行 + +## 1、入口 + :::tip[说明] 1. 在你的.NET8.0+项目中,集成linker 2. 在nuget安装`linker.messenger.entry` @@ -26,13 +29,13 @@ LinkerMessengerEntry.Build(); //apiStore.SetWebPort(0); //apiStore.Confirm(); -//启动 -LinkerMessengerEntry.Setup(); +//启动,在这里可以排除一些模块,ExcludeModule.Node 不排除,比如我不需要检测更新和管理接口和网页 +LinkerMessengerEntry.Setup(ExcludeModule.Updater | ExcludeModule.Api ); ``` ::: -# 1、一些配置接口 +## 2、一些配置接口 :::tip[说明] 1. 你可以在initialize之后注入覆盖这些实现,和build之后获取这些接口来操作配置 3. 管理接口详情请看各个组件里的`IApiController`实现,包含了全部的管理接口 diff --git a/linker.doc.web/docs/8、集成/8.2、单独使用虚拟网卡.md b/linker.doc.web/docs/8、集成和二次开发/8.22、单独使用虚拟网卡.md similarity index 98% rename from linker.doc.web/docs/8、集成/8.2、单独使用虚拟网卡.md rename to linker.doc.web/docs/8、集成和二次开发/8.22、单独使用虚拟网卡.md index f42b4d06..4d216d27 100644 --- a/linker.doc.web/docs/8、集成/8.2、单独使用虚拟网卡.md +++ b/linker.doc.web/docs/8、集成和二次开发/8.22、单独使用虚拟网卡.md @@ -1,8 +1,8 @@ --- -sidebar_position: 2 +sidebar_position: 22 --- -# 8.2、单独使用虚拟网卡 +# 8.22、单独使用虚拟网卡 ## 1、说明 diff --git a/linker.doc.web/docs/8、集成和二次开发/8.2、配置信息存储库.md b/linker.doc.web/docs/8、集成和二次开发/8.2、配置信息存储库.md new file mode 100644 index 00000000..4093cbfe --- /dev/null +++ b/linker.doc.web/docs/8、集成和二次开发/8.2、配置信息存储库.md @@ -0,0 +1,20 @@ +--- +sidebar_position: 2 +--- + +# 8.2、配置信息存储库 + +:::tip[说明] +1. 在解决方案中,找到以`linker.messenger`开头的项目里以`Store`结尾的`interface`,实现它们 +2. 然后注入覆盖原本的文件存储库实现 +``` +//初始化 +LinkerMessengerEntry.Initialize(); +//在这里可以注入覆盖实现 +LinkerMessengerEntry.AddService(); + +LinkerMessengerEntry.Build(); +//排除默认的文件存储库,让它不要生成文件 +LinkerMessengerEntry.Setup(ExcludeModule.StoreFile); +``` +::: \ No newline at end of file diff --git a/linker.doc.web/docs/8、集成/8.3、组网和内网穿透流程图.md b/linker.doc.web/docs/8、集成和二次开发/8.33、组网和内网穿透流程图.md similarity index 71% rename from linker.doc.web/docs/8、集成/8.3、组网和内网穿透流程图.md rename to linker.doc.web/docs/8、集成和二次开发/8.33、组网和内网穿透流程图.md index 625cc345..b22ec81b 100644 --- a/linker.doc.web/docs/8、集成/8.3、组网和内网穿透流程图.md +++ b/linker.doc.web/docs/8、集成和二次开发/8.33、组网和内网穿透流程图.md @@ -1,8 +1,8 @@ --- -sidebar_position: 3 +sidebar_position: 33 --- -# 8.3、组网和内网穿透流程图 +# 8.33、组网和内网穿透流程图 :::tip[说明] diff --git a/linker.doc.web/docs/8、集成和二次开发/8.3、序列化库.md b/linker.doc.web/docs/8、集成和二次开发/8.3、序列化库.md new file mode 100644 index 00000000..3a318356 --- /dev/null +++ b/linker.doc.web/docs/8、集成和二次开发/8.3、序列化库.md @@ -0,0 +1,20 @@ +--- +sidebar_position: 3 +--- + +# 8.3、序列化库 + +:::tip[说明] +1. 实现`linker.libs.ISerializer`接口 +2. 然后注入覆盖原本的序列化库实现 +``` +//初始化 +LinkerMessengerEntry.Initialize(); +//在这里可以注入覆盖实现 +LinkerMessengerEntry.AddService(); + +LinkerMessengerEntry.Build(); +//排除默认的序列化库 +LinkerMessengerEntry.Setup(ExcludeModule.SerializerMemoryPack); +``` +::: \ No newline at end of file diff --git a/linker.doc.web/docs/8、集成和二次开发/8.4、登入信标验证.md b/linker.doc.web/docs/8、集成和二次开发/8.4、登入信标验证.md new file mode 100644 index 00000000..c94c03e8 --- /dev/null +++ b/linker.doc.web/docs/8、集成和二次开发/8.4、登入信标验证.md @@ -0,0 +1,96 @@ +--- +sidebar_position: 4 +--- + +# 8.4、登入信标验证 + +:::tip[说明] +登入信标,注入自定义参数,或者使用已有参数验证 +``` +//初始化 +LinkerMessengerEntry.Initialize(); +//在这里注入 +LinkerMessengerEntry.AddService(); +LinkerMessengerEntry.AddService(); + +//构建 +LinkerMessengerEntry.Build(); + +SignInArgsTransfer signInArgsTransfer = LinkerMessengerEntry.GetService(); +//可以删除默认的一些验证,group分组密码,machineId设备唯一编号,secretKey信标密钥,version版本验证 +//signInArgsTransfer.RemoveArgs(new List{ "group","machineId","secretKey","version" }); + +ICommonStore commonStore = LinkerMessengerEntry.GetService(); +//客户端则添加客户端类 +if((commonStore.Modes & CommonModes.Client) == CommonModes.Client) +{ + signInArgsTransfer.AddArgs(new List { + LinkerMessengerEntry.GetService() + }); +} +//服务端则添加服务端类 +if((commonStore.Modes & CommonModes.Server) == CommonModes.Server) +{ + signInArgsTransfer.AddArgs(new List { + LinkerMessengerEntry.GetService() + }); +} + +//运行 +LinkerMessengerEntry.Setup(); + + +/// +/// 客户端 +/// +public sealed class MyClientSignInArgs : ISignInArgs +{ + public string Name => "mySigninArgs"; + /// + /// 客户端调用 + /// + /// 登入的服务器 + /// 往这里面添加参数 + /// 返回不为空则为错误信息,中断登录操作 + public async Task Invoke(string host, Dictionary args) + { + args.Add("myArgs", "myArgs") + await Task.CompletedTask; + return string.Empty; + } + public async Task Validate(SignInfo signInfo, SignCacheInfo cache) + { + await Task.CompletedTask; + return string.Empty; + } +} +/// +/// 服务端 +/// +public sealed class MyServerSignInArgs : ISignInArgs +{ + public string Name => "mySigninArgs"; + public async Task Invoke(string host, Dictionary args) + { + await Task.CompletedTask; + return string.Empty; + } + + /// + /// 服务端调用 + /// + /// 本次登录参数 + /// 之前的登录信息,如果以前登录过的话 + /// 返回不为空则为错误信息,登录失败 + public async Task Validate(SignInfo signInfo, SignCacheInfo cache) + { + if (signInfo.Args.TryGetValue("myArgs", out string arg) == false) + { + return $"myArgs validate fail"; + } + await Task.CompletedTask; + return string.Empty; + } +} +``` +::: \ No newline at end of file diff --git a/linker.doc.web/docs/8、集成和二次开发/8.5、中继验证.md b/linker.doc.web/docs/8、集成和二次开发/8.5、中继验证.md new file mode 100644 index 00000000..67feee46 --- /dev/null +++ b/linker.doc.web/docs/8、集成和二次开发/8.5、中继验证.md @@ -0,0 +1,55 @@ +--- +sidebar_position: 5 +--- + +# 8.5、中继验证 + +:::tip[说明] +验证通过则允许中继 +``` +//初始化 +LinkerMessengerEntry.Initialize(); +//在这里注入 +LinkerMessengerEntry.AddService(); + +//构建 +LinkerMessengerEntry.Build(); + +RelayServerValidatorTransfer relayServerValidatorTransfer += LinkerMessengerEntry.GetService(); +//可以删除默认的一些验证,secretKey中继密钥 +//relayServerValidatorTransfer.RemoveValidators(new List{ "secretKey"}); + +ICommonStore commonStore = LinkerMessengerEntry.GetService(); +//服务端则添加 +if((commonStore.Modes & CommonModes.Server) == CommonModes.Server) +{ + relayServerValidatorTransfer.AddArgs(new List { + LinkerMessengerEntry.GetService() + }); +} + +//运行 +LinkerMessengerEntry.Setup(); + + +public sealed class MyRelayServerValidator : IRelayServerValidator +{ + public string Name => "myRelayServerValidator"; + + /// + /// 验证 + /// + /// 中继信息 + /// 来源客户端 + /// 目标客户端,可能为null + /// 返回不为空则为错误信息,中继失败 + public async Task Validate(linker.messenger.relay.client.transport.RelayInfo relayInfo, + SignCacheInfo fromMachine, SignCacheInfo toMachine) + { + await Task.CompletedTask; + return string.Empty; + } +} +``` +::: \ No newline at end of file diff --git a/linker.doc.web/docs/8、集成/_category_.json b/linker.doc.web/docs/8、集成和二次开发/_category_.json similarity index 80% rename from linker.doc.web/docs/8、集成/_category_.json rename to linker.doc.web/docs/8、集成和二次开发/_category_.json index 943ddf4d..4f9804c6 100644 --- a/linker.doc.web/docs/8、集成/_category_.json +++ b/linker.doc.web/docs/8、集成和二次开发/_category_.json @@ -1,5 +1,5 @@ { - "label": "8、集成", + "label": "8、集成和二次开发", "position": 8, "link": { "type": "generated-index", diff --git a/linker.doc.web/docs/8、集成/img/network.drawio b/linker.doc.web/docs/8、集成和二次开发/img/network.drawio similarity index 100% rename from linker.doc.web/docs/8、集成/img/network.drawio rename to linker.doc.web/docs/8、集成和二次开发/img/network.drawio diff --git a/linker.doc.web/docs/8、集成/img/network.jpg b/linker.doc.web/docs/8、集成和二次开发/img/network.jpg similarity index 100% rename from linker.doc.web/docs/8、集成/img/network.jpg rename to linker.doc.web/docs/8、集成和二次开发/img/network.jpg diff --git a/linker.doc.web/docs/8、集成/img/transfer.drawio b/linker.doc.web/docs/8、集成和二次开发/img/transfer.drawio similarity index 100% rename from linker.doc.web/docs/8、集成/img/transfer.drawio rename to linker.doc.web/docs/8、集成和二次开发/img/transfer.drawio diff --git a/linker.doc.web/docs/8、集成/img/transfer.jpg b/linker.doc.web/docs/8、集成和二次开发/img/transfer.jpg similarity index 100% rename from linker.doc.web/docs/8、集成/img/transfer.jpg rename to linker.doc.web/docs/8、集成和二次开发/img/transfer.jpg diff --git a/linker.doc.web/docs/9、收费项目.md b/linker.doc.web/docs/9、收费项目.md index 83fa1543..985a47fb 100644 --- a/linker.doc.web/docs/9、收费项目.md +++ b/linker.doc.web/docs/9、收费项目.md @@ -12,6 +12,7 @@ sidebar_position: 9 2-5设备 5-10设备 10设备以上 + 权益 @@ -21,6 +22,7 @@ sidebar_position: 9 免费 免费 免费 + / 开源集成 @@ -28,28 +30,31 @@ sidebar_position: 9 免费 免费 免费 + / - 安装维护/次 - 免费 - 9.9/台 - 9.9/台 - 9.9/台 + 安装配置维护/次 + 20/次 + 50/次 + 100/次 + 10/台/次 + 私有化部署、配置、BUG修复 - 安装维护/年 - 19.9/年 - 39.9/年 - 79.9/年 - 9.9/年/台 + 安装配置维护/年 + 99/年 + 239/年 + 399/年 + 29/台/年 + 私有化部署、配置、BUG修复、技术解答 商业集成 - 详谈 + 详谈,技术解答,原理讲解,二开指导 - 商业功能定制 - 详谈 + 功能定制 + 详谈,技术解答,原理讲解,二开指导 diff --git a/linker.doc.web/docs/img/qr.jpg b/linker.doc.web/docs/img/qr.jpg new file mode 100644 index 00000000..3ab41219 Binary files /dev/null and b/linker.doc.web/docs/img/qr.jpg differ diff --git a/linker.messenger.action/SignInArgsAction.cs b/linker.messenger.action/SignInArgsAction.cs index 77d3e18f..1cb4795f 100644 --- a/linker.messenger.action/SignInArgsAction.cs +++ b/linker.messenger.action/SignInArgsAction.cs @@ -103,6 +103,7 @@ namespace linker.messenger.action public sealed class SignInArgsAction : JsonArgReplace, ISignInArgs { + public string Name => "action"; private readonly ActionTransfer actionTransfer; private readonly IActionClientStore actionStore; private readonly IActionServerStore actionServerStore; diff --git a/linker.messenger.entry/LinkerMessengerEntry.cs b/linker.messenger.entry/LinkerMessengerEntry.cs index b4d6d3ca..e1ff374b 100644 --- a/linker.messenger.entry/LinkerMessengerEntry.cs +++ b/linker.messenger.entry/LinkerMessengerEntry.cs @@ -113,7 +113,7 @@ namespace linker.messenger.entry if (builded.StartOperation() == false) return; serviceProvider = serviceCollection.BuildServiceProvider(); - serviceProvider.UseMessenger().UseStoreFile().UseSerializerMemoryPack(); + } /// /// 获取服务 @@ -129,28 +129,110 @@ namespace linker.messenger.entry /// /// 开始运行 /// - public static void Setup() + /// 排除哪些模块,默认无 + public static void Setup(ExcludeModule modules = ExcludeModule.None) { if (setuped.StartOperation() == false) return; ICommonStore commonStore = serviceProvider.GetService(); + serviceProvider.UseMessenger(); + if ((modules & ExcludeModule.StoreFile) != ExcludeModule.StoreFile) + serviceProvider.UseStoreFile(); + if ((modules & ExcludeModule.SerializerMemoryPack) != ExcludeModule.SerializerMemoryPack) + serviceProvider.UseSerializerMemoryPack(); + if ((commonStore.Modes & CommonModes.Server) == CommonModes.Server) { - serviceProvider.UseAccessServer().UseActionServer().UseDecenterServer().UseForwardServer().UsePcpServer().UseRelayServer().UseSForwardServer().UseSignInServer().UseSocks5Server().UseSyncServer().UseTunnelServer().UseTuntapServer().UseUpdaterServer().UseFlowServer(); + if ((modules & ExcludeModule.Action) != ExcludeModule.Action) + serviceProvider.UseActionServer(); + if ((modules & ExcludeModule.Forward) != ExcludeModule.Forward) + serviceProvider.UseForwardServer(); + if ((modules & ExcludeModule.SForward) != ExcludeModule.SForward) + serviceProvider.UseSForwardServer(); + if ((modules & ExcludeModule.Socks5) != ExcludeModule.Socks5) + serviceProvider.UseSocks5Server(); + if ((modules & ExcludeModule.Tuntap) != ExcludeModule.Tuntap) + serviceProvider.UseTuntapServer(); + if ((modules & ExcludeModule.Updater) != ExcludeModule.Updater) + serviceProvider.UseUpdaterServer(); + + serviceProvider.UseAccessServer().UseDecenterServer().UsePcpServer().UseRelayServer() + .UseSignInServer().UseSyncServer().UseTunnelServer().UseFlowServer(); serviceProvider.UseListen(); } if ((commonStore.Modes & CommonModes.Client) == CommonModes.Client) { - serviceProvider.UseLoggerClient().UseApiClient().UseExRoute().UseAccessClient().UseActionClient().UseDecenterClient().UseForwardClient().UsePcpClient().UseRelayClient().UseSForwardClient().UseSocks5Client().UseSyncClient().UseTunnelClient().UseTuntapClient().UseUpdaterClient().UseFlowClient(); + serviceProvider.UseLoggerClient(); + if ((modules & ExcludeModule.Api) != ExcludeModule.Api) + serviceProvider.UseApiClient(); + if ((modules & ExcludeModule.Action) != ExcludeModule.Action) + serviceProvider.UseActionClient(); + if ((modules & ExcludeModule.Forward) != ExcludeModule.Forward) + serviceProvider.UseForwardClient(); + if ((modules & ExcludeModule.SForward) != ExcludeModule.SForward) + serviceProvider.UseSForwardClient(); + if ((modules & ExcludeModule.Socks5) != ExcludeModule.Socks5) + serviceProvider.UseSocks5Client(); + if ((modules & ExcludeModule.Tuntap) != ExcludeModule.Tuntap) + serviceProvider.UseTuntapClient(); + if ((modules & ExcludeModule.Updater) != ExcludeModule.Updater) + serviceProvider.UseUpdaterClient(); + serviceProvider.UseExRoute().UseAccessClient().UseDecenterClient().UsePcpClient().UseRelayClient().UseSyncClient().UseTunnelClient().UseFlowClient(); serviceProvider.UseSignInClient(); } } + } - + /// + /// 排除那些模块 + /// + [Flags] + public enum ExcludeModule : uint + { + /// + /// 无 + /// + None = 0, + /// + /// 端口转发 + /// + Forward = 1, + /// + /// 内网穿透 + /// + SForward = 2, + /// + /// socks5 + /// + Socks5 = 4, + /// + /// 虚拟网卡 + /// + Tuntap = 8, + /// + /// 更新检测 + /// + Updater = 16, + /// + /// 文件存储库 + /// + StoreFile = 32, + /// + /// MemoryPack序列化库 + /// + SerializerMemoryPack = 64, + /// + /// 管理接口和网页 + /// + Api = 128, + /// + /// 自定义认证 + /// + Action = 256, } } diff --git a/linker.messenger.forward/ForwardApiController.cs b/linker.messenger.forward/ForwardApiController.cs index 1b36f7d0..bc4852e3 100644 --- a/linker.messenger.forward/ForwardApiController.cs +++ b/linker.messenger.forward/ForwardApiController.cs @@ -148,6 +148,27 @@ namespace linker.messenger.forward Payload = serializer.Serialize(info) }); } + + /// + /// 检测 + /// + /// + /// + public async Task Test(ApiControllerParamsInfo param) + { + if (param.Content == signInClientStore.Id) + { + forwardTransfer.SubscribeTest(); + return true; + } + await messengerSender.SendOnly(new MessageRequestWrap + { + Connection = signInClientState.Connection, + MessengerId = (ushort)ForwardMessengerIds.TestClientForward, + Payload = serializer.Serialize(param.Content) + }); + return true; + } } public sealed class ForwardListInfo diff --git a/linker.messenger.forward/ForwardMessenger.cs b/linker.messenger.forward/ForwardMessenger.cs index b1ab409d..4dd2d636 100644 --- a/linker.messenger.forward/ForwardMessenger.cs +++ b/linker.messenger.forward/ForwardMessenger.cs @@ -86,6 +86,22 @@ namespace linker.messenger.forward } } + + [MessengerId((ushort)ForwardMessengerIds.TestClientForward)] + public async Task TestClientForward(IConnection connection) + { + string machineid = serializer.Deserialize(connection.ReceiveRequestWrap.Payload.Span); + if (signCaching.TryGet(machineid, out SignCacheInfo cacheTo) && signCaching.TryGet(connection.Id, out SignCacheInfo cacheFrom) && cacheFrom.GroupId == cacheTo.GroupId) + { + uint requestid = connection.ReceiveRequestWrap.RequestId; + await sender.SendOnly(new MessageRequestWrap + { + Connection = cacheTo.Connection, + MessengerId = (ushort)ForwardMessengerIds.TestClientForward + }); + } + } + } public sealed class ForwardClientMessenger : IMessenger @@ -125,7 +141,14 @@ namespace linker.messenger.forward uint id = serializer.Deserialize(connection.ReceiveRequestWrap.Payload.Span); forwardTransfer.Remove(id); } + + + [MessengerId((ushort)ForwardMessengerIds.TestClient)] + public void TestClient(IConnection connection) + { + forwardTransfer.SubscribeTest(); + } } - + } diff --git a/linker.messenger.forward/ForwardTransfer.cs b/linker.messenger.forward/ForwardTransfer.cs index fa5f2c10..b9553c8b 100644 --- a/linker.messenger.forward/ForwardTransfer.cs +++ b/linker.messenger.forward/ForwardTransfer.cs @@ -2,6 +2,7 @@ using linker.libs.extends; using linker.messenger.forward.proxy; using linker.messenger.signin; +using System.Net.Sockets; namespace linker.messenger.forward { @@ -200,5 +201,43 @@ namespace linker.messenger.forward forwardClientStore.Confirm(); return true; } + + private readonly OperatingManager testing = new OperatingManager(); + public void SubscribeTest() + { + if (testing.StartOperation() == false) + { + return; + } + + IEnumerable> tasks = Get().Select(Connect); + Task.WhenAll(tasks).ContinueWith((result) => + { + testing.StopOperation(); + OnChanged(); + }); + + async Task Connect(ForwardInfo info) + { + Socket socket = new Socket(info.TargetEP.AddressFamily, SocketType.Stream, ProtocolType.Tcp); + try + { + await socket.ConnectAsync(info.TargetEP).WaitAsync(TimeSpan.FromMilliseconds(500)); + info.TargetMsg = string.Empty; + return true; + } + catch (Exception ex) + { + info.TargetMsg = ex.Message; + } + finally + { + socket.SafeClose(); + } + return false; + } + + } + } } diff --git a/linker.messenger.pcp/PcpTransfer.cs b/linker.messenger.pcp/PcpTransfer.cs index e800e6c0..39c7efb8 100644 --- a/linker.messenger.pcp/PcpTransfer.cs +++ b/linker.messenger.pcp/PcpTransfer.cs @@ -40,6 +40,13 @@ namespace linker.messenger.pcp } } } + /// + /// 连接 + /// + /// 目标id + /// 事务ID,属于什么事务的,端口转发还是虚拟网卡 + /// 不想使用哪些打洞协议 + /// public async Task ConnectAsync(string remoteMachineId, string transactionId, TunnelProtocolType denyProtocols) { await Task.CompletedTask; diff --git a/linker.messenger.relay/server/validator/IRelayServerValidator.cs b/linker.messenger.relay/server/validator/IRelayServerValidator.cs index 1ce9baff..f8e27653 100644 --- a/linker.messenger.relay/server/validator/IRelayServerValidator.cs +++ b/linker.messenger.relay/server/validator/IRelayServerValidator.cs @@ -8,6 +8,7 @@ namespace linker.messenger.relay.server.validator /// public interface IRelayServerValidator { + public string Name { get; } /// /// 验证 /// diff --git a/linker.messenger.relay/server/validator/RelayServerValidatorSecretKey.cs b/linker.messenger.relay/server/validator/RelayServerValidatorSecretKey.cs index ce7a8716..73082791 100644 --- a/linker.messenger.relay/server/validator/RelayServerValidatorSecretKey.cs +++ b/linker.messenger.relay/server/validator/RelayServerValidatorSecretKey.cs @@ -4,12 +4,15 @@ namespace linker.messenger.relay.server.validator { public sealed class RelayServerValidatorSecretKey : IRelayServerValidator { + public string Name => "secretKey"; + private readonly IRelayServerStore relayServerStore; public RelayServerValidatorSecretKey(IRelayServerStore relayServerStore) { this.relayServerStore = relayServerStore; } + public async Task Validate(linker.messenger.relay.client.transport.RelayInfo relayInfo, SignCacheInfo fromMachine, SignCacheInfo toMachine) { if (relayInfo.SecretKey != relayServerStore.SecretKey) diff --git a/linker.messenger.relay/server/validator/RelayServerValidatorTransfer.cs b/linker.messenger.relay/server/validator/RelayServerValidatorTransfer.cs index e0b81b28..5b9d518b 100644 --- a/linker.messenger.relay/server/validator/RelayServerValidatorTransfer.cs +++ b/linker.messenger.relay/server/validator/RelayServerValidatorTransfer.cs @@ -26,6 +26,19 @@ namespace linker.messenger.relay.server.validator validators = validators.Concat(list).Distinct(new RelayServerValidatorEqualityComparer()).ToList(); LoggerHelper.Instance.Info($"load relay server validator :{string.Join(",", list.Select(c => c.GetType().Name))}"); } + /// + /// 删除一些验证实现类 + /// + /// + public void RemoveValidators(List names) + { + foreach (string name in names) + { + IRelayServerValidator item = validators.FirstOrDefault(c => c.Name == name); + if (item != null) + validators.Remove(item); + } + } /// /// 验证 diff --git a/linker.messenger.sforward/client/SForwardApiController.cs b/linker.messenger.sforward/client/SForwardApiController.cs index 5ff9a932..31c0543c 100644 --- a/linker.messenger.sforward/client/SForwardApiController.cs +++ b/linker.messenger.sforward/client/SForwardApiController.cs @@ -154,7 +154,7 @@ namespace linker.messenger.sforward.client { if (param.Content == signInClientStore.Id) { - forwardTransfer.TestLocal(); + forwardTransfer.SubscribeTest(); return true; } await messengerSender.SendOnly(new MessageRequestWrap diff --git a/linker.messenger.sforward/client/SForwardClientTransfer.cs b/linker.messenger.sforward/client/SForwardClientTransfer.cs index 0198206b..71502219 100644 --- a/linker.messenger.sforward/client/SForwardClientTransfer.cs +++ b/linker.messenger.sforward/client/SForwardClientTransfer.cs @@ -19,7 +19,7 @@ namespace linker.messenger.sforward.client private readonly ISerializer serializer; private readonly NumberSpaceUInt32 ns = new NumberSpaceUInt32(); - private readonly OperatingManager operatingManager = new OperatingManager(); + public SForwardClientTransfer(SignInClientState signInClientState, IMessengerSender messengerSender, ISignInClientStore signInClientStore, ISForwardClientStore sForwardClientStore, ISerializer serializer) { @@ -214,49 +214,39 @@ namespace linker.messenger.sforward.client return arr.Length == 2 && int.TryParse(arr[0], out min) && int.TryParse(arr[1], out max); } - /// - /// 测试本机服务 - /// - public void TestLocal() + private readonly OperatingManager testing = new OperatingManager(); + public void SubscribeTest() { - if (operatingManager.StartOperation() == false) return; - - TimerHelper.Async(async () => + if (testing.StartOperation() == false) { - try - { - var results = sForwardClientStore.Get().Select(c => c.LocalEP).Select(ConnectAsync); - await Task.Delay(200).ConfigureAwait(false); + return; + } - foreach (var item in results.Select(c => c.Result)) - { - var forward = sForwardClientStore.Get().FirstOrDefault(c => c.LocalEP.Equals(item.Item1)); - if (forward != null) - { - forward.LocalMsg = item.Item2; - } - } - OnChanged(); - } - catch (Exception) - { - } - operatingManager.StopOperation(); + IEnumerable> tasks = sForwardClientStore.Get().Select(Connect); + Task.WhenAll(tasks).ContinueWith((result) => + { + testing.StopOperation(); + OnChanged(); }); - async Task<(IPEndPoint, string)> ConnectAsync(IPEndPoint ep) + async Task Connect(SForwardInfo info) { + Socket socket = new Socket(info.LocalEP.AddressFamily, SocketType.Stream, ProtocolType.Tcp); try { - using Socket socket = new Socket(ep.AddressFamily, SocketType.Stream, ProtocolType.Tcp); - await socket.ConnectAsync(ep).WaitAsync(TimeSpan.FromMilliseconds(5000)).ConfigureAwait(false); - socket.SafeClose(); - return (ep, string.Empty); + await socket.ConnectAsync(info.LocalEP).WaitAsync(TimeSpan.FromMilliseconds(500)); + info.LocalMsg = string.Empty; + return true; } catch (Exception ex) { - return (ep, ex.Message); + info.LocalMsg = ex.Message; } + finally + { + socket.SafeClose(); + } + return false; } } } diff --git a/linker.messenger.sforward/messenger/SForwardMessenger.cs b/linker.messenger.sforward/messenger/SForwardMessenger.cs index 8061a284..f42d87fe 100644 --- a/linker.messenger.sforward/messenger/SForwardMessenger.cs +++ b/linker.messenger.sforward/messenger/SForwardMessenger.cs @@ -416,13 +416,13 @@ namespace linker.plugins.sforward.messenger sForwardTransfer.Remove(id); } // - /// 删除 + /// 测试 /// /// [MessengerId((ushort)SForwardMessengerIds.TestClient)] public void TestClient(IConnection connection) { - sForwardTransfer.TestLocal(); + sForwardTransfer.SubscribeTest(); } diff --git a/linker.messenger.signin/args/ISignInArgs.cs b/linker.messenger.signin/args/ISignInArgs.cs index 78fb5a1b..2ba3ff71 100644 --- a/linker.messenger.signin/args/ISignInArgs.cs +++ b/linker.messenger.signin/args/ISignInArgs.cs @@ -5,6 +5,7 @@ /// public interface ISignInArgs { + public string Name { get; } /// /// 添加参数,客户端调用 /// diff --git a/linker.messenger.signin/args/SignInArgsGroupPassword.cs b/linker.messenger.signin/args/SignInArgsGroupPassword.cs index 94f1c388..7d196788 100644 --- a/linker.messenger.signin/args/SignInArgsGroupPassword.cs +++ b/linker.messenger.signin/args/SignInArgsGroupPassword.cs @@ -5,11 +5,16 @@ /// public sealed class SignInArgsGroupPasswordClient : ISignInArgs { + public string Name => "group"; + private readonly ISignInClientStore signInClientStore; public SignInArgsGroupPasswordClient(ISignInClientStore signInClientStore) { this.signInClientStore = signInClientStore; } + + + public async Task Invoke(string host, Dictionary args) { args.TryAdd("signin-gpwd", signInClientStore.Group.Password); @@ -29,6 +34,7 @@ /// public sealed class SignInArgsGroupPasswordServer : ISignInArgs { + public string Name => "group"; public SignInArgsGroupPasswordServer() { } diff --git a/linker.messenger.signin/args/SignInArgsMachineKey.cs b/linker.messenger.signin/args/SignInArgsMachineKey.cs index eb175113..c0b3b286 100644 --- a/linker.messenger.signin/args/SignInArgsMachineKey.cs +++ b/linker.messenger.signin/args/SignInArgsMachineKey.cs @@ -1,6 +1,4 @@ using linker.libs; -using linker.messenger.signin; -using linker.messenger.signin.args; namespace linker.messenger.signin.args { @@ -9,6 +7,7 @@ namespace linker.messenger.signin.args /// public sealed class SignInArgsMachineKeyClient : ISignInArgs { + public string Name => "machineId"; public async Task Invoke(string host, Dictionary args) { string machineKey = SystemIdHelper.GetSystemId(); @@ -38,6 +37,7 @@ namespace linker.messenger.signin.args /// public sealed class SignInArgsMachineKeyServer : ISignInArgs { + public string Name => "machineId"; public async Task Invoke(string host, Dictionary args) { await Task.CompletedTask; diff --git a/linker.messenger.signin/args/SignInArgsSecretKey.cs b/linker.messenger.signin/args/SignInArgsSecretKey.cs index de557373..3ae5ad77 100644 --- a/linker.messenger.signin/args/SignInArgsSecretKey.cs +++ b/linker.messenger.signin/args/SignInArgsSecretKey.cs @@ -5,6 +5,8 @@ /// public sealed class SignInArgsSecretKeyClient : ISignInArgs { + public string Name => "secretKey"; + private readonly ISignInClientStore signInClientStore; public SignInArgsSecretKeyClient(ISignInClientStore signInClientStore) { @@ -29,6 +31,7 @@ /// public sealed class SignInArgsSecretKeyServer : ISignInArgs { + public string Name => "secretKey"; private readonly ISignInServerStore signInServerStore; public SignInArgsSecretKeyServer(ISignInServerStore signInServerStore) { diff --git a/linker.messenger.signin/args/SignInArgsTransfer.cs b/linker.messenger.signin/args/SignInArgsTransfer.cs index 47e120ef..01068f0b 100644 --- a/linker.messenger.signin/args/SignInArgsTransfer.cs +++ b/linker.messenger.signin/args/SignInArgsTransfer.cs @@ -20,6 +20,20 @@ startups = startups.Concat(list).Distinct().ToList(); } + /// + /// 删除实现类 + /// + /// + public void RemoveArgs(List names) + { + foreach (string name in names) + { + ISignInArgs item = startups.FirstOrDefault(c => c.Name == name); + if (item != null) + startups.Remove(item); + } + } + /// /// 客户端调用 /// diff --git a/linker.messenger.signin/args/SignInArgsVersion.cs b/linker.messenger.signin/args/SignInArgsVersion.cs index 50ebe730..b3d78065 100644 --- a/linker.messenger.signin/args/SignInArgsVersion.cs +++ b/linker.messenger.signin/args/SignInArgsVersion.cs @@ -1,6 +1,4 @@ using linker.libs; -using linker.messenger.signin; -using linker.messenger.signin.args; namespace linker.messenger.signin.args { @@ -9,6 +7,7 @@ namespace linker.messenger.signin.args /// public sealed class SignInArgsVersionClient : ISignInArgs { + public string Name => "version"; public async Task Invoke(string host, Dictionary args) { args.TryAdd("version", VersionHelper.version); @@ -30,6 +29,13 @@ namespace linker.messenger.signin.args /// public sealed class SignInArgsVersionServer : ISignInArgs { + public string Name => "version"; + /// + /// 客户端调用 + /// + /// + /// + /// public async Task Invoke(string host, Dictionary args) { await Task.CompletedTask; @@ -37,7 +43,7 @@ namespace linker.messenger.signin.args } /// - /// 验证参数 + /// 服务端调用 /// /// 新登录参数 /// 之前的登录信息 diff --git a/linker.messenger.tuntap/TuntapAdapter.cs b/linker.messenger.tuntap/TuntapAdapter.cs index 30d89f6e..f5884ded 100644 --- a/linker.messenger.tuntap/TuntapAdapter.cs +++ b/linker.messenger.tuntap/TuntapAdapter.cs @@ -42,7 +42,7 @@ namespace linker.messenger.tuntap tuntapTransfer.OnShutdownSuccess += () => { DeleteForward(); tuntapConfigTransfer.SetRunning(false); }; //配置有更新,去同步一下 - tuntapConfigTransfer.OnUpdate += tuntapDecenter.Refresh; + tuntapConfigTransfer.OnUpdate += () => { _ = CheckDevice(); tuntapDecenter.Refresh(); }; //收到新的信息,添加一下路由 tuntapDecenter.OnChangeBefore += DelRoute; @@ -60,22 +60,28 @@ namespace linker.messenger.tuntap CheckDeviceTask(); } + private void CheckDeviceTask() { - ulong configVersion = 0; TimerHelper.SetInterval(async () => { - bool restart = - (tuntapConfigTransfer.Version.Eq(configVersion, out ulong _version) == false || await tuntapTransfer.CheckAvailable() == false) - && tuntapConfigTransfer.Running && tuntapTransfer.Status != TuntapStatus.Running && tuntapTransfer.Status != TuntapStatus.Operating; - if (restart) - { - configVersion = _version; - await RetstartDevice(); - } + await CheckDevice(); return true; }, () => 30000); } + ulong configVersion = 0; + private async Task CheckDevice() + { + bool restart = + (tuntapConfigTransfer.Version.Eq(configVersion, out ulong _version) == false || await tuntapTransfer.CheckAvailable() == false) + && tuntapConfigTransfer.Running && tuntapTransfer.Status != TuntapStatus.Operating; + if (restart) + { + configVersion = _version; + await RetstartDevice(); + } + } + private TuntapInfo GetCurrentInfo() { return new TuntapInfo @@ -188,9 +194,8 @@ namespace linker.messenger.tuntap return infos .Where(c => c.MachineId != signInClientStore.Id) - .OrderByDescending(c => c.Status) .OrderBy(c => c.IP, new IPAddressComparer()) - + .OrderByDescending(c => c.Status) .Select(c => { var lans = c.Lans.Where(c => c.Disabled == false && c.IP.Equals(IPAddress.Any) == false).Where(c => diff --git a/linker.messenger.tuntap/TuntapConfigTransfer.cs b/linker.messenger.tuntap/TuntapConfigTransfer.cs index dd2d6208..18486629 100644 --- a/linker.messenger.tuntap/TuntapConfigTransfer.cs +++ b/linker.messenger.tuntap/TuntapConfigTransfer.cs @@ -64,7 +64,7 @@ namespace linker.messenger.tuntap await LeaseIP(); SetGroupIP(); - if ((ip.Equals(Info.IP) == false || prefixLength != Info.PrefixLength) && Info.Running) + if ((ip.Equals(Info.IP) == false || prefixLength != Info.PrefixLength)) { Version.Add(); } @@ -77,19 +77,7 @@ namespace linker.messenger.tuntap /// public void RefreshIP() { - TimerHelper.Async(async () => - { - IPAddress oldIP = Info.IP; - byte prefixLength = Info.PrefixLength; - - await RefreshIPASync(); - - if ((oldIP.Equals(Info.IP) == false || prefixLength != Info.PrefixLength) && Info.Running) - { - Version.Add(); - } - OnUpdate(); - }); + _ = RefreshIPASync(); } /// /// 刷新IP,不会触发OnChanged @@ -97,9 +85,18 @@ namespace linker.messenger.tuntap /// public async Task RefreshIPASync() { + IPAddress oldIP = Info.IP; + byte prefixLength = Info.PrefixLength; + LoadGroupIP(); await LeaseIP(); SetGroupIP(); + + if ((oldIP.Equals(Info.IP) == false || prefixLength != Info.PrefixLength) && Info.Running) + { + Version.Add(); + } + OnUpdate(); } private async Task LeaseIP() diff --git a/linker.messenger.tuntap/TuntapPingTransfer.cs b/linker.messenger.tuntap/TuntapPingTransfer.cs index 0c3783ff..0f959d9e 100644 --- a/linker.messenger.tuntap/TuntapPingTransfer.cs +++ b/linker.messenger.tuntap/TuntapPingTransfer.cs @@ -67,7 +67,7 @@ namespace linker.messenger.tuntap public async Task SubscribeForwardTest(List list) { - await Task.WhenAll(list.Select(async c => + await Task.WhenAll(list.Where(c=>c.ConnectAddr.Equals(IPAddress.Any)==false && c.ConnectPort > 0 && c.ListenPort > 0).Select(async c => { try { diff --git a/linker.messenger.tuntap/TuntapProxy.cs b/linker.messenger.tuntap/TuntapProxy.cs index a55a6481..0ceee069 100644 --- a/linker.messenger.tuntap/TuntapProxy.cs +++ b/linker.messenger.tuntap/TuntapProxy.cs @@ -8,7 +8,8 @@ using System.Buffers; using linker.messenger.relay.client; using linker.messenger.signin; using linker.messenger.pcp; -using System; +using System.Net; +using System.Reflection.PortableExecutable; namespace linker.messenger.tuntap { @@ -113,6 +114,7 @@ namespace linker.messenger.tuntap }, ip); return; } + await connection.SendAsync(packet.Packet); } @@ -177,8 +179,10 @@ namespace linker.messenger.tuntap { string machineId = item.Value[0]; ip2MachineDic.AddOrUpdate(item.Key, machineId, (a, b) => machineId); - - if (ipConnections.TryGetValue(item.Key, out ITunnelConnection connection) && item.Value.Count > 0 && machineId != connection.RemoteMachineId) + } + foreach (var ip in ips) + { + foreach (var item in ipConnections.Where(c=>(c.Key & ip.NetWork)==ip.NetWork && c.Value.RemoteMachineId != ip.MachineId).ToList()) { ipConnections.TryRemove(item.Key, out _); } diff --git a/linker.tray.win/default.aproj b/linker.tray.win/default.aproj index 9c12466e..0793de7e 100644 --- a/linker.tray.win/default.aproj +++ b/linker.tray.win/default.aproj @@ -1,5 +1,5 @@  - + diff --git a/linker.tray.win/dist/linker.tray.win.exe b/linker.tray.win/dist/linker.tray.win.exe index 45920421..567f9e37 100644 Binary files a/linker.tray.win/dist/linker.tray.win.exe and b/linker.tray.win/dist/linker.tray.win.exe differ diff --git a/linker.tray.win/web/css/855.f4293598.css b/linker.tray.win/web/css/276.fd6fa25b.css similarity index 98% rename from linker.tray.win/web/css/855.f4293598.css rename to linker.tray.win/web/css/276.fd6fa25b.css index 7beb4f02..372707b5 100644 --- a/linker.tray.win/web/css/855.f4293598.css +++ b/linker.tray.win/web/css/276.fd6fa25b.css @@ -1 +1 @@ -.table-sort th[data-v-4b2df38c]{border-bottom:0}.dropdown[data-v-6638f97d]{border:1px solid #ddd;padding:.4rem;font-size:1.3rem;border-radius:.4rem;position:relative}.dropdown .el-icon[data-v-6638f97d]{vertical-align:middle}.dropdown .badge[data-v-6638f97d]{position:absolute;right:-1rem;top:-50%;border-radius:10px;background-color:#f1ae05;color:#fff;padding:.2rem .6rem;font-size:1.2rem}a[data-v-6653ef00]{color:#666;text-decoration:underline}a.green[data-v-6653ef00]{color:green;font-weight:700}a.download[data-v-6653ef00]{margin-left:.6rem}a.download .el-icon[data-v-6653ef00]{vertical-align:middle;font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-6653ef00]{animation:loading-6653ef00 1s linear infinite}a.download+a.download[data-v-6653ef00]{margin-left:.2rem}@keyframes loading-6653ef00{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}img.system[data-v-ffd0d512]{height:1.6rem;vertical-align:middle;margin-right:.4rem}.self[data-v-ffd0d512]{color:#d400ff}.self .el-icon[data-v-ffd0d512]{vertical-align:text-bottom}.ipaddress span[data-v-5db71b03]{vertical-align:middle}.el-input[data-v-5db71b03]{width:12rem;margin-right:.6rem}.el-col[data-v-5d52ca48]{text-align:left}span.point[data-v-39aee530]{width:.8rem;height:.8rem;border-radius:50%;display:inline-block;vertical-align:middle;margin:-.2rem .3rem 0 -1.3rem;background-color:#eee;border:1px solid #ddd}span.point.p2p[data-v-39aee530]{background-color:#01c901;border:1px solid #049538}span.point.relay[data-v-39aee530]{background-color:#e3e811;border:1px solid #b3c410}span.point.node[data-v-39aee530]{background-color:#09dda9;border:1px solid #0cac90}.el-icon.loading[data-v-f8059b00],a.loading[data-v-f8059b00]{vertical-align:middle;font-weight:700;animation:loading-f8059b00 1s linear infinite}.el-switch.is-disabled[data-v-f8059b00]{opacity:1}.el-input[data-v-f8059b00]{width:8rem}.delay[data-v-f8059b00]{position:absolute;right:0;bottom:0;line-height:normal}.switch-btn[data-v-f8059b00]{font-size:1.5rem}@keyframes loading-f8059b00{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.wrap[data-v-786fe646]{padding-right:1rem}.remark[data-v-786fe646]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wrap[data-v-4abaaeaf]{padding-right:1rem}.el-switch.is-disabled[data-v-34275839]{opacity:1}.upgrade-wrap[data-v-34275839]{border:1px solid #ddd;margin-bottom:2rem;padding:0 0 1rem 0}.el-switch.is-disabled[data-v-4a28804a]{opacity:1}.calc span[data-v-4a28804a]{display:inline-block}.calc span.label[data-v-4a28804a]{width:6rem}.el-icon.loading[data-v-d37c5992],a.loading[data-v-d37c5992]{vertical-align:middle;font-weight:700;animation:loading-d37c5992 1s linear infinite}.el-switch.is-disabled[data-v-d37c5992]{opacity:1}.el-input[data-v-d37c5992]{width:8rem}.switch-btn[data-v-d37c5992]{font-size:1.5rem}@keyframes loading-d37c5992{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-switch.is-disabled[data-v-022e3781]{opacity:1}.upgrade-wrap[data-v-022e3781]{border:1px solid #ddd;margin-bottom:2rem;padding:1rem 0 1rem 0}.lan-item[data-v-022e3781]{margin-bottom:0}.el-switch.is-disabled[data-v-49e16cac]{opacity:1}.green[data-v-49e16cac]{font-weight:700}.el-switch.is-disabled[data-v-6ea047f9]{opacity:1}a[data-v-6e9936ec]{text-decoration:underline}a+a[data-v-6e9936ec]{margin-left:1rem}a.green[data-v-6e9936ec]{font-weight:700}.head[data-v-15b05a01]{padding-bottom:1rem}.green[data-v-15b05a01]{color:green;font-weight:700}.error[data-v-15b05a01]{font-weight:700}.error .el-icon[data-v-15b05a01]{vertical-align:text-bottom}.head[data-v-7eb8e7cc]{padding-bottom:1rem}.error[data-v-7eb8e7cc]{font-weight:700}.error .el-icon[data-v-7eb8e7cc]{vertical-align:text-bottom}.head[data-v-7891b902]{padding-bottom:1rem}.table-sort.el-table th.el-table__cell.is-leaf{border-bottom:0}.table-sort.el-table .el-table__inner-wrapper:before{height:0}.home-list-wrap[data-v-3d1c480c]{padding:1rem}.home-list-wrap .page[data-v-3d1c480c]{padding-top:1rem}.home-list-wrap .page-wrap[data-v-3d1c480c]{display:inline-block} \ No newline at end of file +.table-sort th[data-v-4b2df38c]{border-bottom:0}.dropdown[data-v-6638f97d]{border:1px solid #ddd;padding:.4rem;font-size:1.3rem;border-radius:.4rem;position:relative}.dropdown .el-icon[data-v-6638f97d]{vertical-align:middle}.dropdown .badge[data-v-6638f97d]{position:absolute;right:-1rem;top:-50%;border-radius:10px;background-color:#f1ae05;color:#fff;padding:.2rem .6rem;font-size:1.2rem}a[data-v-6653ef00]{color:#666;text-decoration:underline}a.green[data-v-6653ef00]{color:green;font-weight:700}a.download[data-v-6653ef00]{margin-left:.6rem}a.download .el-icon[data-v-6653ef00]{vertical-align:middle;font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-6653ef00]{animation:loading-6653ef00 1s linear infinite}a.download+a.download[data-v-6653ef00]{margin-left:.2rem}@keyframes loading-6653ef00{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}img.system[data-v-ffd0d512]{height:1.6rem;vertical-align:middle;margin-right:.4rem}.self[data-v-ffd0d512]{color:#d400ff}.self .el-icon[data-v-ffd0d512]{vertical-align:text-bottom}.ipaddress span[data-v-5db71b03]{vertical-align:middle}.el-input[data-v-5db71b03]{width:12rem;margin-right:.6rem}.el-col[data-v-7a697708]{text-align:left}span.point[data-v-39aee530]{width:.8rem;height:.8rem;border-radius:50%;display:inline-block;vertical-align:middle;margin:-.2rem .3rem 0 -1.3rem;background-color:#eee;border:1px solid #ddd}span.point.p2p[data-v-39aee530]{background-color:#01c901;border:1px solid #049538}span.point.relay[data-v-39aee530]{background-color:#e3e811;border:1px solid #b3c410}span.point.node[data-v-39aee530]{background-color:#09dda9;border:1px solid #0cac90}.el-icon.loading[data-v-f8059b00],a.loading[data-v-f8059b00]{vertical-align:middle;font-weight:700;animation:loading-f8059b00 1s linear infinite}.el-switch.is-disabled[data-v-f8059b00]{opacity:1}.el-input[data-v-f8059b00]{width:8rem}.delay[data-v-f8059b00]{position:absolute;right:0;bottom:0;line-height:normal}.switch-btn[data-v-f8059b00]{font-size:1.5rem}@keyframes loading-f8059b00{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.wrap[data-v-786fe646]{padding-right:1rem}.remark[data-v-786fe646]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wrap[data-v-4abaaeaf]{padding-right:1rem}.el-switch.is-disabled[data-v-34275839]{opacity:1}.upgrade-wrap[data-v-34275839]{border:1px solid #ddd;margin-bottom:2rem;padding:0 0 1rem 0}.el-switch.is-disabled[data-v-4a28804a]{opacity:1}.calc span[data-v-4a28804a]{display:inline-block}.calc span.label[data-v-4a28804a]{width:6rem}.el-icon.loading[data-v-d37c5992],a.loading[data-v-d37c5992]{vertical-align:middle;font-weight:700;animation:loading-d37c5992 1s linear infinite}.el-switch.is-disabled[data-v-d37c5992]{opacity:1}.el-input[data-v-d37c5992]{width:8rem}.switch-btn[data-v-d37c5992]{font-size:1.5rem}@keyframes loading-d37c5992{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-switch.is-disabled[data-v-022e3781]{opacity:1}.upgrade-wrap[data-v-022e3781]{border:1px solid #ddd;margin-bottom:2rem;padding:1rem 0 1rem 0}.lan-item[data-v-022e3781]{margin-bottom:0}.el-switch.is-disabled[data-v-49e16cac]{opacity:1}.green[data-v-49e16cac]{font-weight:700}.el-switch.is-disabled[data-v-6ea047f9]{opacity:1}a[data-v-6e9936ec]{text-decoration:underline}a+a[data-v-6e9936ec]{margin-left:1rem}a.green[data-v-6e9936ec]{font-weight:700}.head[data-v-15b05a01]{padding-bottom:1rem}.green[data-v-15b05a01]{color:green;font-weight:700}.error[data-v-15b05a01]{font-weight:700}.error .el-icon[data-v-15b05a01]{vertical-align:text-bottom}.head[data-v-7eb8e7cc]{padding-bottom:1rem}.error[data-v-7eb8e7cc]{font-weight:700}.error .el-icon[data-v-7eb8e7cc]{vertical-align:text-bottom}.head[data-v-7891b902]{padding-bottom:1rem}.table-sort.el-table th.el-table__cell.is-leaf{border-bottom:0}.table-sort.el-table .el-table__inner-wrapper:before{height:0}.home-list-wrap[data-v-3d1c480c]{padding:1rem}.home-list-wrap .page[data-v-3d1c480c]{padding-top:1rem}.home-list-wrap .page-wrap[data-v-3d1c480c]{display:inline-block} \ No newline at end of file diff --git a/linker.tray.win/web/css/734.19603134.css b/linker.tray.win/web/css/321.9591b134.css similarity index 77% rename from linker.tray.win/web/css/734.19603134.css rename to linker.tray.win/web/css/321.9591b134.css index b8c03467..d68c1b5a 100644 --- a/linker.tray.win/web/css/734.19603134.css +++ b/linker.tray.win/web/css/321.9591b134.css @@ -1 +1 @@ -#file-input[data-v-4892cd3c]{opacity:0;position:absolute;z-index:-1}.el-icon[data-v-4892cd3c]{font-size:1.6rem;vertical-align:middle;color:#555}#file-input[data-v-288c64ff]{opacity:0;position:absolute;z-index:-1}.head[data-v-288c64ff]{background-color:#f6f8fa;border-bottom:1px solid #d0d7de;box-shadow:1px 1px 4px rgba(0,0,0,.05);height:5rem;line-height:5rem}.head .logo[data-v-288c64ff]{padding:.5rem 0 0 1rem}.head .logo img[data-v-288c64ff]{vertical-align:top;height:4rem}.head .menu[data-v-288c64ff]{padding-left:1rem;font-size:1.4rem}.head .menu li[data-v-288c64ff]{box-sizing:border-box;padding:.5rem 0;margin-right:.5rem}.head .menu a[data-v-288c64ff]{display:block;color:#333;padding:0 1rem;line-height:4rem}.head .menu a.router-link-active[data-v-288c64ff],.head .menu a[data-v-288c64ff]:hover{background-color:rgba(0,0,0,.1);font-weight:700;border-radius:4px}.head .menu a img[data-v-288c64ff]{height:2rem;vertical-align:text-top}.head .image[data-v-288c64ff]{padding-right:1rem}body.sunny{background-image:url(../img/bg.a2158f12.jpg);background-repeat:no-repeat;background-size:cover;background-position:bottom;position:absolute;left:0;top:0;right:0;bottom:0}body.sunny .app-wrap{background-color:hsla(0,0%,100%,.5)}body.sunny .status-wrap{background-color:hsla(0,0%,96%,.3)}body.sunny .status-wrap .copy a{color:#333}body.sunny .el-table{background-color:hsla(0,0%,100%,.5)}body.sunny .head{background-color:rgba(246,248,250,.5)}body.sunny .el-table tr,body.sunny .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background-color:rgba(246,248,250,.2)}.el-pagination__total,body.sunny .el-pagination__sizes,body.sunny .status-wrap .copy a{color:#000}body.sunny a{color:#576acf}.status-api-wrap[data-v-1d3d9c26]{padding-right:2rem}.status-api-wrap a[data-v-1d3d9c26]{color:#333}.status-api-wrap span[data-v-1d3d9c26]{border-radius:1rem;background-color:rgba(0,0,0,.1);padding:0 .6rem;margin-left:.2rem}.status-api-wrap.connected a[data-v-1d3d9c26]{color:green;font-weight:700}.status-api-wrap.connected span[data-v-1d3d9c26]{background-color:green;color:#fff}.status-api-wrap .el-icon[data-v-1d3d9c26]{vertical-align:text-top}a a[data-v-3b6604f4]{color:#333;margin-left:.6rem}a.connected[data-v-3b6604f4]{color:green;font-weight:700}a .el-icon[data-v-3b6604f4]{vertical-align:text-bottom}a[data-v-2183bbe0]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-2183bbe0]{line-height:normal;white-space:nowrap}.head[data-v-3e577fa7]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-3e577fa7]{width:20rem}.page[data-v-3e577fa7]{padding-top:1rem}.page-wrap[data-v-3e577fa7]{display:inline-block}.head[data-v-7dbf3a4a]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-7dbf3a4a]{width:20rem}.page[data-v-7dbf3a4a]{padding-top:1rem}.page-wrap[data-v-7dbf3a4a]{display:inline-block}.flow-wrap[data-v-630048e8]{padding:.4rem;font-weight:700;position:absolute;right:1rem;bottom:80%;border:1px solid #ddd;background-color:#fff;z-index:9}.flow-wrap>a[data-v-630048e8],.flow-wrap>p[data-v-630048e8]{line-height:normal;white-space:nowrap;display:block}a[data-v-70063cba]{font-weight:700}a .el-icon[data-v-70063cba]{vertical-align:text-bottom}a.download .el-icon[data-v-70063cba]{font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-70063cba]{animation:loading-70063cba 1s linear infinite}@keyframes loading-70063cba{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-server-wrap[data-v-2d85a782]{position:relative;padding-right:.5rem}.status-server-wrap a[data-v-2d85a782]{color:#333}.status-server-wrap a+a[data-v-2d85a782]{margin-left:.6rem}.status-server-wrap .el-icon[data-v-2d85a782]{vertical-align:text-bottom}.el-col[data-v-5d52ca48]{text-align:left}.status-export-wrap[data-v-0ef57e46]{padding-right:2rem}.status-export-wrap a[data-v-0ef57e46]{color:#333}.status-export-wrap .el-icon[data-v-0ef57e46]{vertical-align:text-top}.status-export-wrap .el-col[data-v-0ef57e46]{text-align:left}a[data-v-6653ef00]{color:#666;text-decoration:underline}a.green[data-v-6653ef00]{color:green;font-weight:700}a.download[data-v-6653ef00]{margin-left:.6rem}a.download .el-icon[data-v-6653ef00]{vertical-align:middle;font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-6653ef00]{animation:loading-6653ef00 1s linear infinite}a.download+a.download[data-v-6653ef00]{margin-left:.2rem}@keyframes loading-6653ef00{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-wrap[data-v-2a629595]{border-top:1px solid #ddd;background-color:#f5f5f5;height:3rem;line-height:3rem;font-size:1.2rem;color:#555}.status-wrap .pay[data-v-2a629595]{font-size:xxx-large}.status-wrap .pay img[data-v-2a629595]{width:100%;margin:0}.status-wrap .copy[data-v-2a629595]{padding-left:.5rem}.status-wrap .copy a[data-v-2a629595]{color:#555}.status-wrap a.memory[data-v-2a629595]{margin-right:.6rem}.status-wrap a.memory img[data-v-2a629595]{height:3rem;vertical-align:bottom;margin-right:.1rem}.body[data-v-19accc48]{padding:1rem 0 0 0}.footer[data-v-19accc48]{padding:1rem 0}.body[data-v-5cebfa33]{padding:1rem 0 0 0}.footer[data-v-5cebfa33]{padding:1rem 0}.body[data-v-41d4c7eb],.el-card+.el-card[data-v-5cebfa33]{margin-top:1rem}.footer[data-v-41d4c7eb]{margin-top:2rem}@media screen and (max-width:1000px){body .app-wrap[data-v-5ea3415a]{width:calc(100% - 40px);height:calc(100% - 40px);position:absolute;left:20px;top:20px;right:0;bottom:0;transform:none;max-width:calc(100% - 40px)}}.app-wrap[data-v-5ea3415a]{box-sizing:border-box;background-color:#fff;border:1px solid #d0d7de;width:81rem;max-width:80%;height:90%;position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%)} \ No newline at end of file +#file-input[data-v-4892cd3c]{opacity:0;position:absolute;z-index:-1}.el-icon[data-v-4892cd3c]{font-size:1.6rem;vertical-align:middle;color:#555}#file-input[data-v-5df4cbc3]{opacity:0;position:absolute;z-index:-1}.head[data-v-5df4cbc3]{background-color:#f6f8fa;border-bottom:1px solid #d0d7de;box-shadow:1px 1px 4px rgba(0,0,0,.05);height:5rem;line-height:5rem}.head .logo[data-v-5df4cbc3]{padding:.5rem 0 0 1rem}.head .logo img[data-v-5df4cbc3]{vertical-align:top;height:4rem}.head .menu[data-v-5df4cbc3]{padding-left:1rem;font-size:1.4rem}.head .menu li[data-v-5df4cbc3]{box-sizing:border-box;padding:.5rem 0;margin-right:.5rem}.head .menu a[data-v-5df4cbc3]{display:block;color:#333;padding:0 1rem;line-height:4rem}.head .menu a.router-link-active[data-v-5df4cbc3],.head .menu a[data-v-5df4cbc3]:hover{background-color:rgba(0,0,0,.1);font-weight:700;border-radius:4px}.head .menu a img[data-v-5df4cbc3]{height:2rem;vertical-align:text-top}.head .image[data-v-5df4cbc3]{padding-right:1rem}body.sunny{background-image:url(../img/bg.a2158f12.jpg);background-repeat:no-repeat;background-size:cover;background-position:bottom;position:absolute;left:0;top:0;right:0;bottom:0}body.sunny .app-wrap{background-color:hsla(0,0%,100%,.5)}body.sunny .status-wrap{background-color:hsla(0,0%,96%,.3)}body.sunny .status-wrap .copy a{color:#333}body.sunny .el-table{background-color:hsla(0,0%,100%,.5)}body.sunny .head{background-color:rgba(246,248,250,.5)}body.sunny .el-table tr,body.sunny .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background-color:rgba(246,248,250,.2)}.el-pagination__total,body.sunny .el-pagination__sizes,body.sunny .status-wrap .copy a{color:#000}body.sunny a{color:#576acf}.status-api-wrap[data-v-1d3d9c26]{padding-right:2rem}.status-api-wrap a[data-v-1d3d9c26]{color:#333}.status-api-wrap span[data-v-1d3d9c26]{border-radius:1rem;background-color:rgba(0,0,0,.1);padding:0 .6rem;margin-left:.2rem}.status-api-wrap.connected a[data-v-1d3d9c26]{color:green;font-weight:700}.status-api-wrap.connected span[data-v-1d3d9c26]{background-color:green;color:#fff}.status-api-wrap .el-icon[data-v-1d3d9c26]{vertical-align:text-top}a a[data-v-72376126]{color:#333;margin-left:.6rem}a.connected[data-v-72376126]{color:green;font-weight:700}a .el-icon[data-v-72376126]{vertical-align:text-bottom}a[data-v-2183bbe0]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-2183bbe0]{line-height:normal;white-space:nowrap}.head[data-v-3e577fa7]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-3e577fa7]{width:20rem}.page[data-v-3e577fa7]{padding-top:1rem}.page-wrap[data-v-3e577fa7]{display:inline-block}.head[data-v-7dbf3a4a]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-7dbf3a4a]{width:20rem}.page[data-v-7dbf3a4a]{padding-top:1rem}.page-wrap[data-v-7dbf3a4a]{display:inline-block}.flow-wrap[data-v-630048e8]{padding:.4rem;font-weight:700;position:absolute;right:1rem;bottom:80%;border:1px solid #ddd;background-color:#fff;z-index:9}.flow-wrap>a[data-v-630048e8],.flow-wrap>p[data-v-630048e8]{line-height:normal;white-space:nowrap;display:block}a[data-v-70063cba]{font-weight:700}a .el-icon[data-v-70063cba]{vertical-align:text-bottom}a.download .el-icon[data-v-70063cba]{font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-70063cba]{animation:loading-70063cba 1s linear infinite}@keyframes loading-70063cba{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-server-wrap[data-v-2d85a782]{position:relative;padding-right:.5rem}.status-server-wrap a[data-v-2d85a782]{color:#333}.status-server-wrap a+a[data-v-2d85a782]{margin-left:.6rem}.status-server-wrap .el-icon[data-v-2d85a782]{vertical-align:text-bottom}.el-col[data-v-7a697708]{text-align:left}.status-export-wrap[data-v-2c769584]{padding-right:2rem}.status-export-wrap a[data-v-2c769584]{color:#333}.status-export-wrap .el-icon[data-v-2c769584]{vertical-align:text-top}.status-export-wrap .el-col[data-v-2c769584]{text-align:left}a[data-v-6653ef00]{color:#666;text-decoration:underline}a.green[data-v-6653ef00]{color:green;font-weight:700}a.download[data-v-6653ef00]{margin-left:.6rem}a.download .el-icon[data-v-6653ef00]{vertical-align:middle;font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-6653ef00]{animation:loading-6653ef00 1s linear infinite}a.download+a.download[data-v-6653ef00]{margin-left:.2rem}@keyframes loading-6653ef00{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-wrap[data-v-2a629595]{border-top:1px solid #ddd;background-color:#f5f5f5;height:3rem;line-height:3rem;font-size:1.2rem;color:#555}.status-wrap .pay[data-v-2a629595]{font-size:xxx-large}.status-wrap .pay img[data-v-2a629595]{width:100%;margin:0}.status-wrap .copy[data-v-2a629595]{padding-left:.5rem}.status-wrap .copy a[data-v-2a629595]{color:#555}.status-wrap a.memory[data-v-2a629595]{margin-right:.6rem}.status-wrap a.memory img[data-v-2a629595]{height:3rem;vertical-align:bottom;margin-right:.1rem}.body[data-v-6679776c]{padding:1rem 0 0 0}.footer[data-v-6679776c]{padding:1rem 0}.body[data-v-5cebfa33]{padding:1rem 0 0 0}.footer[data-v-5cebfa33]{padding:1rem 0}.body[data-v-41d4c7eb],.el-card+.el-card[data-v-5cebfa33]{margin-top:1rem}.footer[data-v-41d4c7eb]{margin-top:2rem}@media screen and (max-width:1000px){body .app-wrap[data-v-5ea3415a]{width:calc(100% - 40px);height:calc(100% - 40px);position:absolute;left:20px;top:20px;right:0;bottom:0;transform:none;max-width:calc(100% - 40px)}}.app-wrap[data-v-5ea3415a]{box-sizing:border-box;background-color:#fff;border:1px solid #d0d7de;width:81rem;max-width:80%;height:90%;position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%)} \ No newline at end of file diff --git a/linker.tray.win/web/css/402.bc681d99.css b/linker.tray.win/web/css/402.bc681d99.css deleted file mode 100644 index 481fac6c..00000000 --- a/linker.tray.win/web/css/402.bc681d99.css +++ /dev/null @@ -1 +0,0 @@ -.action-wrap[data-v-3cb5be52]{font-size:1.3rem;padding:1.5rem} \ No newline at end of file diff --git a/linker.tray.win/web/css/57.713ee644.css b/linker.tray.win/web/css/57.713ee644.css new file mode 100644 index 00000000..7936207f --- /dev/null +++ b/linker.tray.win/web/css/57.713ee644.css @@ -0,0 +1 @@ +.action-wrap[data-v-7e144fd0]{font-size:1.3rem;padding:1.5rem} \ No newline at end of file diff --git a/linker.tray.win/web/css/966.149bc7b3.css b/linker.tray.win/web/css/836.52e8e95a.css similarity index 91% rename from linker.tray.win/web/css/966.149bc7b3.css rename to linker.tray.win/web/css/836.52e8e95a.css index a9655cac..8e662400 100644 --- a/linker.tray.win/web/css/966.149bc7b3.css +++ b/linker.tray.win/web/css/836.52e8e95a.css @@ -1 +1 @@ -#file-input[data-v-4892cd3c]{opacity:0;position:absolute;z-index:-1}.el-icon[data-v-4892cd3c]{font-size:1.6rem;vertical-align:middle;color:#555}body.sunny{background-image:url(../img/bg.a2158f12.jpg);background-repeat:no-repeat;background-size:cover;background-position:bottom;position:absolute;left:0;top:0;right:0;bottom:0}body.sunny .status-wrap{background-color:hsla(0,0%,100%,.5)}body.sunny .head-wrap{background-color:hsla(0,0%,100%,.7)}body.sunny .net-list-wrap ul li,body.sunny .net-wrap{background-color:hsla(0,0%,98%,.5)}.head-wrap[data-v-3bb95ac8]{background-color:#fafafa;padding:1rem;border-bottom:1px solid #ddd;box-shadow:1px 2px 3px rgba(0,0,0,.05);font-size:1.4rem}.head-wrap span.label[data-v-3bb95ac8]{line-height:2.4rem;margin-right:.6rem;color:#555}a[data-v-6653ef00]{color:#666;text-decoration:underline}a.green[data-v-6653ef00]{color:green;font-weight:700}a.download[data-v-6653ef00]{margin-left:.6rem}a.download .el-icon[data-v-6653ef00]{vertical-align:middle;font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-6653ef00]{animation:loading-6653ef00 1s linear infinite}a.download+a.download[data-v-6653ef00]{margin-left:.2rem}@keyframes loading-6653ef00{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}img.system[data-v-ffd0d512]{height:1.6rem;vertical-align:middle;margin-right:.4rem}.self[data-v-ffd0d512]{color:#d400ff}.self .el-icon[data-v-ffd0d512]{vertical-align:text-bottom}span.point[data-v-39aee530]{width:.8rem;height:.8rem;border-radius:50%;display:inline-block;vertical-align:middle;margin:-.2rem .3rem 0 -1.3rem;background-color:#eee;border:1px solid #ddd}span.point.p2p[data-v-39aee530]{background-color:#01c901;border:1px solid #049538}span.point.relay[data-v-39aee530]{background-color:#e3e811;border:1px solid #b3c410}span.point.node[data-v-39aee530]{background-color:#09dda9;border:1px solid #0cac90}.el-icon.loading[data-v-f8059b00],a.loading[data-v-f8059b00]{vertical-align:middle;font-weight:700;animation:loading-f8059b00 1s linear infinite}.el-switch.is-disabled[data-v-f8059b00]{opacity:1}.el-input[data-v-f8059b00]{width:8rem}.delay[data-v-f8059b00]{position:absolute;right:0;bottom:0;line-height:normal}.switch-btn[data-v-f8059b00]{font-size:1.5rem}@keyframes loading-f8059b00{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.net-list-wrap ul[data-v-b6ab4f06]{padding:2rem 2rem 1rem 2rem}.net-list-wrap ul li[data-v-b6ab4f06]{margin-bottom:1rem;border:1px solid #ddd;background-color:#fff;font-size:1.3rem;border-radius:.4rem}.net-list-wrap ul li dt[data-v-b6ab4f06]{padding:.6rem;border-bottom:1px solid #ddd}.net-list-wrap ul li dd.tuntap[data-v-b6ab4f06]{padding:1rem;position:relative}.net-list-wrap .page[data-v-b6ab4f06]{padding:.6rem 0;border-top:1px solid #ddd;background-color:hsla(0,0%,98%,.5);box-shadow:-1px -2px 3px rgba(0,0,0,.05)}.net-list-wrap .page-wrap[data-v-b6ab4f06]{display:inline-block}.status-api-wrap[data-v-1d3d9c26]{padding-right:2rem}.status-api-wrap a[data-v-1d3d9c26]{color:#333}.status-api-wrap span[data-v-1d3d9c26]{border-radius:1rem;background-color:rgba(0,0,0,.1);padding:0 .6rem;margin-left:.2rem}.status-api-wrap.connected a[data-v-1d3d9c26]{color:green;font-weight:700}.status-api-wrap.connected span[data-v-1d3d9c26]{background-color:green;color:#fff}.status-api-wrap .el-icon[data-v-1d3d9c26]{vertical-align:text-top}a a[data-v-3b6604f4]{color:#333;margin-left:.6rem}a.connected[data-v-3b6604f4]{color:green;font-weight:700}a .el-icon[data-v-3b6604f4]{vertical-align:text-bottom}a[data-v-2183bbe0]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-2183bbe0]{line-height:normal;white-space:nowrap}.head[data-v-3e577fa7]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-3e577fa7]{width:20rem}.page[data-v-3e577fa7]{padding-top:1rem}.page-wrap[data-v-3e577fa7]{display:inline-block}.head[data-v-7dbf3a4a]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-7dbf3a4a]{width:20rem}.page[data-v-7dbf3a4a]{padding-top:1rem}.page-wrap[data-v-7dbf3a4a]{display:inline-block}.flow-wrap[data-v-630048e8]{padding:.4rem;font-weight:700;position:absolute;right:1rem;bottom:80%;border:1px solid #ddd;background-color:#fff;z-index:9}.flow-wrap>a[data-v-630048e8],.flow-wrap>p[data-v-630048e8]{line-height:normal;white-space:nowrap;display:block}a[data-v-70063cba]{font-weight:700}a .el-icon[data-v-70063cba]{vertical-align:text-bottom}a.download .el-icon[data-v-70063cba]{font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-70063cba]{animation:loading-70063cba 1s linear infinite}@keyframes loading-70063cba{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-server-wrap[data-v-2d85a782]{position:relative;padding-right:.5rem}.status-server-wrap a[data-v-2d85a782]{color:#333}.status-server-wrap a+a[data-v-2d85a782]{margin-left:.6rem}.status-server-wrap .el-icon[data-v-2d85a782]{vertical-align:text-bottom}.el-col[data-v-5d52ca48]{text-align:left}.status-export-wrap[data-v-0ef57e46]{padding-right:2rem}.status-export-wrap a[data-v-0ef57e46]{color:#333}.status-export-wrap .el-icon[data-v-0ef57e46]{vertical-align:text-top}.status-export-wrap .el-col[data-v-0ef57e46]{text-align:left}.status-wrap[data-v-2a629595]{border-top:1px solid #ddd;background-color:#f5f5f5;height:3rem;line-height:3rem;font-size:1.2rem;color:#555}.status-wrap .pay[data-v-2a629595]{font-size:xxx-large}.status-wrap .pay img[data-v-2a629595]{width:100%;margin:0}.status-wrap .copy[data-v-2a629595]{padding-left:.5rem}.status-wrap .copy a[data-v-2a629595]{color:#555}.status-wrap a.memory[data-v-2a629595]{margin-right:.6rem}.status-wrap a.memory img[data-v-2a629595]{height:3rem;vertical-align:bottom;margin-right:.1rem}.net-wrap[data-v-6a3f3b43]{box-sizing:border-box;background-color:#fafafa;border:1px solid #d0d7de;width:calc(100% - 40px);height:calc(100% - 40px);position:absolute;left:20px;top:20px} \ No newline at end of file +#file-input[data-v-4892cd3c]{opacity:0;position:absolute;z-index:-1}.el-icon[data-v-4892cd3c]{font-size:1.6rem;vertical-align:middle;color:#555}body.sunny{background-image:url(../img/bg.a2158f12.jpg);background-repeat:no-repeat;background-size:cover;background-position:bottom;position:absolute;left:0;top:0;right:0;bottom:0}body.sunny .status-wrap{background-color:hsla(0,0%,100%,.5)}body.sunny .head-wrap{background-color:hsla(0,0%,100%,.7)}body.sunny .net-list-wrap ul li,body.sunny .net-wrap{background-color:hsla(0,0%,98%,.5)}.head-wrap[data-v-3bb95ac8]{background-color:#fafafa;padding:1rem;border-bottom:1px solid #ddd;box-shadow:1px 2px 3px rgba(0,0,0,.05);font-size:1.4rem}.head-wrap span.label[data-v-3bb95ac8]{line-height:2.4rem;margin-right:.6rem;color:#555}a[data-v-6653ef00]{color:#666;text-decoration:underline}a.green[data-v-6653ef00]{color:green;font-weight:700}a.download[data-v-6653ef00]{margin-left:.6rem}a.download .el-icon[data-v-6653ef00]{vertical-align:middle;font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-6653ef00]{animation:loading-6653ef00 1s linear infinite}a.download+a.download[data-v-6653ef00]{margin-left:.2rem}@keyframes loading-6653ef00{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}img.system[data-v-ffd0d512]{height:1.6rem;vertical-align:middle;margin-right:.4rem}.self[data-v-ffd0d512]{color:#d400ff}.self .el-icon[data-v-ffd0d512]{vertical-align:text-bottom}span.point[data-v-39aee530]{width:.8rem;height:.8rem;border-radius:50%;display:inline-block;vertical-align:middle;margin:-.2rem .3rem 0 -1.3rem;background-color:#eee;border:1px solid #ddd}span.point.p2p[data-v-39aee530]{background-color:#01c901;border:1px solid #049538}span.point.relay[data-v-39aee530]{background-color:#e3e811;border:1px solid #b3c410}span.point.node[data-v-39aee530]{background-color:#09dda9;border:1px solid #0cac90}.el-icon.loading[data-v-f8059b00],a.loading[data-v-f8059b00]{vertical-align:middle;font-weight:700;animation:loading-f8059b00 1s linear infinite}.el-switch.is-disabled[data-v-f8059b00]{opacity:1}.el-input[data-v-f8059b00]{width:8rem}.delay[data-v-f8059b00]{position:absolute;right:0;bottom:0;line-height:normal}.switch-btn[data-v-f8059b00]{font-size:1.5rem}@keyframes loading-f8059b00{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.net-list-wrap ul[data-v-b6ab4f06]{padding:2rem 2rem 1rem 2rem}.net-list-wrap ul li[data-v-b6ab4f06]{margin-bottom:1rem;border:1px solid #ddd;background-color:#fff;font-size:1.3rem;border-radius:.4rem}.net-list-wrap ul li dt[data-v-b6ab4f06]{padding:.6rem;border-bottom:1px solid #ddd}.net-list-wrap ul li dd.tuntap[data-v-b6ab4f06]{padding:1rem;position:relative}.net-list-wrap .page[data-v-b6ab4f06]{padding:.6rem 0;border-top:1px solid #ddd;background-color:hsla(0,0%,98%,.5);box-shadow:-1px -2px 3px rgba(0,0,0,.05)}.net-list-wrap .page-wrap[data-v-b6ab4f06]{display:inline-block}.status-api-wrap[data-v-1d3d9c26]{padding-right:2rem}.status-api-wrap a[data-v-1d3d9c26]{color:#333}.status-api-wrap span[data-v-1d3d9c26]{border-radius:1rem;background-color:rgba(0,0,0,.1);padding:0 .6rem;margin-left:.2rem}.status-api-wrap.connected a[data-v-1d3d9c26]{color:green;font-weight:700}.status-api-wrap.connected span[data-v-1d3d9c26]{background-color:green;color:#fff}.status-api-wrap .el-icon[data-v-1d3d9c26]{vertical-align:text-top}a a[data-v-72376126]{color:#333;margin-left:.6rem}a.connected[data-v-72376126]{color:green;font-weight:700}a .el-icon[data-v-72376126]{vertical-align:text-bottom}a[data-v-2183bbe0]{font-weight:700;position:absolute;right:1rem;bottom:90%;border:1px solid #ddd;background-color:#fff;z-index:9}a p[data-v-2183bbe0]{line-height:normal;white-space:nowrap}.head[data-v-3e577fa7]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-3e577fa7]{width:20rem}.page[data-v-3e577fa7]{padding-top:1rem}.page-wrap[data-v-3e577fa7]{display:inline-block}.head[data-v-7dbf3a4a]{padding-bottom:1rem;text-align:center}.head .el-input[data-v-7dbf3a4a]{width:20rem}.page[data-v-7dbf3a4a]{padding-top:1rem}.page-wrap[data-v-7dbf3a4a]{display:inline-block}.flow-wrap[data-v-630048e8]{padding:.4rem;font-weight:700;position:absolute;right:1rem;bottom:80%;border:1px solid #ddd;background-color:#fff;z-index:9}.flow-wrap>a[data-v-630048e8],.flow-wrap>p[data-v-630048e8]{line-height:normal;white-space:nowrap;display:block}a[data-v-70063cba]{font-weight:700}a .el-icon[data-v-70063cba]{vertical-align:text-bottom}a.download .el-icon[data-v-70063cba]{font-weight:700;margin-left:.3rem}a.download .el-icon.loading[data-v-70063cba]{animation:loading-70063cba 1s linear infinite}@keyframes loading-70063cba{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-server-wrap[data-v-2d85a782]{position:relative;padding-right:.5rem}.status-server-wrap a[data-v-2d85a782]{color:#333}.status-server-wrap a+a[data-v-2d85a782]{margin-left:.6rem}.status-server-wrap .el-icon[data-v-2d85a782]{vertical-align:text-bottom}.el-col[data-v-7a697708]{text-align:left}.status-export-wrap[data-v-2c769584]{padding-right:2rem}.status-export-wrap a[data-v-2c769584]{color:#333}.status-export-wrap .el-icon[data-v-2c769584]{vertical-align:text-top}.status-export-wrap .el-col[data-v-2c769584]{text-align:left}.status-wrap[data-v-2a629595]{border-top:1px solid #ddd;background-color:#f5f5f5;height:3rem;line-height:3rem;font-size:1.2rem;color:#555}.status-wrap .pay[data-v-2a629595]{font-size:xxx-large}.status-wrap .pay img[data-v-2a629595]{width:100%;margin:0}.status-wrap .copy[data-v-2a629595]{padding-left:.5rem}.status-wrap .copy a[data-v-2a629595]{color:#555}.status-wrap a.memory[data-v-2a629595]{margin-right:.6rem}.status-wrap a.memory img[data-v-2a629595]{height:3rem;vertical-align:bottom;margin-right:.1rem}.net-wrap[data-v-6a3f3b43]{box-sizing:border-box;background-color:#fafafa;border:1px solid #d0d7de;width:calc(100% - 40px);height:calc(100% - 40px);position:absolute;left:20px;top:20px} \ No newline at end of file diff --git a/linker.tray.win/web/css/857.4af25108.css b/linker.tray.win/web/css/857.4af25108.css new file mode 100644 index 00000000..58439db5 --- /dev/null +++ b/linker.tray.win/web/css/857.4af25108.css @@ -0,0 +1 @@ +.delay[data-v-3a883663]{margin-left:3rem}.servers-wrap[data-v-57813473]{padding:1rem;font-size:1.3rem;color:#555}.servers-wrap a[data-v-57813473]{color:#333}.el-checkbox[data-v-57813473]{vertical-align:middle;margin-right:1rem} \ No newline at end of file diff --git a/linker.tray.win/web/css/857.4e351ac8.css b/linker.tray.win/web/css/857.4e351ac8.css deleted file mode 100644 index 43b49102..00000000 --- a/linker.tray.win/web/css/857.4e351ac8.css +++ /dev/null @@ -1 +0,0 @@ -.delay[data-v-3a883663]{margin-left:3rem}.servers-wrap[data-v-11926c68]{padding:1rem;font-size:1.3rem;color:#555}.servers-wrap a[data-v-11926c68]{color:#333}.el-checkbox[data-v-11926c68]{vertical-align:middle;margin-right:1rem} \ No newline at end of file diff --git a/linker.tray.win/web/index.html b/linker.tray.win/web/index.html index 489b497a..7be74842 100644 --- a/linker.tray.win/web/index.html +++ b/linker.tray.win/web/index.html @@ -1 +1 @@ -linker.web
\ No newline at end of file +linker.web
\ No newline at end of file diff --git a/linker.tray.win/web/js/276.b7efbea0.js b/linker.tray.win/web/js/276.b7efbea0.js new file mode 100644 index 00000000..ffb0dcdc --- /dev/null +++ b/linker.tray.win/web/js/276.b7efbea0.js @@ -0,0 +1 @@ +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[276],{9232:function(e,a,l){l.d(a,{W4:function(){return o},q:function(){return n},uQ:function(){return r}});var t=l(4);const n=e=>(0,t.zG)("relay/SetServers",e),o=()=>(0,t.zG)("relay/Subscribe"),r=e=>(0,t.zG)("relay/Connect",e)},743:function(e,a,l){l.d(a,{Ap:function(){return n},Co:function(){return o},DY:function(){return u},Qs:function(){return i},a9:function(){return s},eX:function(){return c},gz:function(){return d},pY:function(){return r}});var t=l(4);const n=()=>(0,t.zG)("sforward/GetSecretKey"),o=e=>(0,t.zG)("sforward/SetSecretKey",e),r=e=>(0,t.zG)("sforward/get",e),s=()=>(0,t.zG)("sforward/refresh"),d=(e="0")=>(0,t.zG)("sforward/getcount",e),u=e=>(0,t.zG)("sforward/remove",e),i=e=>(0,t.zG)("sforward/add",e),c=e=>(0,t.zG)("sforward/TestLocal",e)},83:function(e,a,l){l.d(a,{$M:function(){return s},KW:function(){return r},gM:function(){return o},r7:function(){return n}});var t=l(4);const n=(e="0")=>(0,t.zG)("tunnel/get",e),o=()=>(0,t.zG)("tunnel/refresh"),r=e=>(0,t.zG)("tunnel/SetRouteLevel",e),s=e=>(0,t.zG)("tunnel/SetTransports",e)},217:function(e,a,l){l.r(a),l.d(a,{default:function(){return ot}});var t=l(6768);const n={class:"home-list-wrap absolute"},o={class:"page t-c"},r={class:"page-wrap"};function s(e,a,l,s,d,u){const i=(0,t.g2)("Sort"),c=(0,t.g2)("Device"),h=(0,t.g2)("Tunnel"),m=(0,t.g2)("Tuntap"),p=(0,t.g2)("Socks5"),w=(0,t.g2)("Forward"),g=(0,t.g2)("Oper"),k=(0,t.g2)("el-table"),f=(0,t.g2)("el-pagination"),v=(0,t.g2)("DeviceEdit"),b=(0,t.g2)("AccessEdit"),F=(0,t.g2)("TunnelEdit"),C=(0,t.g2)("ConnectionsEdit"),L=(0,t.g2)("TuntapEdit"),E=(0,t.g2)("Socks5Edit"),_=(0,t.g2)("TuntapLease"),P=(0,t.g2)("ForwardEdit"),V=(0,t.g2)("SForwardEdit");return(0,t.uX)(),(0,t.CE)("div",n,[(0,t.bF)(i,{onSort:s.handleSortChange},null,8,["onSort"]),(0,t.bF)(k,{data:s.devices.page.List,stripe:"",border:"",style:{width:"100%"},height:`${s.state.height}px`,size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(c,{onEdit:s.handleDeviceEdit,onRefresh:s.handlePageRefresh},null,8,["onEdit","onRefresh"]),(0,t.bF)(h,{onEdit:s.handleTunnelEdit,onRefresh:s.handleTunnelRefresh,onConnections:s.handleTunnelConnections},null,8,["onEdit","onRefresh","onConnections"]),s.tuntap.show?((0,t.uX)(),(0,t.Wv)(m,{key:0,onEdit:s.handleTuntapEdit,onRefresh:s.handleTuntapRefresh},null,8,["onEdit","onRefresh"])):(0,t.Q3)("",!0),s.socks5.show?((0,t.uX)(),(0,t.Wv)(p,{key:1,onEdit:s.handleSocks5Edit,onRefresh:s.handleSocks5Refresh},null,8,["onEdit","onRefresh"])):(0,t.Q3)("",!0),s.forward.show?((0,t.uX)(),(0,t.Wv)(w,{key:2,onEdit:s.handleForwardEdit,onSedit:s.handleSForwardEdit},null,8,["onEdit","onSedit"])):(0,t.Q3)("",!0),(0,t.bF)(g,{onRefresh:s.handlePageRefresh,onAccess:s.handleAccessEdit},null,8,["onRefresh","onAccess"])])),_:1},8,["data","height"]),(0,t.Lk)("div",o,[(0,t.Lk)("div",r,[(0,t.bF)(f,{small:"",background:"",layout:"total,sizes,prev,pager, next",total:s.devices.page.Count,"page-size":s.devices.page.Request.Size,"current-page":s.devices.page.Request.Page,onCurrentChange:s.handlePageChange,onSizeChange:s.handlePageSizeChange,"page-sizes":[10,20,50,100,255]},null,8,["total","page-size","current-page","onCurrentChange","onSizeChange"])])]),s.devices.showDeviceEdit?((0,t.uX)(),(0,t.Wv)(v,{key:0,modelValue:s.devices.showDeviceEdit,"onUpdate:modelValue":a[0]||(a[0]=e=>s.devices.showDeviceEdit=e),onChange:s.handlePageChange,data:s.devices.deviceInfo},null,8,["modelValue","onChange","data"])):(0,t.Q3)("",!0),s.devices.showAccessEdit?((0,t.uX)(),(0,t.Wv)(b,{key:1,modelValue:s.devices.showAccessEdit,"onUpdate:modelValue":a[1]||(a[1]=e=>s.devices.showAccessEdit=e),onChange:s.handlePageChange,data:s.devices.deviceInfo},null,8,["modelValue","onChange","data"])):(0,t.Q3)("",!0),s.tunnel.showEdit?((0,t.uX)(),(0,t.Wv)(F,{key:2,modelValue:s.tunnel.showEdit,"onUpdate:modelValue":a[2]||(a[2]=e=>s.tunnel.showEdit=e),onChange:s.handleTunnelRefresh},null,8,["modelValue","onChange"])):(0,t.Q3)("",!0),s.connections.showEdit?((0,t.uX)(),(0,t.Wv)(C,{key:3,modelValue:s.connections.showEdit,"onUpdate:modelValue":a[3]||(a[3]=e=>s.connections.showEdit=e)},null,8,["modelValue"])):(0,t.Q3)("",!0),s.tuntap.showEdit?((0,t.uX)(),(0,t.Wv)(L,{key:4,modelValue:s.tuntap.showEdit,"onUpdate:modelValue":a[4]||(a[4]=e=>s.tuntap.showEdit=e),onChange:s.handleTuntapRefresh},null,8,["modelValue","onChange"])):(0,t.Q3)("",!0),s.socks5.showEdit?((0,t.uX)(),(0,t.Wv)(E,{key:5,modelValue:s.socks5.showEdit,"onUpdate:modelValue":a[5]||(a[5]=e=>s.socks5.showEdit=e),onChange:s.handleSocks5Refresh},null,8,["modelValue","onChange"])):(0,t.Q3)("",!0),s.tuntap.showLease?((0,t.uX)(),(0,t.Wv)(_,{key:6,modelValue:s.tuntap.showLease,"onUpdate:modelValue":a[6]||(a[6]=e=>s.tuntap.showLease=e),onChange:s.handleTuntapRefresh},null,8,["modelValue","onChange"])):(0,t.Q3)("",!0),s.forward.showEdit?((0,t.uX)(),(0,t.Wv)(P,{key:7,modelValue:s.forward.showEdit,"onUpdate:modelValue":a[7]||(a[7]=e=>s.forward.showEdit=e)},null,8,["modelValue"])):(0,t.Q3)("",!0),s.sforward.showEdit?((0,t.uX)(),(0,t.Wv)(V,{key:8,modelValue:s.sforward.showEdit,"onUpdate:modelValue":a[8]||(a[8]=e=>s.sforward.showEdit=e)},null,8,["modelValue"])):(0,t.Q3)("",!0)])}l(4114);var d=l(3830),u=l(144),i=l(1219);function c(e,a,l,n,o,r){const s=(0,t.g2)("el-table-column"),d=(0,t.g2)("el-checkbox"),u=(0,t.g2)("el-table");return(0,t.uX)(),(0,t.Wv)(u,{border:"",style:{width:"100%"},height:"32px",size:"small",onSortChange:n.handleSortChange,class:"table-sort"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{prop:"MachineId",label:"设备名",width:"110",sortable:"custom"}),(0,t.bF)(s,{prop:"Version",label:"版本",width:"110",sortable:"custom"}),(0,t.bF)(s,{prop:"tunnel",label:"网关",width:"76",sortable:"custom"}),n.tuntap.show?((0,t.uX)(),(0,t.Wv)(s,{key:0,prop:"tuntap",label:"网卡IP",width:"160",sortable:"custom"})):(0,t.Q3)("",!0),n.socks5.show?((0,t.uX)(),(0,t.Wv)(s,{key:1,prop:"socks5",label:"代理转发",width:"160",sortable:"custom"})):(0,t.Q3)("",!0),(0,t.bF)(s,{label:"columns",fixed:"right"},{header:(0,t.k6)((()=>[(0,t.bF)(d,{modelValue:n.tuntap.show,"onUpdate:modelValue":a[0]||(a[0]=e=>n.tuntap.show=e),onChange:n.handleTuntapShow,size:"small",style:{"margin-right":"1rem"}},{default:(0,t.k6)((()=>[(0,t.eW)("网卡")])),_:1},8,["modelValue","onChange"]),(0,t.bF)(d,{modelValue:n.socks5.show,"onUpdate:modelValue":a[1]||(a[1]=e=>n.socks5.show=e),onChange:n.handleSocks5Show,size:"small",style:{"margin-right":"1rem"}},{default:(0,t.k6)((()=>[(0,t.eW)("代理")])),_:1},8,["modelValue","onChange"]),(0,t.bF)(d,{modelValue:n.forward.show,"onUpdate:modelValue":a[2]||(a[2]=e=>n.forward.show=e),onChange:n.handleForwardShow,size:"small",style:{"margin-right":"0rem"}},{default:(0,t.k6)((()=>[(0,t.eW)("转发")])),_:1},8,["modelValue","onChange"])])),_:1})])),_:1},8,["onSortChange"])}var h=l(7716);const m=Symbol(),p=()=>{(0,d.B)();const e=(0,u.KR)({show:!0,timer:0,showEdit:!1,machineId:null,list:{},hashcode:0});(0,t.Gt)(m,e);const a=()=>{(0,h.dS)()},l=()=>{(0,h.V1)(e.value.hashcode.toString()).then((a=>{e.value.hashcode=a.HashCode,a.List&&(e.value.list=a.List),e.value.timer=setTimeout(l,1020)})).catch((()=>{e.value.timer=setTimeout(l,1020)}))},n=a=>{e.value.machineId=a[0],e.value.machineName=a[1],e.value.showEdit=!0},o=()=>{clearTimeout(e.value.timer)};return{forward:e,_getForwardCountInfo:l,handleForwardEdit:n,clearForwardTimeout:o,handleForwardRefresh:a}},w=()=>(0,t.WQ)(m);var g=l(2173);const k=Symbol(),f=()=>{const e=(0,u.KR)({show:!0,timer:0,showEdit:!1,current:null,list:{},hashcode:0});(0,t.Gt)(k,e);const a=()=>{clearTimeout(e.value.timer),(0,g.$y)(e.value.hashcode.toString()).then((l=>{if(e.value.hashcode=l.HashCode,l.List){for(let e in l.List)Object.assign(l.List[e],{running:2==l.List[e].Status,loading:1==l.List[e].Status});e.value.list=l.List}e.value.timer=setTimeout(a,1100)})).catch((l=>{e.value.timer=setTimeout(a,1100)}))},l=a=>{e.value.current=a,e.value.showEdit=!0},n=()=>{(0,g.QP)()},o=()=>{clearTimeout(e.value.timer),e.value.timer=0},r=a=>Object.values(e.value.list).filter((e=>e.Port.toString().indexOf(a)>=0||e.Lans.filter((e=>e.IP.indexOf(a)>=0)).length>0)).map((e=>e.MachineId)),s=a=>{const l=Object.values(e.value.list).sort(((e,a)=>e.Port-a.Port));return l.map((e=>e.MachineId))};return{socks5:e,_getSocks5Info:a,handleSocks5Edit:l,handleSocks5Refresh:n,clearSocks5Timeout:o,getSocks5Machines:r,sortSocks5:s}},v=()=>(0,t.WQ)(k);var b=l(8104),F={emits:["sort"],setup(e,{emit:a}){const l=(0,b.W)();l.value.show="false"!=localStorage.getItem("tuntap.show");const t=v();t.value.show="false"!=localStorage.getItem("socks5.show");const n=w();n.value.show="false"!=localStorage.getItem("forward.show");const o=e=>{a("sort",e)},r=()=>{localStorage.setItem("tuntap.show",l.value.show)},s=()=>{localStorage.setItem("socks5.show",t.value.show)},d=()=>{localStorage.setItem("forward.show",n.value.show)};return{tuntap:l,socks5:t,forward:n,handleSortChange:o,handleTuntapShow:r,handleSocks5Show:s,handleForwardShow:d}}},C=l(1241);const L=(0,C.A)(F,[["render",c],["__scopeId","data-v-4b2df38c"]]);var E=L;const _=e=>((0,t.Qi)("data-v-6638f97d"),e=e(),(0,t.jt)(),e),P={class:"dropdown"},V=_((()=>(0,t.Lk)("span",null,"操作",-1)));function S(e,a,l,n,o,r){const s=(0,t.g2)("ArrowDown"),d=(0,t.g2)("el-icon"),u=(0,t.g2)("SwitchButton"),i=(0,t.g2)("el-dropdown-item"),c=(0,t.g2)("Delete"),h=(0,t.g2)("Flag"),m=(0,t.g2)("el-dropdown-menu"),p=(0,t.g2)("el-dropdown"),w=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(w,{label:"操作",fixed:"right"},{default:(0,t.k6)((e=>[(0,t.bF)(p,{size:"small"},{dropdown:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[e.row.showReboot&&n.hasReboot?((0,t.uX)(),(0,t.Wv)(i,{key:0,onClick:a=>n.handleExit(e.row.MachineId,e.row.MachineName)},{default:(0,t.k6)((()=>[(0,t.bF)(d,null,{default:(0,t.k6)((()=>[(0,t.bF)(u)])),_:1}),(0,t.eW)(" 重启")])),_:2},1032,["onClick"])):(0,t.Q3)("",!0),e.row.showDel&&n.hasRemove?((0,t.uX)(),(0,t.Wv)(i,{key:1,onClick:a=>n.handleDel(e.row.MachineId,e.row.MachineName)},{default:(0,t.k6)((()=>[(0,t.bF)(d,null,{default:(0,t.k6)((()=>[(0,t.bF)(c)])),_:1}),(0,t.eW)(" 删除")])),_:2},1032,["onClick"])):(0,t.Q3)("",!0),n.handleShowAccess(e.row,n.accessList[e.row.MachineId]||0)?((0,t.uX)(),(0,t.Wv)(i,{key:2,onClick:a=>n.handleAccess(e.row)},{default:(0,t.k6)((()=>[(0,t.bF)(d,null,{default:(0,t.k6)((()=>[(0,t.bF)(h)])),_:1}),(0,t.eW)(" 权限")])),_:2},1032,["onClick"])):(0,t.Q3)("",!0)])),_:2},1024)])),default:(0,t.k6)((()=>[(0,t.Lk)("div",P,[V,(0,t.bF)(d,{class:"el-icon--right"},{default:(0,t.k6)((()=>[(0,t.bF)(s)])),_:1})])])),_:2},1024)])),_:1})}var I=l(9299),y=l(920),T=l(7477),R=l(2933),M=l(5962),W={emits:["refresh","access"],components:{Delete:T.epd,SwitchButton:T.L$q,ArrowDown:T.yd$,Flag:T.lNU},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,M.q)(),o=(0,t.EW)((()=>l.value.config.Client.Access)),r=(0,t.EW)((()=>l.value.hasAccess("Access"))),s=(0,t.EW)((()=>n.value.list)),u=(0,t.EW)((()=>l.value.hasAccess("Reboot"))),i=(0,t.EW)((()=>l.value.hasAccess("Remove"))),c=(e,l)=>{R.s.confirm(`确认删除[${l}]?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,I.Se)(e).then((()=>{a("refresh")}))})).catch((()=>{}))},h=(e,l)=>{R.s.confirm(`确认关闭[${l}]?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,y.NS)(e).then((()=>{a("refresh")}))})).catch((()=>{}))},m=(e,a)=>e.showAccess&&r.value&&a>=0&&0==+(~BigInt(o.value)&BigInt(a)).toString(),p=e=>{a("access",e)};return{accessList:s,handleDel:c,handleExit:h,hasReboot:u,hasRemove:i,hasAccess:r,handleShowAccess:m,handleAccess:p}}};const A=(0,C.A)(W,[["render",S],["__scopeId","data-v-6638f97d"]]);var X=A,B=l(4232);const N=e=>((0,t.Qi)("data-v-5db71b03"),e=e(),(0,t.jt)(),e),x={class:"flex"},z=N((()=>(0,t.Lk)("span",{class:"flex-1"},"设备",-1))),U={class:"flex"},D=["onClick"],K=["onClick"],Q=N((()=>(0,t.Lk)("span",null,"😴㊙.㊙.㊙.㊙",-1))),O=[Q],G=N((()=>(0,t.Lk)("span",{class:"flex-1"},null,-1)));function $(e,a,l,n,o,r){const s=(0,t.g2)("el-input"),d=(0,t.g2)("Search"),u=(0,t.g2)("el-icon"),i=(0,t.g2)("el-button"),c=(0,t.g2)("DeviceName"),h=(0,t.g2)("UpdaterBtn"),m=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(m,{prop:"MachineId",label:"设备",width:"220"},{header:(0,t.k6)((()=>[(0,t.Lk)("div",x,[z,(0,t.Lk)("span",null,[(0,t.bF)(s,{size:"small",modelValue:n.name,"onUpdate:modelValue":a[0]||(a[0]=e=>n.name=e),clearable:"",onInput:n.handleRefresh,placeholder:"设备/虚拟网卡/端口转发"},null,8,["modelValue","onInput"])]),(0,t.Lk)("span",null,[(0,t.bF)(i,{size:"small",onClick:n.handleRefresh},{default:(0,t.k6)((()=>[(0,t.bF)(u,null,{default:(0,t.k6)((()=>[(0,t.bF)(d)])),_:1})])),_:1},8,["onClick"])])])])),default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.Lk)("p",null,[(0,t.bF)(c,{onEdit:n.handleEdit,config:!0,item:e.row},null,8,["onEdit","item"])]),(0,t.Lk)("p",U,[e.row.showip?((0,t.uX)(),(0,t.CE)("span",{key:0,title:"此设备的外网IP",class:"ipaddress",onClick:a=>n.handleExternal(e.row)},[(0,t.Lk)("span",null,"😀"+(0,B.v_)(e.row.IP),1)],8,D)):((0,t.uX)(),(0,t.CE)("span",{key:1,title:"此设备的外网IP",class:"ipaddress",onClick:a=>n.handleExternal(e.row)},O,8,K)),G,0==e.row.showip?((0,t.uX)(),(0,t.Wv)(h,{key:2,config:!0,item:e.row},null,8,["item"])):(0,t.Q3)("",!0)])])])),_:1})}var q=l(167),j=l(3347),Y={emits:["edit","refresh"],components:{Search:T.vji,UpdaterBtn:q.A,DeviceName:j.A},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,t.EW)((()=>l.value.hasAccess("ExternalShow"))),o=(0,u.KR)(sessionStorage.getItem("search-name")||""),r=e=>{n.value&&(e.showip=!e.showip)},s=e=>{a("edit",e)},i=()=>{sessionStorage.setItem("search-name",o.value),a("refresh",o.value)};return{handleEdit:s,handleRefresh:i,name:o,handleExternal:r}}};const H=(0,C.A)(Y,[["render",$],["__scopeId","data-v-5db71b03"]]);var J=H;const Z=(0,t.Lk)("div",null,"修改后最好能重启一次客户端",-1),ee={class:"t-c w-100"};function ae(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-button"),i=(0,t.g2)("el-form"),c=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(c,{modelValue:n.state.show,"onUpdate:modelValue":a[2]||(a[2]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.ruleForm.MachineName}]设备`,width:"360"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(i,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"auto"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:""},{default:(0,t.k6)((()=>[Z])),_:1}),(0,t.bF)(s,{label:"设备名",prop:"MachineName"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{maxlength:"32","show-word-limit":"",modelValue:n.state.ruleForm.MachineName,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.MachineName=e)},null,8,["modelValue"])])),_:1}),(0,t.bF)(s,{label:"",prop:"Btns"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",ee,[(0,t.bF)(u,{onClick:a[1]||(a[1]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(u,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var le={props:["data","modelValue"],emits:["change","update:modelValue"],setup(e,{emit:a}){const l=(0,u.KR)(null),n=(0,u.Kh)({show:!0,ruleForm:{MachineName1:e.data.MachineName,MachineName:e.data.MachineName},rules:{}});(0,t.wB)((()=>n.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const o=()=>{e.data.MachineName!=n.ruleForm.MachineName&&(0,I.gC)({Id:e.data.MachineId,newName:n.ruleForm.MachineName}).then((()=>{n.show=!1,i.nk.success("已操作!"),a("change")})).catch((e=>{console.log(e),i.nk.error("操作失败!")}))};return{state:n,ruleFormRef:l,handleSave:o}}};const te=(0,C.A)(le,[["render",ae]]);var ne=te,oe=l(7985);function re(e,a,l,n,o,r){const s=(0,t.g2)("Access"),d=(0,t.g2)("el-button"),u=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(u,{modelValue:n.state.show,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.show=e),"close-on-click-modal":!1,center:"","append-to":".app-wrap",title:`设置[${n.machineName}]的权限`,width:"580",top:"1vh"},{footer:(0,t.k6)((()=>[(0,t.bF)(d,{plain:"",onClick:a[0]||(a[0]=e=>n.state.show=!1),loading:n.state.loading},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1},8,["loading"]),(0,t.bF)(d,{type:"success",plain:"",onClick:n.handleSave,loading:n.state.loading},{default:(0,t.k6)((()=>[(0,t.eW)("确定保存")])),_:1},8,["onClick","loading"])])),default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(s,{machineid:n.machineid,ref:"accessDom"},null,8,["machineid"])])])),_:1},8,["modelValue","title"])}var se=l(3363),de=l(6158),ue={props:["data","modelValue"],emits:["change","update:modelValue"],components:{Access:de.A},setup(e,{emit:a}){const l=(0,u.Kh)({show:!0,loading:!1});(0,t.wB)((()=>l.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const n=(0,u.KR)(null),o=()=>{l.loading=!0,(0,se.ZK)({ToMachineId:e.data.MachineId,Access:n.value.getValue()}).then((()=>{l.loading=!1,l.show=!1,i.nk.success("已操作!"),a("change")})).catch((e=>{console.log(e),l.loading=!1,i.nk.error("操作失败!")}))};return{machineName:e.data.MachineName,machineid:e.data.MachineId,state:l,accessDom:n,handleSave:o}}};const ie=(0,C.A)(ue,[["render",re]]);var ce=ie;const he={key:0};function me(e,a,l,n,o,r){const s=(0,t.g2)("TuntapShow"),d=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(d,{prop:"tuntap",label:"虚拟网卡",width:"160"},{header:(0,t.k6)((()=>[(0,t.Lk)("a",{href:"javascript:;",class:"a-line",onClick:a[0]||(a[0]=(...e)=>n.handleShowLease&&n.handleShowLease(...e))},"虚拟网卡")])),default:(0,t.k6)((e=>[n.tuntap.list[e.row.MachineId]?((0,t.uX)(),(0,t.CE)("div",he,[(0,t.bF)(s,{config:!0,item:e.row,onEdit:n.handleTuntapIP,onRefresh:n.handleTuntapRefresh},null,8,["item","onEdit","onRefresh"])])):(0,t.Q3)("",!0)])),_:1})}var pe=l(2950),we={emits:["edit","refresh"],components:{TuntapShow:pe.A},setup(e,{emit:a}){const l=(0,b.W)(),t=e=>{a("edit",e)},n=()=>{a("refresh")},o=()=>{l.value.showLease=!0};return{tuntap:l,handleTuntapIP:t,handleTuntapRefresh:n,handleShowLease:o}}};const ge=(0,C.A)(we,[["render",me]]);var ke=ge;const fe=e=>((0,t.Qi)("data-v-34275839"),e=e(),(0,t.jt)(),e),ve=fe((()=>(0,t.Lk)("span",null,"/",-1))),be=fe((()=>(0,t.Lk)("span",{style:{width:"2rem"}},null,-1))),Fe={key:0,class:"upgrade-wrap"},Ce={class:"w-100 t-c"};function Le(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-checkbox"),i=(0,t.g2)("TuntapLan"),c=(0,t.g2)("TuntapForward"),h=(0,t.g2)("el-button"),m=(0,t.g2)("el-form"),p=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(p,{modelValue:n.state.show,"onUpdate:modelValue":a[7]||(a[7]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.machineName}]组网`,top:"1vh",width:"760"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(m,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"8rem"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{prop:"gateway",class:"m-b-0"},{default:(0,t.k6)((()=>[(0,t.eW)("赐予此设备IP,其它设备可通过此IP访问")])),_:1}),(0,t.bF)(s,{label:"虚拟网卡IP",prop:"IP"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{modelValue:n.state.ruleForm.IP,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.IP=e),style:{width:"14rem"}},null,8,["modelValue"]),ve,(0,t.bF)(d,{onChange:n.handlePrefixLengthChange,modelValue:n.state.ruleForm.PrefixLength,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.ruleForm.PrefixLength=e),style:{width:"4rem"}},null,8,["onChange","modelValue"]),be,(0,t.bF)(u,{modelValue:n.state.ruleForm.ShowDelay,"onUpdate:modelValue":a[2]||(a[2]=e=>n.state.ruleForm.ShowDelay=e),label:"显示延迟",size:"large",style:{"margin-right":"1rem"}},null,8,["modelValue"]),(0,t.bF)(u,{modelValue:n.state.ruleForm.AutoConnect,"onUpdate:modelValue":a[3]||(a[3]=e=>n.state.ruleForm.AutoConnect=e),label:"自动连接",size:"large",style:{"margin-right":"1rem"}},null,8,["modelValue"]),(0,t.bF)(u,{modelValue:n.state.ruleForm.Multicast,"onUpdate:modelValue":a[4]||(a[4]=e=>n.state.ruleForm.Multicast=e),label:"禁用UDP广播",size:"large"},null,8,["modelValue"])])),_:1}),(0,t.bF)(s,{prop:"upgrade",class:"m-b-0"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:n.state.ruleForm.Upgrade,"onUpdate:modelValue":a[5]||(a[5]=e=>n.state.ruleForm.Upgrade=e),label:"我很懂,我要使用高级功能(点对网和网对网)",size:"large"},null,8,["modelValue"])])),_:1}),n.state.ruleForm.Upgrade?((0,t.uX)(),(0,t.CE)("div",Fe,[(0,t.bF)(s,{label:"局域网IP",prop:"LanIP",class:"m-b-0",style:{"border-bottom":"1px solid #ddd"}},{default:(0,t.k6)((()=>[(0,t.bF)(i,{ref:"lanDom"},null,512)])),_:1}),(0,t.bF)(s,{label:"端口转发",prop:"forwards"},{default:(0,t.k6)((()=>[(0,t.bF)(c,{ref:"forwardDom"},null,512)])),_:1})])):(0,t.Q3)("",!0),(0,t.bF)(s,{label:"",prop:"Btns","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",Ce,[(0,t.bF)(h,{onClick:a[6]||(a[6]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(h,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var Ee=l(5241);const _e=e=>((0,t.Qi)("data-v-786fe646"),e=e(),(0,t.jt)(),e),Pe={class:"w-100"},Ve=_e((()=>(0,t.Lk)("span",{class:"yellow"},"此设备无法使用NAT转发,或只想使用端口转发",-1))),Se={key:0,class:"green"},Ie={class:"wrap"},ye=["title"],Te={key:1},Re=["title"],Me={key:1},We=["title"],Ae={key:1},Xe={key:1,class:"remark"};function Be(e,a,l,n,o,r){const s=(0,t.g2)("el-input"),d=(0,t.g2)("el-table-column"),u=(0,t.g2)("Delete"),i=(0,t.g2)("el-icon"),c=(0,t.g2)("el-button"),h=(0,t.g2)("el-popconfirm"),m=(0,t.g2)("Plus"),p=(0,t.g2)("el-table");return(0,t.uX)(),(0,t.CE)("div",Pe,[(0,t.Lk)("div",null,[Ve,n.state.testing?((0,t.uX)(),(0,t.CE)("span",Se,"、testing")):(0,t.Q3)("",!0)]),(0,t.Lk)("div",Ie,[(0,t.bF)(p,{stripe:"",data:n.state.forwards,border:"",size:"small",width:"100%",height:"300px",onCellDblclick:n.handleCellClick},{default:(0,t.k6)((()=>[(0,t.bF)(d,{prop:"ListenPort",label:"源端口",width:"60"},{default:(0,t.k6)((e=>[e.row.ListenPortEditing?((0,t.uX)(),(0,t.Wv)(s,{key:0,autofocus:"",size:"small",modelValue:e.row.ListenPort,"onUpdate:modelValue":a=>e.row.ListenPort=a,onBlur:a=>n.handleEditBlur(e.row,"ListenPort")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.Error?((0,t.uX)(),(0,t.CE)("strong",{key:0,title:e.row.Error,class:"red"},(0,B.v_)(e.row.ListenPort),9,ye)):((0,t.uX)(),(0,t.CE)("span",Te,(0,B.v_)(e.row.ListenPort),1))],64))])),_:1}),(0,t.bF)(d,{prop:"ConnectAddr",label:"目标IP",width:"120"},{default:(0,t.k6)((e=>[e.row.ConnectAddrEditing?((0,t.uX)(),(0,t.Wv)(s,{key:0,autofocus:"",size:"small",modelValue:e.row.ConnectAddr,"onUpdate:modelValue":a=>e.row.ConnectAddr=a,onBlur:a=>n.handleEditBlur(e.row,"ConnectAddr")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.Error?((0,t.uX)(),(0,t.CE)("strong",{key:0,title:e.row.Error,class:"red"},(0,B.v_)(e.row.ConnectAddr),9,Re)):((0,t.uX)(),(0,t.CE)("span",Me,(0,B.v_)(e.row.ConnectAddr),1))],64))])),_:1}),(0,t.bF)(d,{prop:"ConnectPort",label:"目标端口",width:"80"},{default:(0,t.k6)((e=>[e.row.ConnectPortEditing?((0,t.uX)(),(0,t.Wv)(s,{key:0,autofocus:"",size:"small",modelValue:e.row.ConnectPort,"onUpdate:modelValue":a=>e.row.ConnectPort=a,onBlur:a=>n.handleEditBlur(e.row,"ConnectPort")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.Error?((0,t.uX)(),(0,t.CE)("strong",{key:0,title:e.row.Error,class:"red"},(0,B.v_)(e.row.ConnectPort),9,We)):((0,t.uX)(),(0,t.CE)("span",Ae,(0,B.v_)(e.row.ConnectPort),1))],64))])),_:1}),(0,t.bF)(d,{prop:"Remark",label:"备注"},{default:(0,t.k6)((e=>[e.row.RemarkEditing?((0,t.uX)(),(0,t.Wv)(s,{key:0,autofocus:"",size:"small",modelValue:e.row.Remark,"onUpdate:modelValue":a=>e.row.Remark=a,onBlur:a=>n.handleEditBlur(e.row,"Remark")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)("div",Xe,(0,B.v_)(e.row.Remark),1))])),_:1}),(0,t.bF)(d,{prop:"Oper",label:"操作",width:"110"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.bF)(h,{title:"删除不可逆,是否确认?",onConfirm:a=>n.handleDel(e.$index)},{reference:(0,t.k6)((()=>[(0,t.bF)(c,{type:"danger",size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(i,null,{default:(0,t.k6)((()=>[(0,t.bF)(u)])),_:1})])),_:1})])),_:2},1032,["onConfirm"]),(0,t.bF)(c,{type:"primary",size:"small",onClick:a=>n.handleAdd(e.$index)},{default:(0,t.k6)((()=>[(0,t.bF)(i,null,{default:(0,t.k6)((()=>[(0,t.bF)(m)])),_:1})])),_:2},1032,["onClick"])])])),_:1})])),_:1},8,["data","onCellDblclick"])])])}var Ne={props:["modelValue"],emits:["update:modelValue"],components:{Delete:T.epd,Plus:T.FWt,Warning:T.N5l,Refresh:T.C42},setup(e){const a=(0,b.W)(),l=(0,u.Kh)({machineName:a.value.current.device.MachineName,forwards:0==a.value.current.Forwards.length?[{ListenAddr:"0.0.0.0",ListenPort:0,ConnectAddr:"0.0.0.0",ConnectPort:0,Remark:""}]:a.value.current.Forwards.slice(0),timer:0,testing:!1}),n=(e,a)=>{o(e,a.property)},o=(e,a)=>{l.forwards.forEach((e=>{e["ListenAddrEditing"]=!1,e["ListenPortEditing"]=!1,e["ConnectAddrEditing"]=!1,e["ConnectPortEditing"]=!1,e["RemarkEditing"]=!1})),e[`${a}Editing`]=!0,e["__editing"]=!0},r=(e,a)=>{e[`${a}Editing`]=!1,e["__editing"]=!1},s=e=>{1==l.forwards.length?l.forwards[0]={ListenAddr:"0.0.0.0",ListenPort:0,ConnectAddr:"0.0.0.0",ConnectPort:0,Remark:""}:l.forwards.splice(e,1)},d=e=>{l.forwards.filter((e=>"0.0.0.0"==e.ConnectAddr||0==e.ConnectPort||0==e.ListenPort)).length>0||l.forwards.splice(e+1,0,{ListenAddr:"0.0.0.0",ListenPort:0,ConnectAddr:"0.0.0.0",ConnectPort:0,Remark:""})},i=()=>{clearTimeout(l.timer),l.testing=!0,(0,Ee._)({MachineId:a.value.current.MachineId,List:l.forwards.map((e=>({ListenAddr:e.ListenAddr,ListenPort:+e.ListenPort,ConnectAddr:e.ConnectAddr,ConnectPort:+e.ConnectPort})))}).then((e=>{var a=e.List;for(let t=0;t${e.ConnectAddr}:${e.ConnectPort}`,o=l.forwards.filter((e=>`${e.ListenPort}->${e.ConnectAddr}:${e.ConnectPort}`==n));for(let a=0;a{l.testing=!1,l.timer=setTimeout(i,3e3)}))};(0,t.sV)((()=>{i()})),(0,t.hi)((()=>{clearTimeout(l.timer)}));const c=()=>l.forwards.map((e=>(e.ListenPort=+e.ListenPort,e.ConnectPort=+e.ConnectPort,e)));return{state:l,handleCellClick:n,handleEditBlur:r,handleDel:s,handleAdd:d,getData:c}}};const xe=(0,C.A)(Ne,[["render",Be],["__scopeId","data-v-786fe646"]]);var ze=xe;const Ue=e=>((0,t.Qi)("data-v-4abaaeaf"),e=e(),(0,t.jt)(),e),De={class:"w-100"},Ke=Ue((()=>(0,t.Lk)("div",null,[(0,t.Lk)("span",{class:"yellow"},"填写局域网IP,使用NAT转发")],-1))),Qe={class:"wrap"},Oe=Ue((()=>(0,t.Lk)("span",null,"/",-1))),Ge={class:"pdl-10"},$e={class:"pdl-10"};function qe(e,a,l,n,o,r){const s=(0,t.g2)("el-input"),d=(0,t.g2)("el-checkbox"),u=(0,t.g2)("Delete"),i=(0,t.g2)("el-icon"),c=(0,t.g2)("el-button"),h=(0,t.g2)("Plus");return(0,t.uX)(),(0,t.CE)("div",De,[Ke,(0,t.Lk)("div",Qe,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.lans,((e,a)=>((0,t.uX)(),(0,t.CE)("div",{key:a,class:"flex",style:{"margin-bottom":".6rem"}},[(0,t.Lk)("div",null,[(0,t.bF)(s,{modelValue:e.IP,"onUpdate:modelValue":a=>e.IP=a,style:{width:"14rem"}},null,8,["modelValue","onUpdate:modelValue"]),Oe,(0,t.bF)(s,{onChange:e=>n.handleMaskChange(a),modelValue:e.PrefixLength,"onUpdate:modelValue":a=>e.PrefixLength=a,style:{width:"4rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"])]),(0,t.Lk)("div",Ge,[(0,t.bF)(d,{modelValue:e.Disabled,"onUpdate:modelValue":a=>e.Disabled=a,label:"禁用记录",style:{"vertical-align":"middle"}},null,8,["modelValue","onUpdate:modelValue"])]),(0,t.Lk)("div",$e,[(0,t.bF)(c,{type:"danger",onClick:e=>n.handleDel(a),size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(i,null,{default:(0,t.k6)((()=>[(0,t.bF)(u)])),_:1})])),_:2},1032,["onClick"]),(0,t.bF)(c,{type:"primary",onClick:e=>n.handleAdd(a),size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(i,null,{default:(0,t.k6)((()=>[(0,t.bF)(h)])),_:1})])),_:2},1032,["onClick"])])])))),128))])])}var je={props:["modelValue"],emits:["update:modelValue"],components:{Delete:T.epd,Plus:T.FWt,Warning:T.N5l,Refresh:T.C42},setup(e){const a=(0,b.W)(),l=(0,u.Kh)({lans:a.value.current.Lans.slice(0)});0==l.lans.length&&l.lans.push({IP:"0.0.0.0",PrefixLength:24});const t=e=>{var a=+l.lans[e].PrefixLength;(a>32||a<16||isNaN(a))&&(a=24),l.lans[e].PrefixLength=a},n=e=>{l.lans.splice(e,1),0==l.lans.length&&o(0)},o=e=>{l.lans.splice(e+1,0,{IP:"0.0.0.0",PrefixLength:24})},r=()=>l.lans.map((e=>(e.PrefixLength=+e.PrefixLength,e)));return{state:l,handleMaskChange:t,handleDel:n,handleAdd:o,getData:r}}};const Ye=(0,C.A)(je,[["render",qe],["__scopeId","data-v-4abaaeaf"]]);var He=Ye,Je={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:T.epd,Plus:T.FWt,Warning:T.N5l,Refresh:T.C42,TuntapForward:ze,TuntapLan:He},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,b.W)(),o=(0,u.KR)(null),r=(0,u.Kh)({show:!0,machineName:n.value.current.device.MachineName,bufferSize:l.value.bufferSize,ruleForm:{IP:n.value.current.IP,PrefixLength:n.value.current.PrefixLength||24,Gateway:n.value.current.Gateway,ShowDelay:n.value.current.ShowDelay,AutoConnect:n.value.current.AutoConnect,Upgrade:n.value.current.Upgrade,Multicast:n.value.current.Multicast,Forwards:n.value.current.Forwards},rules:{}});(0,t.wB)((()=>r.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const s=()=>{var e=+r.ruleForm.PrefixLength;(e>32||e<16||isNaN(e))&&(e=24),r.ruleForm.PrefixLength=e},c=(0,u.KR)(null),h=(0,u.KR)(null),m=()=>{const e=JSON.parse(JSON.stringify(n.value.current));e.IP=r.ruleForm.IP.replace(/\s/g,"")||"0.0.0.0",e.Lans=c.value?c.value.getData():n.value.current.Lans,e.PrefixLength=+r.ruleForm.PrefixLength,e.Gateway=r.ruleForm.Gateway,e.ShowDelay=r.ruleForm.ShowDelay,e.AutoConnect=r.ruleForm.AutoConnect,e.Upgrade=r.ruleForm.Upgrade,e.Multicast=r.ruleForm.Multicast,e.Forwards=h.value?h.value.getData():n.value.current.Forwards,(0,Ee.ac)(e).then((()=>{r.show=!1,i.nk.success("已操作!"),a("change")})).catch((e=>{console.log(e),i.nk.error("操作失败!")}))};return{state:r,ruleFormRef:o,handlePrefixLengthChange:s,handleSave:m,lanDom:c,forwardDom:h}}};const Ze=(0,C.A)(Je,[["render",Le],["__scopeId","data-v-34275839"]]);var ea=Ze;const aa=e=>((0,t.Qi)("data-v-4a28804a"),e=e(),(0,t.jt)(),e),la=aa((()=>(0,t.Lk)("p",null,"网络租期30天、IP租期7天",-1))),ta=aa((()=>(0,t.Lk)("span",null,"/",-1))),na=aa((()=>(0,t.Lk)("span",{style:{width:"1rem"}},null,-1))),oa={class:"calc"},ra=aa((()=>(0,t.Lk)("span",{class:"label"},"网络号",-1))),sa={class:"value"},da=aa((()=>(0,t.Lk)("span",{class:"label"},"网关",-1))),ua={class:"value"},ia=aa((()=>(0,t.Lk)("span",{class:"label"},"开始IP",-1))),ca={class:"value"},ha=aa((()=>(0,t.Lk)("span",{class:"label"},"结束IP",-1))),ma={class:"value"},pa=aa((()=>(0,t.Lk)("span",{class:"label"},"广播号",-1))),wa={class:"value"},ga=aa((()=>(0,t.Lk)("span",{class:"label"},"IP数量",-1))),ka={class:"value"};function fa(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-button"),i=(0,t.g2)("el-form"),c=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(c,{modelValue:n.state.show,"onUpdate:modelValue":a[3]||(a[3]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:"配置本组的网络",top:"1vh",width:"400"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(i,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"100"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{prop:"gateway"},{default:(0,t.k6)((()=>[la])),_:1}),(0,t.bF)(s,{label:"网络和掩码",prop:"IP"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{modelValue:n.state.ruleForm.IP,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.IP=e),style:{width:"14rem"},onChange:n.handlePrefixLengthChange},null,8,["modelValue","onChange"]),ta,(0,t.bF)(d,{onChange:n.handlePrefixLengthChange,modelValue:n.state.ruleForm.PrefixLength,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.ruleForm.PrefixLength=e),style:{width:"4rem"}},null,8,["onChange","modelValue"]),na,(0,t.bF)(u,{onClick:n.handleClear},{default:(0,t.k6)((()=>[(0,t.eW)("清除")])),_:1},8,["onClick"])])),_:1}),(0,t.bF)(s,{label:"",prop:"IP1"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",oa,[(0,t.Lk)("p",null,[ra,(0,t.Lk)("span",sa,(0,B.v_)(n.state.values.Network),1)]),(0,t.Lk)("p",null,[da,(0,t.Lk)("span",ua,(0,B.v_)(n.state.values.Gateway),1)]),(0,t.Lk)("p",null,[ia,(0,t.Lk)("span",ca,(0,B.v_)(n.state.values.Start),1)]),(0,t.Lk)("p",null,[ha,(0,t.Lk)("span",ma,(0,B.v_)(n.state.values.End),1)]),(0,t.Lk)("p",null,[pa,(0,t.Lk)("span",wa,(0,B.v_)(n.state.values.Broadcast),1)]),(0,t.Lk)("p",null,[ga,(0,t.Lk)("span",ka,(0,B.v_)(n.state.values.Count),1)])])])),_:1}),n.hasLease?((0,t.uX)(),(0,t.Wv)(s,{key:0,label:"",prop:"Btns"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(u,{onClick:a[2]||(a[2]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(u,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})):(0,t.Q3)("",!0)])),_:1},8,["model","rules"])])])),_:1},8,["modelValue"])}var va={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:T.epd,Plus:T.FWt},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,t.EW)((()=>l.value.hasAccess("Lease"))),o=(0,u.KR)(null),r=(0,u.Kh)({show:!0,ruleForm:{IP:"0.0.0.0",PrefixLength:24},rules:{},values:{}});(0,t.wB)((()=>r.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const s=()=>{(0,Ee.w0)(r.ruleForm).then((e=>{r.values=e}))},c=()=>{(0,Ee.Nj)().then((e=>{r.ruleForm.IP=e.IP,r.ruleForm.PrefixLength=e.PrefixLength,s()}))},h=()=>{var e=+r.ruleForm.PrefixLength;(e>32||e<16||isNaN(e))&&(e=24),r.ruleForm.PrefixLength=e,s()},m=()=>{(0,Ee.AE)(r.ruleForm).then((()=>{i.nk.success("已操作"),r.show=!1})).catch((e=>{console.log(e),i.nk.error("操作失败")}))},p=()=>{(0,Ee.AE)({IP:"0.0.0.0",PrefixLength:24}).then((()=>{i.nk.success("已操作"),c()})).catch((e=>{console.log(e),i.nk.error("操作失败")}))};return(0,t.sV)((()=>{c()})),{state:r,hasLease:n,ruleFormRef:o,handleSave:m,handlePrefixLengthChange:h,handleClear:p}}};const ba=(0,C.A)(va,[["render",fa],["__scopeId","data-v-4a28804a"]]);var Fa=ba;const Ca={key:0};function La(e,a,l,n,o,r){const s=(0,t.g2)("Socks5Show"),d=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(d,{prop:"socks5",label:"代理转发",width:"160"},{default:(0,t.k6)((e=>[n.socks5.list[e.row.MachineId]?((0,t.uX)(),(0,t.CE)("div",Ca,[(0,t.bF)(s,{config:!0,item:e.row,onEdit:n.handleSocks5,onRefresh:n.handleSocks5Refresh},null,8,["item","onEdit","onRefresh"])])):(0,t.Q3)("",!0)])),_:1})}const Ea={class:"flex"},_a={class:"flex-1"},Pa=["title"],Va={key:0,class:"green gateway"},Sa={key:1},Ia={key:0},ya={key:0,class:"flex yellow",title:"已禁用"},Ta={key:1,class:"flex red",title:"与其它设备填写IP、或本机局域网IP有冲突"};function Ra(e,a,l,n,o,r){const s=(0,t.g2)("ConnectionShow"),d=(0,t.g2)("Loading"),u=(0,t.g2)("el-icon"),i=(0,t.g2)("el-switch");return(0,t.uX)(),(0,t.CE)("div",null,[(0,t.Lk)("div",Ea,[(0,t.Lk)("div",_a,[(0,t.bF)(s,{data:n.connections.list[n.item.MachineId]},null,8,["data"]),(0,t.Lk)("a",{href:"javascript:;",class:"a-line",onClick:a[0]||(a[0]=e=>n.handleSocks5Port(n.socks5.list[n.item.MachineId])),title:"此设备的socks5代理"},[n.socks5.list[n.item.MachineId].SetupError?((0,t.uX)(),(0,t.CE)("strong",{key:0,class:"red",title:n.socks5.list[n.item.MachineId].SetupError}," socks5://*:"+(0,B.v_)(n.socks5.list[n.item.MachineId].Port),9,Pa)):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[n.socks5.list[n.item.MachineId].running?((0,t.uX)(),(0,t.CE)("strong",Va,"socks5://*:"+(0,B.v_)(n.socks5.list[n.item.MachineId].Port),1)):((0,t.uX)(),(0,t.CE)("span",Sa,"socks5://*:"+(0,B.v_)(n.socks5.list[n.item.MachineId].Port),1))],64))])]),n.socks5.list[n.item.MachineId].loading?((0,t.uX)(),(0,t.CE)("div",Ia,[(0,t.bF)(u,{size:"14",class:"loading"},{default:(0,t.k6)((()=>[(0,t.bF)(d)])),_:1})])):((0,t.uX)(),(0,t.Wv)(i,{key:1,modelValue:n.socks5.list[n.item.MachineId].running,"onUpdate:modelValue":a[1]||(a[1]=e=>n.socks5.list[n.item.MachineId].running=e),loading:n.socks5.list[n.item.MachineId].loading,disabled:"",onClick:a[2]||(a[2]=e=>n.handleSocks5(n.socks5.list[n.item.MachineId])),size:"small","inline-prompt":"","active-text":"😀","inactive-text":"😣"},null,8,["modelValue","loading"]))]),(0,t.Lk)("div",null,[(0,t.Lk)("div",null,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.socks5.list[n.item.MachineId].Lans,((e,a)=>((0,t.uX)(),(0,t.CE)(t.FK,{key:a},[e.Disabled?((0,t.uX)(),(0,t.CE)("div",ya,(0,B.v_)(e.IP)+" / "+(0,B.v_)(e.PrefixLength),1)):e.Exists?((0,t.uX)(),(0,t.CE)("div",Ta,(0,B.v_)(e.IP)+" / "+(0,B.v_)(e.PrefixLength),1)):((0,t.uX)(),(0,t.CE)("div",{key:2,class:(0,B.C4)(["flex",{green:n.socks5.list[n.item.MachineId].running}]),title:"正常使用"},(0,B.v_)(e.IP)+" / "+(0,B.v_)(e.PrefixLength),3))],64)))),128))])])])}var Ma=l(9983),Wa=l(4867),Aa={props:["item","config"],emits:["edit","refresh"],components:{Loading:T.Rhj,ConnectionShow:Wa.A},setup(e,{emit:a}){const l=v(),n=(0,d.B)(),o=(0,t.EW)((()=>n.value.config.Client.Id)),r=(0,t.EW)((()=>n.value.hasAccess("Socks5ChangeSelf"))),s=(0,t.EW)((()=>n.value.hasAccess("Socks5ChangeOther"))),u=(0,t.EW)((()=>n.value.hasAccess("Socks5StatusSelf"))),c=(0,t.EW)((()=>n.value.hasAccess("Socks5StatusOther"))),h=(0,Ma.bB)(),m=a=>{if(!e.config)return;if(o.value===a.MachineId){if(!u.value)return}else if(!c.value)return;const l=a.running?(0,g.R2)(a.MachineId):(0,g.qH)(a.MachineId);a.loading=!0,l.then((()=>{i.nk.success("操作成功!")})).catch((e=>{console.log(e),i.nk.error("操作失败!")}))},p=l=>{if(e.config||o.value==l.MachineId){if(o.value===l.MachineId){if(!r.value)return}else if(!s.value)return;l.device=e.item,a("edit",l)}},w=()=>{a("refresh")};return{item:(0,t.EW)((()=>e.item)),socks5:l,connections:h,handleSocks5:m,handleSocks5Port:p,handleSocks5Refresh:w}}};const Xa=(0,C.A)(Aa,[["render",Ra],["__scopeId","data-v-d37c5992"]]);var Ba=Xa,Na={emits:["edit","refresh"],components:{Socks5Show:Ba},setup(e,{emit:a}){const l=v(),t=e=>{a("edit",e)},n=()=>{a("refresh")};return{socks5:l,handleSocks5:t,handleSocks5Refresh:n}}};const xa=(0,C.A)(Na,[["render",La]]);var za=xa;const Ua=e=>((0,t.Qi)("data-v-022e3781"),e=e(),(0,t.jt)(),e),Da={class:"upgrade-wrap"},Ka={class:"flex-1"},Qa=Ua((()=>(0,t.Lk)("span",null,"/",-1))),Oa={class:"pdl-10"},Ga={class:"pdl-10"};function $a(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-checkbox"),i=(0,t.g2)("Delete"),c=(0,t.g2)("el-icon"),h=(0,t.g2)("el-button"),m=(0,t.g2)("Plus"),p=(0,t.g2)("el-form"),w=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(w,{modelValue:n.state.show,"onUpdate:modelValue":a[2]||(a[2]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.machineName}]代理`,top:"1vh",width:"600"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(p,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"140"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{prop:"gateway",style:{"margin-bottom":"0"}},{default:(0,t.k6)((()=>[(0,t.eW)(" 配置代理,通过代理访问其它设备 ")])),_:1}),(0,t.bF)(s,{label:"代理端口",prop:"Port"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{modelValue:n.state.ruleForm.Port,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.Port=e),style:{width:"14rem"}},null,8,["modelValue"])])),_:1}),(0,t.Lk)("div",Da,[(0,t.bF)(s,{label:"此设备局域网IP",prop:"LanIP",class:"lan-item"},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.ruleForm.Lans,((e,a)=>((0,t.uX)(),(0,t.CE)("div",{key:a,class:"flex",style:{"margin-bottom":".6rem"}},[(0,t.Lk)("div",Ka,[(0,t.bF)(d,{modelValue:e.IP,"onUpdate:modelValue":a=>e.IP=a,style:{width:"14rem"}},null,8,["modelValue","onUpdate:modelValue"]),Qa,(0,t.bF)(d,{onChange:e=>n.handleMaskChange(a),modelValue:e.PrefixLength,"onUpdate:modelValue":a=>e.PrefixLength=a,style:{width:"4rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"])]),(0,t.Lk)("div",Oa,[(0,t.bF)(u,{modelValue:e.Disabled,"onUpdate:modelValue":a=>e.Disabled=a,label:"禁用记录",size:"large"},null,8,["modelValue","onUpdate:modelValue"])]),(0,t.Lk)("div",Ga,[(0,t.bF)(h,{type:"danger",onClick:e=>n.handleDel(a)},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(i)])),_:1})])),_:2},1032,["onClick"]),(0,t.bF)(h,{type:"primary",onClick:e=>n.handleAdd(a)},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(m)])),_:1})])),_:2},1032,["onClick"])])])))),128))])),_:1})]),(0,t.bF)(s,{label:"",prop:"Btns"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(h,{onClick:a[1]||(a[1]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(h,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var qa={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:T.epd,Plus:T.FWt},setup(e,{emit:a}){const l=(0,d.B)(),n=v(),o=(0,u.KR)(null),r=(0,u.Kh)({show:!0,machineName:n.value.current.device.MachineName,bufferSize:l.value.bufferSize,ruleForm:{Port:n.value.current.Port,Lans:n.value.current.Lans.slice(0)},rules:{}});0==r.ruleForm.Lans.length&&r.ruleForm.Lans.push({IP:"0.0.0.0",PrefixLength:24}),(0,t.wB)((()=>r.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const s=e=>{var a=+r.ruleForm.Lans[e].PrefixLength;(a>32||a<16||isNaN(a))&&(a=24),r.ruleForm.Lans[e].PrefixLength=a},c=e=>{r.ruleForm.Lans.splice(e,1),0==r.ruleForm.Lans.length&&h(0)},h=e=>{r.ruleForm.Lans.splice(e+1,0,{IP:"0.0.0.0",PrefixLength:24})},m=()=>{const e=JSON.parse(JSON.stringify(n.value.current));e.Port=+(r.ruleForm.Port||"1805"),e.Lans=r.ruleForm.Lans.map((e=>(e.PrefixLength=+e.PrefixLength,e))),(0,g._Q)(e).then((()=>{r.show=!1,i.nk.success("已操作!"),a("change")})).catch((e=>{console.log(e),i.nk.error("操作失败!")}))};return{state:r,ruleFormRef:o,handleMaskChange:s,handleDel:c,handleAdd:h,handleSave:m}}};const ja=(0,C.A)(qa,[["render",$a],["__scopeId","data-v-022e3781"]]);var Ya=ja;const Ha={key:0},Ja=["title","onClick"],Za=["onClick"];function el(e,a,l,n,o,r){const s=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(s,{prop:"tunnel",label:"隧道",width:"76"},{default:(0,t.k6)((e=>[n.tunnel.list[e.row.MachineId]?((0,t.uX)(),(0,t.CE)("div",Ha,[(0,t.Lk)("a",{href:"javascript:;",class:(0,B.C4)(["a-line",{yellow:n.tunnel.list[e.row.MachineId].NeedReboot}]),title:n.tunnel.list[e.row.MachineId].NeedReboot?"需要重启":"调整网关层级有助于打洞成功",onClick:a=>n.handleTunnel(n.tunnel.list[e.row.MachineId],e.row)},[(0,t.Lk)("span",null,"网关:"+(0,B.v_)(n.tunnel.list[e.row.MachineId].RouteLevel)+"+"+(0,B.v_)(n.tunnel.list[e.row.MachineId].RouteLevelPlus),1)],10,Ja)])):(0,t.Q3)("",!0),(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",title:"与此设备的隧道连接",class:(0,B.C4)(["a-line",{green:n.connectionCount(e.row.MachineId)>0}]),onClick:a=>n.handleConnections(e.row)},[(0,t.Lk)("span",{class:(0,B.C4)({gateway:n.connectionCount(e.row.MachineId)>0})},[(0,t.eW)("连接:"),(0,t.Lk)("span",null,(0,B.v_)(n.connectionCount(e.row.MachineId)),1)],2)],10,Za)])])),_:1})}var al=l(83);const ll=Symbol(),tl=()=>{(0,d.B)();const e=(0,u.KR)({timer:0,showEdit:!1,current:null,list:{},hashcode:0});(0,t.Gt)(ll,e);const a=()=>{(0,al.r7)(e.value.hashcode.toString()).then((l=>{e.value.hashcode=l.HashCode,l.List&&(e.value.list=l.List),e.value.timer=setTimeout(a,1060)})).catch((()=>{e.value.timer=setTimeout(a,1060)}))},l=a=>{e.value.current=a,e.value.showEdit=!0},n=()=>{(0,al.gM)()},o=()=>{clearTimeout(e.value.timer)},r=a=>Object.values(e.value.list).sort(((e,a)=>e.RouteLevel+e.RouteLevelPlus-a.RouteLevel+a.RouteLevelPlus)).map((e=>e.MachineId));return{tunnel:e,_getTunnelInfo:a,handleTunnelEdit:l,handleTunnelRefresh:n,clearTunnelTimeout:o,sortTunnel:r}},nl=()=>(0,t.WQ)(ll);var ol={emits:["edit","refresh"],setup(e,{emit:a}){const l=(0,d.B)(),n=(0,t.EW)((()=>l.value.config.Client.Id)),o=(0,t.EW)((()=>l.value.hasAccess("TunnelChangeSelf"))),r=(0,t.EW)((()=>l.value.hasAccess("TunnelChangeOther"))),s=nl(),u=((0,Ma.ZY)(),(0,Ma.mx)()),i=(0,Ma.FG)(),c=(0,Ma.bB)(),h=e=>{const a=[u.value.list[e],i.value.list[e],c.value.list[e]].filter((e=>!!e&&e.Connected)).length;return a},m=(e,l)=>{if(n.value===e.MachineId){if(!o.value)return}else if(!r.value)return;e.device=l,a("edit",e)},p=()=>{a("refresh")},w=e=>{a("connections",e)};return{tunnel:s,handleTunnel:m,handleTunnelRefresh:p,connectionCount:h,handleConnections:w}}};const rl=(0,C.A)(ol,[["render",el],["__scopeId","data-v-49e16cac"]]);var sl=rl;const dl=e=>((0,t.Qi)("data-v-6ea047f9"),e=e(),(0,t.jt)(),e),ul=dl((()=>(0,t.Lk)("div",null,"网关层级为你的设备与外网的距离,你可以手动调整数值",-1))),il=dl((()=>(0,t.Lk)("div",null,"光猫映射了端口后,可以直接连接,把TcpPortMap调到第一",-1))),cl={class:"t-c w-100"};function hl(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-col"),i=(0,t.g2)("el-input-number"),c=(0,t.g2)("el-row"),h=(0,t.g2)("el-button"),m=(0,t.g2)("el-form"),p=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(p,{modelValue:n.state.show,"onUpdate:modelValue":a[5]||(a[5]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.machineName}]网关`,width:"400"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(m,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"auto"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"",prop:"alert"},{default:(0,t.k6)((()=>[ul])),_:1}),(0,t.bF)(s,{label:""},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(u,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"网关层级",prop:"RouteLevel"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{readonly:"",modelValue:n.state.ruleForm.RouteLevel,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.RouteLevel=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(u,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"调整层级",prop:"RouteLevelPlus"},{default:(0,t.k6)((()=>[(0,t.bF)(i,{modelValue:n.state.ruleForm.RouteLevelPlus,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.ruleForm.RouteLevelPlus=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{label:"",prop:"alert"},{default:(0,t.k6)((()=>[il])),_:1}),(0,t.bF)(s,{label:""},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(u,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"外网端口",prop:"PortMapWan"},{default:(0,t.k6)((()=>[(0,t.bF)(i,{modelValue:n.state.ruleForm.PortMapWan,"onUpdate:modelValue":a[2]||(a[2]=e=>n.state.ruleForm.PortMapWan=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(u,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"内网端口",prop:"PortMapLan"},{default:(0,t.k6)((()=>[(0,t.bF)(i,{modelValue:n.state.ruleForm.PortMapLan,"onUpdate:modelValue":a[3]||(a[3]=e=>n.state.ruleForm.PortMapLan=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{label:"",prop:"Btns"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",cl,[(0,t.bF)(h,{onClick:a[4]||(a[4]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(h,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var ml={props:["modelValue"],emits:["change","update:modelValue"],setup(e,{emit:a}){const l=nl(),n=(0,u.KR)(null),o=(0,u.Kh)({show:!0,machineName:l.value.current.device.MachineName,ruleForm:{RouteLevel:l.value.current.RouteLevel,RouteLevelPlus:l.value.current.RouteLevelPlus,PortMapWan:l.value.current.PortMapWan,PortMapLan:l.value.current.PortMapLan},rules:{}});(0,t.wB)((()=>o.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const r=()=>{const e=JSON.parse(JSON.stringify(l.value.current));e.RouteLevel=+o.ruleForm.RouteLevel,e.RouteLevelPlus=+o.ruleForm.RouteLevelPlus,e.PortMapWan=+o.ruleForm.PortMapWan,e.PortMapLan=+o.ruleForm.PortMapLan,(0,al.KW)(e).then((()=>{o.show=!1,i.nk.success("已操作!"),a("change")})).catch((e=>{console.log(e),i.nk.error("操作失败!")}))};return{state:o,ruleFormRef:n,handleSave:r}}};const pl=(0,C.A)(ml,[["render",hl],["__scopeId","data-v-6ea047f9"]]);var wl=pl;const gl=["onClick"],kl=["onClick"],fl=["onClick"],vl=["onClick"];function bl(e,a,l,n,o,r){const s=(0,t.g2)("ConnectionShow"),d=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(d,{prop:"forward",label:"转发/穿透"},{default:(0,t.k6)((a=>[a.row.Connected?((0,t.uX)(),(0,t.CE)(t.FK,{key:0},[a.row.isSelf&&(n.hasForwardShowSelf||e.hasForwardSelf)?((0,t.uX)(),(0,t.CE)(t.FK,{key:0},[(0,t.Lk)("div",null,[(0,t.bF)(s,{data:n.connections.list[a.row.MachineId]},null,8,["data"]),(0,t.Lk)("a",{href:"javascript:;",title:"管理自己的端口转发",class:(0,B.C4)({green:n.forward.list[a.row.MachineId]>0}),onClick:e=>n.handleEdit(a.row.MachineId,a.row.MachineName)},[(0,t.Lk)("span",{class:(0,B.C4)({gateway:n.forward.list[a.row.MachineId]>0})},"端口转发("+(0,B.v_)(n.forward.list[a.row.MachineId]>99?"99+":n.forward.list[a.row.MachineId])+")",3)],10,gl)]),(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",title:"管理自己的内网穿透",class:(0,B.C4)({green:n.sforward.list[a.row.MachineId]>0}),onClick:e=>n.handleSEdit(a.row.MachineId,a.row.MachineName)},[(0,t.Lk)("span",{class:(0,B.C4)({gateway:n.sforward.list[a.row.MachineId]>0})},"内网穿透("+(0,B.v_)(n.sforward.list[a.row.MachineId]>99?"99+":n.sforward.list[a.row.MachineId])+")",3)],10,kl)])],64)):n.hasForwardShowOther||e.hasForwardOther?((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.Lk)("div",null,[(0,t.bF)(s,{data:n.connections.list[a.row.MachineId]},null,8,["data"]),(0,t.Lk)("a",{href:"javascript:;",title:"管理自己的端口转发",class:(0,B.C4)({green:n.forward.list[a.row.MachineId]>0}),onClick:e=>n.handleEdit(a.row.MachineId,a.row.MachineName)},[(0,t.Lk)("span",{class:(0,B.C4)({gateway:n.forward.list[a.row.MachineId]>0})},"端口转发("+(0,B.v_)(n.forward.list[a.row.MachineId]>99?"99+":n.forward.list[a.row.MachineId])+")",3)],10,fl)]),(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",title:"管理自己的内网穿透",class:(0,B.C4)({green:n.sforward.list[a.row.MachineId]>0}),onClick:e=>n.handleSEdit(a.row.MachineId,a.row.MachineName)},[(0,t.Lk)("span",{class:(0,B.C4)({gateway:n.sforward.list[a.row.MachineId]>0})},"内网穿透("+(0,B.v_)(n.sforward.list[a.row.MachineId]>99?"99+":n.sforward.list[a.row.MachineId])+")",3)],10,vl)])],64)):(0,t.Q3)("",!0)],64)):(0,t.Q3)("",!0)])),_:1})}var Fl=l(743);const Cl=Symbol(),Ll=()=>{const e=(0,d.B)(),a=((0,t.EW)((()=>e.value.config.Client.Id)),(0,u.KR)({timer:0,showEdit:!1,showCopy:!1,list:{},testTimer:0,hashcode:0,machineid:"",machineName:""}));(0,t.Gt)(Cl,a);const l=()=>{(0,Fl.a9)()},n=()=>{(0,Fl.gz)(a.value.hashcode.toString()).then((e=>{a.value.hashcode=e.HashCode,e.List&&(a.value.list=e.List),a.value.timer=setTimeout(n,1020)})).catch((()=>{a.value.timer=setTimeout(n,1020)}))},o=e=>{a.value.machineid=e[0],a.value.machineName=e[1],a.value.showEdit=!0},r=()=>{clearTimeout(a.value.timer),clearTimeout(a.value.testTimer)};return{sforward:a,_getSForwardCountInfo:n,handleSForwardEdit:o,clearSForwardTimeout:r,handleSForwardRefresh:l}},El=()=>(0,t.WQ)(Cl);var _l={emits:["edit","sedit"],components:{ConnectionShow:Wa.A},setup(e,{emit:a}){const l=w(),n=El(),o=(0,d.B)(),r=(0,t.EW)((()=>o.value.config.Client.Id)),s=(0,t.EW)((()=>o.value.hasAccess("ForwardShowSelf"))),u=(0,t.EW)((()=>o.value.hasAccess("ForwardShowOther"))),i=(0,t.EW)((()=>o.value.hasAccess("ForwardSelf"))),c=(0,t.EW)((()=>o.value.hasAccess("ForwardOther"))),h=(0,Ma.mx)(),m=(e,l)=>{if(r.value===e){if(!i.value)return}else if(!c.value)return;a("edit",[e,l])},p=(e,l)=>{if(r.value===e){if(!i.value)return}else if(!c.value)return;a("sedit",[e,l])},g=()=>{a("refresh")};return{forward:l,sforward:n,hasForwardShowSelf:s,hasForwardShowOther:u,connections:h,handleEdit:m,handleSEdit:p,handleForwardRefresh:g}}};const Pl=(0,C.A)(_l,[["render",bl],["__scopeId","data-v-6e9936ec"]]);var Vl=Pl;const Sl={class:"t-c head"},Il=["title"],yl={class:"t-c"},Tl={class:"page-wrap"},Rl=["title"];function Ml(e,a,l,n,o,r){const s=(0,t.g2)("el-button"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-table-column"),i=(0,t.g2)("el-option"),c=(0,t.g2)("el-select"),h=(0,t.g2)("WarnTriangleFilled"),m=(0,t.g2)("el-icon"),p=(0,t.g2)("el-pagination"),w=(0,t.g2)("el-switch"),g=(0,t.g2)("Delete"),k=(0,t.g2)("el-popconfirm"),f=(0,t.g2)("el-table"),v=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(v,{modelValue:n.state.show,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:`【${n.state.machineName}】的端口转发`,top:"1vh",width:"780"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.Lk)("div",Sl,[(0,t.bF)(s,{type:"success",size:"small",onClick:n.handleAdd},{default:(0,t.k6)((()=>[(0,t.eW)("添加")])),_:1},8,["onClick"]),(0,t.bF)(s,{size:"small",onClick:n.handleRefresh},{default:(0,t.k6)((()=>[(0,t.eW)("刷新")])),_:1},8,["onClick"])]),(0,t.bF)(f,{data:n.state.data,size:"small",border:"",height:"500",onCellDblclick:n.handleCellClick},{default:(0,t.k6)((()=>[(0,t.bF)(u,{property:"Name",label:"名称",width:"100"},{default:(0,t.k6)((e=>[e.row.NameEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":a=>e.row.Name=a,onBlur:a=>n.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,B.v_)(e.row.Name),1)],64))])),_:1}),(0,t.bF)(u,{prop:"BufferSize",label:"缓冲区",width:"80"},{default:(0,t.k6)((e=>[e.row.BufferSizeEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(c,{key:0,modelValue:e.row.BufferSize,"onUpdate:modelValue":a=>e.row.BufferSize=a,placeholder:"Select",size:"small",disabled:e.row.Started,onChange:a=>n.handleEditBlur(e.row,"BufferSize")},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.bufferSize,((e,a)=>((0,t.uX)(),(0,t.Wv)(i,{key:a,label:e,value:a},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","disabled","onChange"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,B.v_)(n.state.bufferSize[e.row.BufferSize]),1)],64))])),_:1}),(0,t.bF)(u,{property:"BindIPAddress",label:"监听IP",width:"140"},{default:(0,t.k6)((e=>[e.row.BindIPAddressEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(c,{key:0,modelValue:e.row.BindIPAddress,"onUpdate:modelValue":a=>e.row.BindIPAddress=a,size:"small",disabled:e.row.Started,onChange:a=>n.handleEditBlur(e.row,"BindIPAddress")},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.ips,(e=>((0,t.uX)(),(0,t.Wv)(i,{key:e,label:e,value:e},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","disabled","onChange"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,B.v_)(e.row.BindIPAddress),1)],64))])),_:1}),(0,t.bF)(u,{property:"Port",label:"监听端口",width:"80"},{default:(0,t.k6)((e=>[e.row.PortEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,type:"number",autofocus:"",size:"small",modelValue:e.row.Port,"onUpdate:modelValue":a=>e.row.Port=a,onBlur:a=>n.handleEditBlur(e.row,"Port")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.Msg?((0,t.uX)(),(0,t.CE)("div",{key:0,class:"error red",title:e.row.Msg},[(0,t.Lk)("span",null,(0,B.v_)(e.row.Port),1),(0,t.bF)(m,{size:"20"},{default:(0,t.k6)((()=>[(0,t.bF)(h)])),_:1})],8,Il)):((0,t.uX)(),(0,t.CE)("span",{key:1,class:(0,B.C4)({green:e.row.Started})},(0,B.v_)(e.row.Port),3))],64))])),_:1}),(0,t.bF)(u,{property:"MachineId",label:"目标"},{default:(0,t.k6)((e=>[e.row.MachineIdEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(c,{key:0,modelValue:e.row.MachineId,"onUpdate:modelValue":a=>e.row.MachineId=a,onChange:a=>n.handleEditBlur(e.row,"MachineId"),filterable:"",remote:"",loading:n.state.loading,"remote-method":n.handleSearch},{header:(0,t.k6)((()=>[(0,t.Lk)("div",yl,[(0,t.Lk)("div",Tl,[(0,t.bF)(p,{small:"",background:"",layout:"prev, pager, next","page-size":n.state.machineIds.Request.Size,total:n.state.machineIds.Count,"pager-count":5,"current-page":n.state.machineIds.Request.Page,onCurrentChange:n.handlePageChange},null,8,["page-size","total","current-page","onCurrentChange"])])])])),default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.machineIds.List,((e,a)=>((0,t.uX)(),(0,t.Wv)(i,{key:a,label:e.MachineName,value:e.MachineId},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","onChange","loading","remote-method"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,B.v_)(e.row.MachineName),1)],64))])),_:1}),(0,t.bF)(u,{property:"TargetEP",label:"目标服务",width:"140"},{default:(0,t.k6)((e=>[e.row.TargetEPEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.TargetEP,"onUpdate:modelValue":a=>e.row.TargetEP=a,onBlur:a=>n.handleEditBlur(e.row,"TargetEP")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.TargetMsg?((0,t.uX)(),(0,t.CE)("div",{key:0,class:"error red",title:e.row.TargetMsg},[(0,t.Lk)("span",null,(0,B.v_)(e.row.TargetEP),1),(0,t.bF)(m,{size:"20"},{default:(0,t.k6)((()=>[(0,t.bF)(h)])),_:1})],8,Rl)):((0,t.uX)(),(0,t.CE)("span",{key:1,class:(0,B.C4)({green:e.row.Started})},(0,B.v_)(e.row.TargetEP),3))],64))])),_:1}),(0,t.bF)(u,{property:"Started",label:"状态",width:"60"},{default:(0,t.k6)((e=>[(0,t.bF)(w,{modelValue:e.row.Started,"onUpdate:modelValue":a=>e.row.Started=a,onChange:a=>n.handleStartChange(e.row),"inline-prompt":"","active-text":"开","inactive-text":"关"},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,t.bF)(u,{label:"操作",width:"54"},{default:(0,t.k6)((e=>[(0,t.bF)(k,{"confirm-button-text":"确认","cancel-button-text":"取消",title:"删除不可逆,是否确认?",onConfirm:a=>n.handleDel(e.row.Id)},{reference:(0,t.k6)((()=>[(0,t.bF)(s,{type:"danger",size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(g)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])])),_:1})])),_:1},8,["data","onCellDblclick"])])])),_:1},8,["modelValue","onOpen","title"])}var Wl={props:["data","modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:T.DtC,Delete:T.epd},setup(e,{emit:a}){const l=(0,d.B)(),n=w(),o=(0,u.Kh)({show:!0,machineId:n.value.machineId,machineName:n.value.machineName,data:[],ips:[],bufferSize:l.value.bufferSize,loading:!1,machineIds:{Request:{Page:1,Size:10,Name:""},Count:0,List:[]}});(0,t.wB)((()=>o.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const r=()=>{(0,h.xD)().then((e=>{e.splice(0,0,"127.0.0.1"),e.splice(0,0,"0.0.0.0"),o.ips=e})).catch((()=>{}))},s=()=>{(0,h.Oy)(o.machineId).then((e=>{o.data=e})).catch((()=>{}))},c=e=>{o.machineIds.Request.Name=e,m()},m=()=>{o.loading=!0,(0,I.BS)(o.machineIds.Request).then((e=>{o.loading=!1,o.machineIds.Request=e.Request,o.machineIds.Count=e.Count,o.machineIds.List=e.List})).catch((e=>{o.loading=!1}))},p=e=>{o.machineIds.Request.Page=e,m()},g=()=>{s(),m()},k=(e,a)=>{b(e,a.property)},f=()=>{s(),i.nk.success("已刷新")},v=()=>{E({ID:0,Name:"",Port:0,TargetEP:"127.0.0.1:80",machineId:""})},b=(e,a)=>{e.Started?i.nk.error("请先停止"):(o.data.forEach((e=>{e["NameEditing"]=!1,e["PortEditing"]=!1,e["TargetEPEditing"]=!1,e["BindIPAddressEditing"]=!1,e["BufferSizeEditing"]=!1,e["MachineIdEditing"]=!1})),e[`${a}Editing`]=!0)},F=(e,a)=>{if(e.Started)return void i.nk.error("请先停止");e[`${a}Editing`]=!1;const l=o.machineIds.List.find((a=>a.MachineId==e.MachineId));l&&(e.MachineName=l.MachineName),E(e)},C=e=>{(0,h.we)({machineId:o.machineId,Id:e}).then((()=>{s()}))},L=e=>{E(e)},E=e=>{e.Port=parseInt(e.Port),(0,h.nH)({machineId:o.machineId,data:e}).then((()=>{s()})).catch((e=>{i.nk.error(e)}))};return(0,t.sV)((()=>{s(),r()})),{state:o,handleOnShowList:g,handleCellClick:k,handleRefresh:f,handleAdd:v,handleEdit:b,handleEditBlur:F,handleDel:C,handleStartChange:L,handleSearch:c,handlePageChange:p}}};const Al=(0,C.A)(Wl,[["render",Ml],["__scopeId","data-v-15b05a01"]]);var Xl=Al;const Bl={class:"t-c head"},Nl=["title"],xl=["title"];function zl(e,a,l,n,o,r){const s=(0,t.g2)("el-button"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-table-column"),i=(0,t.g2)("WarnTriangleFilled"),c=(0,t.g2)("el-icon"),h=(0,t.g2)("el-switch"),m=(0,t.g2)("Delete"),p=(0,t.g2)("el-popconfirm"),w=(0,t.g2)("el-table"),g=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(g,{modelValue:n.state.show,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:`【${n.machineName}】的内网穿透`,top:"1vh",width:"700"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.Lk)("div",Bl,[(0,t.bF)(s,{type:"success",size:"small",onClick:n.handleAdd},{default:(0,t.k6)((()=>[(0,t.eW)("添加")])),_:1},8,["onClick"]),(0,t.bF)(s,{size:"small",onClick:n.handleRefresh},{default:(0,t.k6)((()=>[(0,t.eW)("刷新")])),_:1},8,["onClick"])]),(0,t.bF)(w,{data:n.state.data,size:"small",border:"",height:"500",onCellDblclick:n.handleCellClick},{default:(0,t.k6)((()=>[(0,t.bF)(u,{property:"Name",label:"名称"},{default:(0,t.k6)((e=>[e.row.NameEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":a=>e.row.Name=a,onBlur:a=>n.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,B.v_)(e.row.Name),1)],64))])),_:1}),(0,t.bF)(u,{prop:"BufferSize",label:"缓冲区",width:"100"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,B.v_)(1<[e.row.TempEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.Temp,"onUpdate:modelValue":a=>e.row.Temp=a,onBlur:a=>n.handleEditBlur(e.row,"Temp")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.Msg?((0,t.uX)(),(0,t.CE)("div",{key:0,class:"error red",title:e.row.Msg},[(0,t.Lk)("span",null,(0,B.v_)(e.row.Temp),1),(0,t.bF)(c,{size:"20"},{default:(0,t.k6)((()=>[(0,t.bF)(i)])),_:1})],8,Nl)):((0,t.uX)(),(0,t.CE)("span",{key:1,class:(0,B.C4)({green:e.row.Started})},(0,B.v_)(e.row.Temp),3))],64))])),_:1}),(0,t.bF)(u,{property:"LocalEP",label:"本机服务",width:"140"},{default:(0,t.k6)((e=>[e.row.LocalEPEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.LocalEP,"onUpdate:modelValue":a=>e.row.LocalEP=a,onBlur:a=>n.handleEditBlur(e.row,"LocalEP")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.LocalMsg?((0,t.uX)(),(0,t.CE)("div",{key:0,class:"error red",title:e.row.LocalMsg},[(0,t.Lk)("span",null,(0,B.v_)(e.row.LocalEP),1),(0,t.bF)(c,{size:"20"},{default:(0,t.k6)((()=>[(0,t.bF)(i)])),_:1})],8,xl)):((0,t.uX)(),(0,t.CE)("span",{key:1,class:(0,B.C4)({green:e.row.Started})},(0,B.v_)(e.row.LocalEP),3))],64))])),_:1}),(0,t.bF)(u,{property:"Started",label:"状态",width:"60"},{default:(0,t.k6)((e=>[(0,t.bF)(h,{modelValue:e.row.Started,"onUpdate:modelValue":a=>e.row.Started=a,onChange:a=>n.handleStartChange(e.row),"inline-prompt":"","active-text":"是","inactive-text":"否"},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,t.bF)(u,{label:"操作",width:"54"},{default:(0,t.k6)((e=>[(0,t.bF)(p,{"confirm-button-text":"确认","cancel-button-text":"取消",title:"删除不可逆,是否确认?",onConfirm:a=>n.handleDel(e.row.Id)},{reference:(0,t.k6)((()=>[(0,t.bF)(s,{type:"danger",size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(m)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])])),_:1})])),_:1},8,["data","onCellDblclick"])])])),_:1},8,["modelValue","onOpen","title"])}var Ul={props:["data","modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:T.DtC,Delete:T.epd},setup(e,{emit:a}){const l=(0,d.B)(),n=El(),o=(0,u.Kh)({bufferSize:l.value.bufferSize,show:!0,data:[],timerTestLocal:0});(0,t.wB)((()=>o.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const r=()=>{console.log(n.value.machineid),(0,Fl.eX)(n.value.machineid).then((e=>{o.timerTestLocal=setTimeout(r,1e3)})).catch((()=>{o.timerTestLocal=setTimeout(r,1e3)}))},s=()=>{(0,Fl.pY)(n.value.machineid).then((e=>{e.forEach((e=>{e.Temp=(e.Domain||e.RemotePort).toString(),e.RemotePort=0,e.Domain=""})),o.data=e})).catch((()=>{}))},c=()=>{s()},h=(e,a)=>{w(e,a.property)},m=()=>{s(),i.nk.success("已刷新")},p=()=>{const e={Id:0,Name:"",RemotePort:0,LocalEP:"127.0.0.1:80",Domain:"",Temp:""};(0,Fl.Qs)({machineid:n.value.machineid,data:e}).then((()=>{setTimeout((()=>{s()}),100)})).catch((e=>{i.nk.error(e)}))},w=(e,a)=>{e.Started?i.nk.error("请先停止运行"):(o.data.forEach((e=>{e["NameEditing"]=!1,e["RemotePortEditing"]=!1,e["LocalEPEditing"]=!1,e["DomainEditing"]=!1,e["TempEditing"]=!1})),e[`${a}Editing`]=!0)},g=(e,a)=>{e.Started?i.nk.error("请先停止运行"):(e[`${a}Editing`]=!1,v(e))},k=e=>{(0,Fl.DY)({machineid:n.value.machineid,id:e}).then((()=>{s()}))},f=e=>{v(e)},v=e=>{e.Temp&&(/^\d+$/.test(e.Temp)?e.RemotePort=parseInt(e.Temp):e.Domain=e.Temp,(0,Fl.Qs)({machineid:n.value.machineid,data:e}).then((e=>{0==e&&i.nk.error("操作失败,可能存在相同值"),setTimeout((()=>{s()}),100)})).catch((e=>{i.nk.error(e)})))};return(0,t.sV)((()=>{s(),r()})),(0,t.hi)((()=>{clearTimeout(o.timerTestLocal)})),{state:o,machineName:n.value.machineName,handleOnShowList:c,handleCellClick:h,handleRefresh:m,handleAdd:p,handleEdit:w,handleEditBlur:g,handleDel:k,handleStartChange:f}}};const Dl=(0,C.A)(Ul,[["render",zl],["__scopeId","data-v-7eb8e7cc"]]);var Kl=Dl;const Ql=["onClick"],Ol={key:0},Gl={key:1},$l={key:0},ql={key:1},jl={key:0},Yl={key:1};function Hl(e,a,l,n,o,r){const s=(0,t.g2)("el-table-column"),d=(0,t.g2)("Delete"),u=(0,t.g2)("el-icon"),i=(0,t.g2)("el-button"),c=(0,t.g2)("el-popconfirm"),h=(0,t.g2)("el-table"),m=(0,t.g2)("el-dialog"),p=(0,t.g2)("el-switch");return(0,t.uX)(),(0,t.CE)(t.FK,null,[(0,t.bF)(m,{modelValue:n.state.show,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.show=e),"append-to":".app-wrap",title:`与[${n.state.machineName}]的链接`,top:"1vh",width:"780"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(h,{data:n.state.data,size:"small",border:"",height:"500"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{property:"RemoteMachineId",label:"目标/服务器"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",{class:(0,B.C4)({green:e.row.Connected})},[(0,t.Lk)("p",null,(0,B.v_)(e.row.IPEndPoint),1),(0,t.Lk)("p",null,"ssl : "+(0,B.v_)(e.row.SSL),1)],2)])),_:1}),(0,t.bF)(s,{property:"TransactionId",label:"事务",width:"80"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,B.v_)(n.state.transactions[e.row.TransactionId]),1)])),_:1}),(0,t.bF)(s,{property:"TransportName",label:"协议"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.Lk)("p",null,(0,B.v_)(e.row.TransportName)+"("+(0,B.v_)(n.state.protocolTypes[e.row.ProtocolType])+")",1),(0,t.Lk)("p",null,(0,B.v_)(n.state.types[e.row.Type])+" - "+(0,B.v_)(1<[(0,t.Lk)("span",null,(0,B.v_)(e.row.Delay)+"ms",1)])),_:1}),(0,t.bF)(s,{property:"Bytes",label:"通信"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.Lk)("p",null,"up : "+(0,B.v_)(e.row.SendBytesText),1),(0,t.Lk)("p",null,"down : "+(0,B.v_)(e.row.ReceiveBytesText),1)])])),_:1}),(0,t.bF)(s,{property:"relay",label:"中继节点"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",class:"a-line",onClick:a=>n.handleNode(e.row)},(0,B.v_)(n.state.nodesDic[e.row.NodeId]||"选择节点"),9,Ql)])])),_:1}),(0,t.bF)(s,{label:"操作",width:"54"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[n.hasTunnelRemove?((0,t.uX)(),(0,t.Wv)(c,{key:0,"confirm-button-text":"确认","cancel-button-text":"取消",title:"确定关闭此连接?",onConfirm:a=>n.handleDel(e.row)},{reference:(0,t.k6)((()=>[(0,t.bF)(i,{type:"danger",size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(u,null,{default:(0,t.k6)((()=>[(0,t.bF)(d)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])):(0,t.Q3)("",!0)])])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue","title"]),(0,t.bF)(m,{modelValue:n.state.showNodes,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.showNodes=e),title:"中继节点",width:"760",top:"2vh"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(h,{data:n.state.nodes,size:"small",border:"",height:"600"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{property:"Name",label:"名称"}),(0,t.bF)(s,{property:"MaxGbTotal",label:"月流量",width:"160"},{default:(0,t.k6)((e=>[0==e.row.MaxGbTotal?((0,t.uX)(),(0,t.CE)("span",Ol,"无限制")):((0,t.uX)(),(0,t.CE)("span",Gl,(0,B.v_)((e.row.MaxGbTotalLastBytes/1024/1024/1024).toFixed(2))+"GB / "+(0,B.v_)(e.row.MaxGbTotal)+"GB ",1))])),_:1}),(0,t.bF)(s,{property:"MaxBandwidth",label:"连接带宽",width:"80"},{default:(0,t.k6)((e=>[0==e.row.MaxBandwidth?((0,t.uX)(),(0,t.CE)("span",$l,"无限制")):((0,t.uX)(),(0,t.CE)("span",ql,(0,B.v_)(e.row.MaxBandwidth)+"Mbps",1))])),_:1}),(0,t.bF)(s,{property:"MaxBandwidthTotal",label:"总带宽",width:"80"},{default:(0,t.k6)((e=>[0==e.row.MaxBandwidthTotal?((0,t.uX)(),(0,t.CE)("span",jl,"无限制")):((0,t.uX)(),(0,t.CE)("span",Yl,(0,B.v_)(e.row.MaxBandwidthTotal)+"Mbps",1))])),_:1}),(0,t.bF)(s,{property:"BandwidthRatio",label:"带宽速率",width:"66"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,B.v_)(100*e.row.BandwidthRatio)+"%",1)])),_:1}),(0,t.bF)(s,{property:"ConnectionRatio",label:"连接数",width:"60"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,B.v_)(100*e.row.ConnectionRatio)+"%",1)])),_:1}),(0,t.bF)(s,{property:"Delay",label:"延迟",width:"60"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,B.v_)(e.row.Delay)+"ms",1)])),_:1}),(0,t.bF)(s,{property:"Public",label:"公开",width:"60"},{default:(0,t.k6)((e=>[(0,t.bF)(p,{disabled:"",modelValue:e.row.Public,"onUpdate:modelValue":a=>e.row.Public=a,size:"small"},null,8,["modelValue","onUpdate:modelValue"])])),_:1}),(0,t.bF)(s,{property:"Oper",label:"操作",width:"65"},{default:(0,t.k6)((e=>[(0,t.bF)(i,{type:"success",size:"small",onClick:a=>n.handleConnect(e.row.Id)},{default:(0,t.k6)((()=>[(0,t.eW)("使用")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue"])],64)}var Jl=l(9232),Zl={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:T.epd},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,t.EW)((()=>l.value.hasAccess("TunnelRemove"))),o=(0,Ma.ZY)(),r=(0,Ma.mx)(),s=(0,Ma.FG)(),c=(0,Ma.bB)(),h=(0,u.Kh)({show:!0,protocolTypes:{1:"tcp",2:"udp",4:"msquic"},types:{0:"打洞",1:"中继",2:"节点"},transactions:{forward:"端口转发",tuntap:"虚拟网卡",socks5:"代理转发"},machineName:o.value.currentName,currentRow:{},data:(0,t.EW)((()=>[r.value.list[o.value.current],s.value.list[o.value.current],c.value.list[o.value.current]].filter((e=>!!e)))),showNodes:!1,nodes:[],nodesDic:{},timer:0});(0,t.wB)((()=>h.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e),a("change")}),300)}));const m=e=>{n.value&&e.removeFunc(e.RemoteMachineId).then((()=>{i.nk.success("删除成功")})).catch((()=>{}))},p=()=>{(0,Jl.W4)().then((e=>{h.nodes=e,h.nodesDic=e.reduce(((e,a)=>(e[a.Id]=a.Name,e)),{}),h.timer=setTimeout(p,1e3)})).catch((()=>{h.timer=setTimeout(p,1e3)}))},w=e=>{h.currentRow=e,h.showNodes=!0},g=e=>{const a={FromMachineId:l.value.config.Client.Id,TransactionId:h.currentRow.TransactionId,ToMachineId:h.currentRow.RemoteMachineId,NodeId:e};a.NodeId!=h.currentRow.NodeId&&((0,Jl.uQ)(a).then((()=>{})).catch((()=>{})),h.showNodes=!1)};return(0,t.sV)((()=>{o.value.updateRealTime(!0),p()})),(0,t.hi)((()=>{o.value.updateRealTime(!1),clearTimeout(h.timer)})),{state:h,handleDel:m,hasTunnelRemove:n,handleNode:w,handleConnect:g}}};const et=(0,C.A)(Zl,[["render",Hl],["__scopeId","data-v-7891b902"]]);var at=et,lt=l(9383),tt={components:{Sort:E,Oper:X,Device:J,DeviceEdit:ne,AccessEdit:ce,Tunnel:sl,TunnelEdit:wl,ConnectionsEdit:at,Tuntap:ke,TuntapEdit:ea,TuntapLease:Fa,Socks5:za,Socks5Edit:Ya,Forward:Vl,ForwardEdit:Xl,SForwardEdit:Kl},setup(e){const a=(0,d.B)(),l=(0,u.Kh)({height:(0,t.EW)((()=>a.value.height-90))}),{devices:n,machineId:o,_getSignList:r,_getSignList1:s,handleDeviceEdit:c,handleAccessEdit:h,handlePageChange:m,handlePageSizeChange:w,handleDel:g,clearDevicesTimeout:k,setSort:v}=(0,oe.r)(),{tuntap:F,_getTuntapInfo:C,handleTuntapEdit:L,handleTuntapRefresh:E,clearTuntapTimeout:_,getTuntapMachines:P,sortTuntapIP:V}=(0,b.O)(),{socks5:S,_getSocks5Info:I,handleSocks5Edit:y,handleSocks5Refresh:T,clearSocks5Timeout:R,getSocks5Machines:W,sortSocks5:A}=f(),{tunnel:X,_getTunnelInfo:B,handleTunnelEdit:N,handleTunnelRefresh:x,clearTunnelTimeout:z,sortTunnel:U}=tl(),{forward:D,_getForwardCountInfo:K,handleForwardEdit:Q,clearForwardTimeout:O,handleForwardRefresh:G}=p(),{sforward:$,_getSForwardCountInfo:q,handleSForwardEdit:j,clearSForwardTimeout:Y,handleSForwardRefresh:H}=Ll(),{connections:J,forwardConnections:Z,_getForwardConnections:ee,tuntapConnections:ae,_getTuntapConnections:le,socks5Connections:te,_getSocks5Connections:ne,handleTunnelConnections:re,clearConnectionsTimeout:se}=(0,Ma.L2)(),{_getUpdater:de,_subscribeUpdater:ue,clearUpdaterTimeout:ie}=(0,lt.d)(),{_getAccessInfo:ce,clearAccessTimeout:he,handleAccesssRefresh:me}=(0,M.Y)(),pe=e=>{n.page.Request.Prop=e.prop,n.page.Request.Asc="ascending"==e.order;let a=new Promise(((e,a)=>{e()}));if("tunnel"==e.prop){const e=U(n.page.Request.Asc);e.length>0&&(a=v(e))}else if("tuntap"==e.prop){const e=V(n.page.Request.Asc);e.length>0&&(a=v(e))}else if("socks5"==e.prop){const e=A(n.page.Request.Asc);e.length>0&&(a=v(e))}a.then((()=>{m()})).catch((()=>{}))},we=e=>{n.page.Request.Name=e||"",n.page.Request.Name?n.page.Request.Ids=P(n.page.Request.Name).concat(W(n.page.Request.Name)).reduce(((e,a)=>(-1==e.indexOf(a)&&e.push(a),e)),[]):n.page.Request.Ids=[],m(),x(),E(),T(),G(),H(),me(),i.nk.success({message:"刷新成功",grouping:!0})},ge=()=>{m(),x(),E(),T(),me(),i.nk.success({message:"刷新成功",grouping:!0})};return(0,t.sV)((()=>{m(),x(),E(),T(),G(),H(),me(),r(),s(),C(),I(),B(),ee(),le(),ne(),K(),q(),de(),ue(),ce()})),(0,t.hi)((()=>{k(),se(),_(),R(),z(),O(),Y(),ie(),he()})),{state:l,devices:n,machineId:o,handleSortChange:pe,handleDeviceEdit:c,handleAccessEdit:h,handlePageRefresh:we,handlePageSearch:ge,handlePageChange:m,handlePageSizeChange:w,handleDel:g,tuntap:F,handleTuntapEdit:L,handleTuntapRefresh:E,socks5:S,handleSocks5Edit:y,handleSocks5Refresh:T,tunnel:X,connections:J,handleTunnelEdit:N,handleTunnelRefresh:x,handleTunnelConnections:re,forward:D,handleForwardEdit:Q,sforward:$,handleSForwardEdit:j}}};const nt=(0,C.A)(tt,[["render",s],["__scopeId","data-v-3d1c480c"]]);var ot=nt}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/316.71786489.js b/linker.tray.win/web/js/316.71786489.js new file mode 100644 index 00000000..7acad3d2 --- /dev/null +++ b/linker.tray.win/web/js/316.71786489.js @@ -0,0 +1 @@ +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[316],{3363:function(e,t,a){a.d(t,{EQ:function(){return i},QI:function(){return n},ZK:function(){return u}});var l=a(4);const n=e=>(0,l.zG)("access/GetAccesss",e),u=e=>(0,l.zG)("access/SetAccess",e),i=()=>(0,l.zG)("access/refresh")},920:function(e,t,a){a.d(t,{BJ:function(){return d},Ce:function(){return f},NS:function(){return i},PY:function(){return r},UB:function(){return m},Vk:function(){return o},aP:function(){return v},ir:function(){return s},lJ:function(){return u},mK:function(){return n},y2:function(){return h},yN:function(){return c}});var l=a(4);const n=(e="0")=>(0,l.zG)("updater/get",e),u=e=>(0,l.zG)("updater/confirm",e),i=e=>(0,l.zG)("updater/exit",e),c=()=>(0,l.zG)("updater/GetSecretKey"),s=e=>(0,l.zG)("updater/SetSecretKey",e),r=e=>(0,l.zG)("updater/SetInterval",e),o=()=>(0,l.zG)("updater/getcurrent"),d=()=>(0,l.zG)("updater/getserver"),h=e=>(0,l.zG)("updater/confirmserver",e),v=()=>(0,l.zG)("updater/exitserver"),m=()=>(0,l.zG)("updater/Subscribe"),f=e=>(0,l.zG)("updater/check",e)},5962:function(e,t,a){a.d(t,{Y:function(){return c},q:function(){return s}});var l=a(3363),n=a(144),u=a(6768);const i=Symbol(),c=()=>{const e=(0,n.KR)({list:{},timer:0,hashcode:0});(0,u.Gt)(i,e);const t=()=>{(0,l.EQ)()},a=()=>{(0,l.QI)(e.value.hashcode.toString()).then((t=>{e.value.hashcode=t.HashCode,t.List&&(e.value.list=t.List),e.value.timer=setTimeout(a,1e3)})).catch((()=>{e.value.timer=setTimeout(a,1e3)}))},c=()=>{clearTimeout(e.value.timer)};return{access:e,_getAccessInfo:a,clearAccessTimeout:c,handleAccesssRefresh:t}},s=()=>(0,u.WQ)(i)},9383:function(e,t,a){a.d(t,{T:function(){return r},d:function(){return s}});var l=a(920),n=a(3830),u=a(144),i=a(6768);const c=Symbol(),s=()=>{const e=(0,n.B)(),t=(0,u.KR)({timer:0,list:{},hashcode:0,current:{Version:"",Msg:[],DateTime:"",Status:0,Length:0,Current:0},subscribeTimer:0});(0,i.Gt)(c,t);const a=()=>{(0,l.mK)(t.value.hashcode.toString()).then((l=>{if(t.value.hashcode=l.HashCode,l.List){const a=Object.values(l.List).filter((e=>!!e.Version))[0];a&&(Object.assign(t.value.current,{DateTime:a.DateTime,Version:a.Version,Status:a.Status,Length:a.Length,Current:a.Current,Msg:a.Msg}),e.value.updater=t.value.current),t.value.list=l.List}t.value.timer=setTimeout(a,800)})).catch((()=>{t.value.timer=setTimeout(a,800)}))},s=()=>{(0,l.UB)().then((()=>{t.value.subscribeTimer=setTimeout(s,5e3)})).catch((()=>{t.value.subscribeTimer=setTimeout(s,5e3)}))},r=()=>{clearTimeout(t.value.timer),clearTimeout(t.value.subscribeTimer)};return{updater:t,_getUpdater:a,_subscribeUpdater:s,clearUpdaterTimeout:r}},r=()=>(0,i.WQ)(c)},6158:function(e,t,a){a.d(t,{A:function(){return d}});var l=a(6768);function n(e,t,a,n,u,i){const c=(0,l.g2)("el-checkbox"),s=(0,l.g2)("el-col"),r=(0,l.g2)("el-row"),o=(0,l.g2)("el-checkbox-group");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.bF)(r,null,{default:(0,l.k6)((()=>[(0,l.bF)(s,{span:8},{default:(0,l.k6)((()=>[(0,l.bF)(c,{modelValue:n.state.checkAll,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.checkAll=e),onChange:n.handleCheckAllChange,label:"全选",indeterminate:n.state.isIndeterminate},null,8,["modelValue","onChange","indeterminate"])])),_:1})])),_:1}),(0,l.bF)(o,{modelValue:n.state.checkList,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.checkList=e),onChange:n.handleCheckedChange},{default:(0,l.k6)((()=>[(0,l.bF)(r,null,{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.access,((e,t)=>((0,l.uX)(),(0,l.Wv)(s,{key:t,span:8},{default:(0,l.k6)((()=>[(0,l.bF)(c,{value:e.Value,label:e.Text},null,8,["value","label"])])),_:2},1024)))),128))])),_:1})])),_:1},8,["modelValue","onChange"])],64)}a(4114);var u=a(144),i=a(3830),c=a(5962),s={props:["machineid"],setup(e){const t=(0,i.B)(),a=(0,c.q)(),n=(0,l.EW)((()=>{const e=t.value.config.Client.Accesss;return Object.keys(e).reduce(((a,l,n)=>{if(t.value.hasAccess(l)){const t=e[l];t.Key=l,a.push(t)}return a}),[])})),s=(0,u.Kh)({checkList:[t.value.config.Client.Accesss.Api.Value,t.value.config.Client.Accesss.Web.Value,t.value.config.Client.Accesss.NetManager.Value,t.value.config.Client.Accesss.FullManager.Value,t.value.config.Client.Accesss.Transport.Value,t.value.config.Client.Accesss.Action.Value,t.value.config.Client.Accesss.Group.Value],checkAll:!1,isIndeterminate:!1}),r=()=>+s.checkList.reduce(((e,t)=>e|BigInt(t)),BigInt(0)).toString(),o=e=>{const t=e.length;s.checkAll=t===n.value.length,s.isIndeterminate=t>0&&t{s.checkAll=e,s.checkList=e?n.value.map((e=>e.Value)):[],s.isIndeterminate=!1};return(0,l.sV)((()=>{if(a&&a.value.list[e.machineid]){const t=a.value.list[e.machineid];s.checkList=n.value.reduce(((e,a)=>(+(BigInt(t)&BigInt(a.Value)).toString()==a.Value&&e.push(a.Value),e)),[])}o(s.checkList)})),{state:s,access:n,getValue:r,handleCheckAllChange:d,handleCheckedChange:o}}},r=a(1241);const o=(0,r.A)(s,[["render",n],["__scopeId","data-v-7a697708"]]);var d=o},167:function(e,t,a){a.d(t,{A:function(){return b}});var l=a(6768),n=a(4232);const u=["title"],i={key:0,class:"progress"},c={key:1,class:"progress"};function s(e,t,a,s,r,o){const d=(0,l.g2)("Loading"),h=(0,l.g2)("el-icon"),v=(0,l.g2)("Download"),m=(0,l.g2)("CircleCheck"),f=(0,l.g2)("Refresh");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.Lk)("a",{href:"javascript:;",class:(0,n.C4)(["download",s.updaterColor]),onClick:t[0]||(t[0]=e=>s.handleUpdate()),title:s.updaterText},[(0,l.Lk)("span",null,[(0,l.Lk)("span",null,(0,n.v_)(s.item.Version),1),s.updater.list[s.item.MachineId]?((0,l.uX)(),(0,l.CE)(l.FK,{key:0},[1==s.updater.list[s.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(h,{key:0,size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(d)])),_:1})):2==s.updater.list[s.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(h,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(v)])),_:1})):3==s.updater.list[s.item.MachineId].Status||5==s.updater.list[s.item.MachineId].Status?((0,l.uX)(),(0,l.CE)(l.FK,{key:2},[(0,l.bF)(h,{size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(d)])),_:1}),0==s.updater.list[s.item.MachineId].Length?((0,l.uX)(),(0,l.CE)("span",i,"0%")):((0,l.uX)(),(0,l.CE)("span",c,(0,n.v_)(parseInt(s.updater.list[s.item.MachineId].Current/s.updater.list[s.item.MachineId].Length*100))+"%",1))],64)):6==s.updater.list[s.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(h,{key:3,size:"14",class:"yellow"},{default:(0,l.k6)((()=>[(0,l.bF)(m)])),_:1})):(0,l.Q3)("",!0)],64)):((0,l.uX)(),(0,l.Wv)(h,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(v)])),_:1}))])],10,u),(0,l.Lk)("a",{href:"javascript:;",class:"download",title:"检查更新",onClick:t[1]||(t[1]=(...e)=>s.handleCheck&&s.handleCheck(...e))},[(0,l.bF)(h,null,{default:(0,l.k6)((()=>[(0,l.bF)(f)])),_:1})])],64)}a(4114);var r=a(3830),o=a(144),d=a(1219),h=a(2933),v=a(2248),m=a(920),f=a(7477),p=a(9383),g={props:["item","config"],components:{Download:f.f5X,Loading:f.Rhj,CircleCheck:f.rW7,Refresh:f.C42},setup(e){const t=(0,r.B)(),a=(0,l.EW)((()=>t.value.hasAccess("UpdateSelf"))),n=(0,l.EW)((()=>t.value.hasAccess("UpdateOther"))),u=(0,p.T)(),i=(0,l.EW)((()=>t.value.signin.Version)),c=(0,l.EW)((()=>u.value.current.Version)),s=(0,l.EW)((()=>`${c.value}->${u.value.current.DateTime}\n${u.value.current.Msg.map(((e,t)=>`${t+1}、${e}`)).join("\n")}`)),f=(0,l.EW)((()=>u.value.list[e.item.MachineId]?u.value.list[e.item.MachineId].Status<=2?e.item.Version!=i.value?`与服务器版本(${i.value})不一致,建议更新`:c.value!=e.item.Version?`不是最新版本(${c.value}),建议更新\n${s.value}`:`是最新版本,但我无法阻止你喜欢更新\n${s.value}`:{3:"正在下载",4:"已下载",5:"正在解压",6:"已解压,请重启"}[u.value.list[e.item.MachineId].Status]:"未检测到更新")),g=(0,l.EW)((()=>e.item.Version!=i.value?"red":u.value.list[e.item.MachineId]&&c.value!=e.item.Version?"yellow":"green")),k=()=>{if(!e.config)return;if(!a.value)return;const t=u.value.list[e.item.MachineId];if(t)if([0,1,3,5].indexOf(t.Status)>=0)d.nk.error("操作中,请稍后!");else if(6!=t.Status){if(2==t.Status){const t=(0,o.KR)(c.value),a=[(0,l.h)(v.P9,{label:`仅[${e.item.MachineName}] -> ${c.value}(最新)`,value:c.value})];e.config&&n.value&&(a.push((0,l.h)(v.P9,{label:`[本组所有] -> ${c.value}(最新)`,value:`allg->${c.value}`})),a.push((0,l.h)(v.P9,{label:`[本服务器所有] -> ${c.value}(最新)(需要密钥)`,value:`all->${c.value}`}))),e.item.Version!=i.value&&c.value!=i.value&&(a.push((0,l.h)(v.P9,{label:`仅[${e.item.MachineName}] -> ${i.value}(服务器版本)`,value:i.value})),e.config&&n.value&&(a.push((0,l.h)(v.P9,{label:`[本组所有] -> ${i.value}(服务器版本)`,value:`allg->${i.value}`})),a.push((0,l.h)(v.P9,{label:`[本服务器所有] -> ${i.value}(服务器版本)(需要密钥)`,value:`all->${i.value}`})))),(0,h.s)({title:"选择版本",message:()=>(0,l.h)(v.AV,{modelValue:t.value,placeholder:"请选择",style:"width:20rem;","onUpdate:modelValue":e=>{t.value=e}},a),confirmButtonText:"确定",cancelButtonText:"取消"}).then((()=>{const a={MachineId:e.item.MachineId,Version:t.value.replace("all->","").replace("allg->",""),GroupAll:t.value.indexOf("allg->")>=0,All:t.value.indexOf("all->")>=0};(a.All||a.GroupAll)&&(a.MachineId=""),(0,m.lJ)(a)})).catch((()=>{}))}}else h.s.confirm("确定关闭程序吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{exit(e.item.MachineId)})).catch((()=>{}));else d.nk.error("未检测到更新")},C=()=>{const t=(0,o.KR)(e.item.MachineId),a=[(0,l.h)(v.P9,{label:`仅检查[${e.item.MachineName}]`,value:e.item.MachineId}),(0,l.h)(v.P9,{label:"仅检查[本组所有]",value:"g-all"})];(0,h.s)({title:"选择检查对象",message:()=>(0,l.h)(v.AV,{modelValue:t.value,placeholder:"请选择",style:"width:20rem;","onUpdate:modelValue":e=>{t.value=e}},a),confirmButtonText:"确定",cancelButtonText:"取消"}).then((()=>{(0,m.Ce)(t.value==e.item.MachineId?t.value:"")})).catch((()=>{}))};return{item:(0,l.EW)((()=>e.item)),updater:u,updaterText:f,updaterColor:g,handleUpdate:k,handleCheck:C}}},k=a(1241);const C=(0,k.A)(g,[["render",s],["__scopeId","data-v-6653ef00"]]);var b=C}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/321.3587d77b.js b/linker.tray.win/web/js/321.3587d77b.js new file mode 100644 index 00000000..02369ccf --- /dev/null +++ b/linker.tray.win/web/js/321.3587d77b.js @@ -0,0 +1 @@ +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[321],{1177:function(e,r,l){l.r(r),l.d(r,{default:function(){return Fe}});var a=l(6768);const t={class:"app-wrap flex flex-column flex-nowrap"},o={class:"head"},s={class:"body flex-1 relative",ref:"wrap"},u={class:"home absolute"},n={class:"status"};function d(e,r,l,d,m,i){const f=(0,a.g2)("Head"),c=(0,a.g2)("router-view"),b=(0,a.g2)("Status"),p=(0,a.g2)("Install");return(0,a.uX)(),(0,a.CE)("div",t,[(0,a.Lk)("div",o,[(0,a.bF)(f)]),(0,a.Lk)("div",s,[(0,a.Lk)("div",u,[(0,a.bF)(c)])],512),(0,a.Lk)("div",n,[(0,a.bF)(b,{config:!0}),(0,a.bF)(p)])])}l(4114);var m=l.p+"img/logo.892cb2fb.png",i=l.p+"img/shouye.4c820c0e.svg",f=l.p+"img/fuwuqi.247f2561.svg",c=l.p+"img/dadong.e6fd78bf.svg",b=l.p+"img/anquan.5f8d5e47.svg",p=l.p+"img/rizhi.c3ca751b.svg";const v=e=>((0,a.Qi)("data-v-5df4cbc3"),e=e(),(0,a.jt)(),e),g={class:"head flex"},k={class:"logo"},F=v((()=>(0,a.Lk)("img",{src:m,alt:""},null,-1))),w={class:"menu flex-1"},h={class:"flex"},y=v((()=>(0,a.Lk)("img",{src:i},null,-1))),S={key:0},_=v((()=>(0,a.Lk)("img",{src:f},null,-1))),K={key:1},V=v((()=>(0,a.Lk)("img",{src:c},null,-1))),P={key:2},C=v((()=>(0,a.Lk)("img",{src:b},null,-1))),x={key:3},L=v((()=>(0,a.Lk)("img",{src:p},null,-1))),W={class:"image"};function U(e,r,l,t,o,s){const u=(0,a.g2)("router-link"),n=(0,a.g2)("Background");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.Lk)("div",g,[(0,a.Lk)("div",k,[(0,a.bF)(u,{to:{name:"FullIndex"}},{default:(0,a.k6)((()=>[F])),_:1})]),(0,a.Lk)("div",w,[(0,a.Lk)("ul",h,[(0,a.Lk)("li",null,[(0,a.bF)(u,{to:{name:"FullIndex"}},{default:(0,a.k6)((()=>[y,(0,a.eW)(" 首页")])),_:1})]),t.hasConfig?((0,a.uX)(),(0,a.CE)("li",S,[(0,a.bF)(u,{to:{name:"FullServers"}},{default:(0,a.k6)((()=>[_,(0,a.eW)(" 服务器")])),_:1})])):(0,a.Q3)("",!0),t.hasTransport?((0,a.uX)(),(0,a.CE)("li",K,[(0,a.bF)(u,{to:{name:"FullTransport"}},{default:(0,a.k6)((()=>[V,(0,a.eW)(" 打洞协议")])),_:1})])):(0,a.Q3)("",!0),t.hasAction?((0,a.uX)(),(0,a.CE)("li",P,[(0,a.bF)(u,{to:{name:"FullAction"}},{default:(0,a.k6)((()=>[C,(0,a.eW)(" 自定义验证")])),_:1})])):(0,a.Q3)("",!0),t.hasLogger?((0,a.uX)(),(0,a.CE)("li",x,[(0,a.bF)(u,{to:{name:"FullLogger"}},{default:(0,a.k6)((()=>[L,(0,a.eW)(" 日志")])),_:1})])):(0,a.Q3)("",!0)])]),(0,a.Lk)("div",W,[(0,a.bF)(n,{name:"full"})])])])}var A=l(7477),X=l(3830),j=l(5096),Q={components:{Promotion:A.Yk4,StarFilled:A.BQ2,WarnTriangleFilled:A.DtC,PhoneFilled:A.pXb,HelpFilled:A.adD,Background:j.A},setup(){const e=(0,X.B)(),r=(0,a.EW)((()=>e.value.hasAccess("Config")||e.value.hasAccess("Sync")||e.value.hasAccess("Group"))),l=(0,a.EW)((()=>e.value.hasAccess("LoggerShow"))),t=(0,a.EW)((()=>e.value.hasAccess("Transport"))),o=(0,a.EW)((()=>e.value.hasAccess("Action")));return{hasConfig:r,hasLogger:l,hasTransport:t,hasAction:o}}},E=l(1241);const N=(0,E.A)(Q,[["render",U],["__scopeId","data-v-5df4cbc3"]]);var I=N,q=l(3847);const R=e=>((0,a.Qi)("data-v-41d4c7eb"),e=e(),(0,a.jt)(),e),D={class:"head"},B={class:"body"},O=R((()=>(0,a.Lk)("div",{class:"t-c"},"完成保存后,请重启软件",-1))),T={class:"footer t-c"};function J(e,r,l,t,o,s){const u=(0,a.g2)("el-step"),n=(0,a.g2)("el-steps"),d=(0,a.g2)("Common"),m=(0,a.g2)("el-card"),i=(0,a.g2)("Server"),f=(0,a.g2)("Client"),c=(0,a.g2)("el-button"),b=(0,a.g2)("el-dialog");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.bF)(b,{modelValue:t.state.show,"onUpdate:modelValue":r[0]||(r[0]=e=>t.state.show=e),title:"初始化配置",width:"600",top:"2vh"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.Lk)("div",D,[(0,a.bF)(n,{active:t.step.step,"finish-status":"success"},{default:(0,a.k6)((()=>[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(t.state.steps,((e,r)=>((0,a.uX)(),(0,a.Wv)(u,{title:e},null,8,["title"])))),256))])),_:1},8,["active"])]),(0,a.Lk)("div",B,[1==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:0,shadow:"never"},{default:(0,a.k6)((()=>[(0,a.bF)(d,{ref:"currentDom"},null,512)])),_:1})):(0,a.Q3)("",!0),2==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:1,shadow:"never"},{default:(0,a.k6)((()=>[(0,a.bF)(i,{ref:"currentDom"},null,512)])),_:1})):(0,a.Q3)("",!0),3==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:2,shadow:"never"},{default:(0,a.k6)((()=>[(0,a.bF)(f,{ref:"currentDom"},null,512)])),_:1})):(0,a.Q3)("",!0),4==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:3,shadow:"never"},{default:(0,a.k6)((()=>[O])),_:1})):(0,a.Q3)("",!0)]),(0,a.Lk)("div",T,[(0,a.bF)(c,{disabled:t.step.step<=1,onClick:t.handlePrev},{default:(0,a.k6)((()=>[(0,a.eW)("上一步")])),_:1},8,["disabled","onClick"]),t.step.step[(0,a.eW)("下一步")])),_:1},8,["onClick"])):((0,a.uX)(),(0,a.Wv)(c,{key:1,type:"primary",onClick:t.handleSave},{default:(0,a.k6)((()=>[(0,a.eW)("完成")])),_:1},8,["onClick"]))])])])),_:1},8,["modelValue"])])}var H=l(8835),z=l(144),G=l(1219);const Y={class:"t-c"};function M(e,r,l,t,o,s){const u=(0,a.g2)("el-checkbox");return(0,a.uX)(),(0,a.CE)("div",Y,[(0,a.bF)(u,{modelValue:t.state.form.client,"onUpdate:modelValue":r[0]||(r[0]=e=>t.state.form.client=e),label:"作为客户端"},null,8,["modelValue"]),(0,a.bF)(u,{modelValue:t.state.form.server,"onUpdate:modelValue":r[1]||(r[1]=e=>t.state.form.server=e),label:"作为服务端"},null,8,["modelValue"])])}var Z={name:"Common",setup(){const e=(0,a.WQ)("step"),r=(0,z.Kh)({form:{client:e.value.form.common.client||e.value.json.Common&&e.value.json.Common.client||!0,server:e.value.form.common.server||e.value.json.Common&&e.value.json.Common.server||!1}}),l=e=>new Promise(((e,l)=>{r.form.client||r.form.server?e({json:{Common:{client:r.form.client,server:r.form.server,modes:[r.form.client?"client":"",r.form.server?"server":""].filter((e=>!!e))}},form:{common:JSON.parse(JSON.stringify(r.form))}}):(G.nk.error("请选择客户端或服务端"),l())}));return{state:r,handleValidate:l}}};const $=(0,E.A)(Z,[["render",M]]);var ee=$;const re=e=>((0,a.Qi)("data-v-6679776c"),e=e(),(0,a.jt)(),e),le=re((()=>(0,a.Lk)("div",{class:"t-c w-100"},[(0,a.Lk)("p",null,"端口为0则不监听,相同分组名之间的客户端相互可见")],-1)));function ae(e,r,l,t,o,s){const u=(0,a.g2)("el-form-item"),n=(0,a.g2)("el-input"),d=(0,a.g2)("el-col"),m=(0,a.g2)("el-row"),i=(0,a.g2)("el-checkbox"),f=(0,a.g2)("el-form");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.bF)(f,{ref:"formDom",model:t.state.form,rules:t.state.rules,"label-width":"8rem"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[le])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"机器名",prop:"name"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.name,"onUpdate:modelValue":r[0]||(r[0]=e=>t.state.form.name=e),maxlength:"32","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"网页端口",prop:"web"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{style:{width:"44.5rem"},modelValue:t.state.form.web,"onUpdate:modelValue":r[1]||(r[1]=e=>t.state.form.web=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"接口端口",prop:"api"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.api,"onUpdate:modelValue":r[2]||(r[2]=e=>t.state.form.api=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"接口密码",prop:"password"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{type:"password",modelValue:t.state.form.password,"onUpdate:modelValue":r[3]||(r[3]=e=>t.state.form.password=e),"show-password":"",maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"分组名",prop:"groupid"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.groupid,"onUpdate:modelValue":r[4]||(r[4]=e=>t.state.form.groupid=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"分组密码",prop:"groupPassword"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.groupPassword,"onUpdate:modelValue":r[5]||(r[5]=e=>t.state.form.groupPassword=e),type:"password","show-password":"",maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:24},{default:(0,a.k6)((()=>[(0,a.bF)(u,{"label-width":"8rem",prop:"hasServer"},{default:(0,a.k6)((()=>[(0,a.bF)(i,{modelValue:t.state.form.hasServer,"onUpdate:modelValue":r[6]||(r[6]=e=>t.state.form.hasServer=e),label:"我有服务器(私有部署服务端,使用自己的服务器)",size:"large"},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),t.state.form.hasServer?((0,a.uX)(),(0,a.Wv)(u,{key:0,label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"信标服务",prop:"server"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.server,"onUpdate:modelValue":r[7]||(r[7]=e=>t.state.form.server=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"信标密钥",prop:"serverSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.serverSecretKey,"onUpdate:modelValue":r[8]||(r[8]=e=>t.state.form.serverSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})):(0,a.Q3)("",!0),t.state.form.hasServer?((0,a.uX)(),(0,a.Wv)(u,{key:1,label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"穿透密钥",prop:"sForwardSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.sForwardSecretKey,"onUpdate:modelValue":r[9]||(r[9]=e=>t.state.form.sForwardSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"中继密钥",prop:"relaySecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.relaySecretKey,"onUpdate:modelValue":r[10]||(r[10]=e=>t.state.form.relaySecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})):(0,a.Q3)("",!0),t.state.form.hasServer?((0,a.uX)(),(0,a.Wv)(u,{key:2,label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"更新密钥",prop:"updaterSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.updaterSecretKey,"onUpdate:modelValue":r[11]||(r[11]=e=>t.state.form.updaterSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"占位"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{disabled:"",maxlength:"36","show-word-limit":""})])),_:1})])),_:1})])),_:1})])),_:1})):(0,a.Q3)("",!0)])),_:1},8,["model","rules"])])}var te={setup(e){const r=(0,a.WQ)("step"),l=(0,X.B)(),t=(0,z.Kh)({form:{name:r.value.form.client.name||l.value.config.Client.Name,groupid:r.value.form.client.groupid||l.value.config.Client.Group.Id,groupPassword:r.value.form.client.groupPassword||l.value.config.Client.Group.Password,api:r.value.form.client.api||l.value.config.Client.CApi.ApiPort,web:r.value.form.client.web||l.value.config.Client.CApi.WebPort,password:r.value.form.client.password||l.value.config.Client.CApi.ApiPassword,hasServer:r.value.form.client.hasServer||!1,server:r.value.form.client.server||l.value.config.Client.Server.Host,serverSecretKey:r.value.form.client.serverSecretKey||l.value.config.Client.ServerSecretKey,sForwardSecretKey:r.value.form.client.sForwardSecretKey||l.value.config.Client.SForward.SecretKey,relaySecretKey:r.value.form.client.relaySecretKey||(l.value.config.Client.Relay.Servers[0]||{SecretKey:"snltty"}).SecretKey,updaterSecretKey:r.value.form.client.updaterSecretKey||l.value.config.Client.Updater.SecretKey},rules:{name:[{required:!0,message:"必填",trigger:"blur"}],groupid:[{required:!0,message:"必填",trigger:"blur"}],groupPassword:[{required:!0,message:"必填",trigger:"blur"}],password:[{required:!0,message:"必填",trigger:"blur"}],api:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],web:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}]}}),o=(0,z.KR)(null),s=()=>new Promise(((e,r)=>{o.value.validate((l=>{l?e({json:{Client:{name:t.form.name,groupid:t.form.groupid,groupPassword:t.form.groupPassword,api:+t.form.api,web:+t.form.web,password:t.form.password,hasServer:t.form.hasServer,server:t.form.server,serverSecretKey:t.form.serverSecretKey,sForwardSecretKey:t.form.sForwardSecretKey,relaySecretKey:t.form.relaySecretKey,updaterSecretKey:t.form.updaterSecretKey}},form:{client:JSON.parse(JSON.stringify(t.form))}}):r()}))}));return(0,a.sV)((()=>{0==r.value.json.Common.client&&(r.value.step+=r.value.increment)})),{state:t,handleValidate:s,formDom:o}}};const oe=(0,E.A)(te,[["render",ae],["__scopeId","data-v-6679776c"]]);var se=oe;const ue=e=>((0,a.Qi)("data-v-5cebfa33"),e=e(),(0,a.jt)(),e),ne=ue((()=>(0,a.Lk)("div",{class:"t-c w-100"},"端口为0则不监听",-1)));function de(e,r,l,t,o,s){const u=(0,a.g2)("el-form-item"),n=(0,a.g2)("el-input"),d=(0,a.g2)("el-col"),m=(0,a.g2)("el-row"),i=(0,a.g2)("el-form");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.bF)(i,{ref:"formDom",model:t.state.form,rules:t.state.rules,"label-width":"10rem"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[ne])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"服务端口",prop:"servicePort"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.servicePort,"onUpdate:modelValue":r[0]||(r[0]=e=>t.state.form.servicePort=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"web穿透端口",prop:"webPort"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.webPort,"onUpdate:modelValue":r[1]||(r[1]=e=>t.state.form.webPort=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"开放最小端口",prop:"tunnelPort1"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.tunnelPort1,"onUpdate:modelValue":r[2]||(r[2]=e=>t.state.form.tunnelPort1=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"开放最大端口",prop:"tunnelPort2"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.tunnelPort2,"onUpdate:modelValue":r[3]||(r[3]=e=>t.state.form.tunnelPort2=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"穿透密钥",prop:"sForwardSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.sForwardSecretKey,"onUpdate:modelValue":r[4]||(r[4]=e=>t.state.form.sForwardSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"中继密钥",prop:"relaySecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.relaySecretKey,"onUpdate:modelValue":r[5]||(r[5]=e=>t.state.form.relaySecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"信标密钥",prop:"signinSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.signinSecretKey,"onUpdate:modelValue":r[6]||(r[6]=e=>t.state.form.signinSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"更新密钥",prop:"updaterSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.updaterSecretKey,"onUpdate:modelValue":r[7]||(r[7]=e=>t.state.form.updaterSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})])),_:1},8,["model","rules"])])}var me={setup(e){const r=(0,a.WQ)("step"),l=(0,X.B)(),t=(0,z.Kh)({show:!1,form:{signinSecretKey:r.value.form.server.signinSecretKey||l.value.config.Server.SignIn.SecretKey,relaySecretKey:r.value.form.server.relaySecretKey||l.value.config.Server.Relay.SecretKey,sForwardSecretKey:r.value.form.server.sForwardSecretKey||l.value.config.Server.SForward.SecretKey,servicePort:r.value.form.server.servicePort||l.value.config.Server.ServicePort,webPort:r.value.form.server.webPort||l.value.config.Server.SForward.WebPort,tunnelPort1:r.value.form.server.tunnelPort1||l.value.config.Server.SForward.TunnelPortRange[0],tunnelPort2:r.value.form.server.tunnelPort2||l.value.config.Server.SForward.TunnelPortRange[1],updaterSecretKey:r.value.form.server.updaterSecretKey||l.value.config.Server.Updater.SecretKey},rules:{relaySecretKey:[{required:!0,message:"必填",trigger:"blur"}],sForwardSecretKey:[{required:!0,message:"必填",trigger:"blur"}],servicePort:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],webPort:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],tunnelPort1:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],tunnelPort2:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}]}}),o=(0,z.KR)(null),s=()=>new Promise(((e,r)=>{o.value.validate((l=>{0==l?r():e({json:{Server:{ServicePort:+t.form.servicePort,Relay:{SecretKey:t.form.relaySecretKey},SForward:{SecretKey:t.form.sForwardSecretKey,WebPort:+t.form.webPort,TunnelPortRange:[+t.form.tunnelPort1,+t.form.tunnelPort2]},Updater:{SecretKey:t.form.updaterSecretKey},SignIn:{SecretKey:t.form.signinSecretKey}}},form:{server:JSON.parse(JSON.stringify(t.form))}})}))}));return(0,a.sV)((()=>{0==r.value.json.Common.server&&(r.value.step+=r.value.increment)})),{state:t,handleValidate:s,formDom:o}}};const ie=(0,E.A)(me,[["render",de],["__scopeId","data-v-5cebfa33"]]);var fe=ie,ce={components:{Common:ee,Client:se,Server:fe},setup(e){const r=(0,X.B)(),l=(0,z.Kh)({show:0==r.value.config.Common.Install,steps:["选择模式","服务端","客户端","完成"]}),t=(0,z.KR)(null),o=(0,z.KR)({step:1,increment:1,json:{},form:{server:{},client:{},common:{}}});(0,a.Gt)("step",o);const s=()=>{o.value.step--,o.value.increment=-1},u=()=>{o.value.increment=1,t.value.handleValidate().then((e=>{o.value.json=Object.assign(o.value.json,e.json),o.value.form=Object.assign(o.value.form,e.form),o.value.step++})).catch((()=>{}))},n=()=>{(0,H.ai)(o.value.json).then((()=>{G.nk.success("保存成功")})).catch((()=>{G.nk.error("保存失败")}))};return{state:l,currentDom:t,step:o,handlePrev:s,handleNext:u,handleSave:n}}};const be=(0,E.A)(ce,[["render",J],["__scopeId","data-v-41d4c7eb"]]);var pe=be,ve=l(1387),ge={name:"Index",components:{Head:I,Status:q.A,Install:pe},setup(e){const r=(0,X.B)(),l=(0,ve.rd)(),t=(0,z.KR)(null),o=()=>{(0,a.dY)((()=>{r.value.height=t.value.offsetHeight}))};return(0,a.sV)((()=>{0==r.value.hasAccess("FullManager")&&l.push({name:"NoPermission"}),window.addEventListener("resize",o),o()})),(0,a.hi)((()=>{window.removeEventListener("resize",o)})),{wrap:t}}};const ke=(0,E.A)(ge,[["render",d],["__scopeId","data-v-5ea3415a"]]);var Fe=ke}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/352.053f3b66.js b/linker.tray.win/web/js/352.053f3b66.js new file mode 100644 index 00000000..d7612764 --- /dev/null +++ b/linker.tray.win/web/js/352.053f3b66.js @@ -0,0 +1 @@ +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[352],{352:function(e,a,l){l.r(a),l.d(a,{default:function(){return V}});var t=l(6768),o=l(4232);const n=e=>((0,t.Qi)("data-v-79712688"),e=e(),(0,t.jt)(),e),r={class:"logger-setting-wrap flex flex-column h-100",ref:"wrap"},g={class:"inner"},s={class:"head flex"},i=n((()=>(0,t.Lk)("span",{class:"flex-1"},null,-1))),d={class:"body flex-1 relative"},u={class:"pages t-c"},b={class:"page-wrap"};function c(e,a,l,n,c,p){const f=(0,t.g2)("el-option"),m=(0,t.g2)("el-select"),h=(0,t.g2)("el-button"),k=(0,t.g2)("el-table-column"),v=(0,t.g2)("el-table"),w=(0,t.g2)("el-pagination"),y=(0,t.g2)("el-tab-pane"),F=(0,t.g2)("Setting"),L=(0,t.g2)("el-tabs");return(0,t.uX)(),(0,t.CE)("div",r,[(0,t.bF)(L,{type:"border-card"},{default:(0,t.k6)((()=>[n.hasLogger?((0,t.uX)(),(0,t.Wv)(y,{key:0,label:"主页"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",g,[(0,t.Lk)("div",s,[(0,t.Lk)("div",null,[(0,t.bF)(m,{modelValue:n.state.type,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.type=e),onChange:n.loadData,size:"small",class:"m-r-1",style:{width:"6rem"}},{default:(0,t.k6)((()=>[(0,t.bF)(f,{value:-1,label:"all"}),(0,t.bF)(f,{value:0,label:"debug"}),(0,t.bF)(f,{value:1,label:"info"}),(0,t.bF)(f,{value:2,label:"warning"}),(0,t.bF)(f,{value:3,label:"error"}),(0,t.bF)(f,{value:4,label:"fatal"})])),_:1},8,["modelValue","onChange"])]),(0,t.bF)(h,{type:"warning",size:"small",loading:n.state.loading,onClick:n.clearData},{default:(0,t.k6)((()=>[(0,t.eW)("清空")])),_:1},8,["loading","onClick"]),(0,t.bF)(h,{size:"small",loading:n.state.loading,onClick:n.loadData},{default:(0,t.k6)((()=>[(0,t.eW)("刷新列表")])),_:1},8,["loading","onClick"]),i]),(0,t.Lk)("div",d,[(0,t.bF)(v,{stripe:"",border:"",data:n.state.page.List,size:"small",height:`${n.state.height}px`,onRowClick:n.handleRowClick,"row-class-name":n.tableRowClassName},{default:(0,t.k6)((()=>[(0,t.bF)(k,{type:"index",width:"50"}),(0,t.bF)(k,{prop:"Type",label:"类别",width:"80"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,o.v_)(n.state.types[e.row.Type]),1)])),_:1}),(0,t.bF)(k,{prop:"Time",label:"时间",width:"160"}),(0,t.bF)(k,{prop:"content",label:"内容"})])),_:1},8,["data","height","onRowClick","row-class-name"])]),(0,t.Lk)("div",u,[(0,t.Lk)("div",b,[(0,t.bF)(w,{small:"",total:n.state.page.Count,currentPage:n.state.page.Page,"onUpdate:currentPage":a[1]||(a[1]=e=>n.state.page.Page=e),"page-size":n.state.page.Size,onCurrentChange:n.handlePageChange,background:"",layout:"total,prev, pager, next"},null,8,["total","currentPage","page-size","onCurrentChange"])])])])])),_:1})):(0,t.Q3)("",!0),n.hasLoggerLevel?((0,t.uX)(),(0,t.Wv)(y,{key:1,label:"配置"},{default:(0,t.k6)((()=>[(0,t.bF)(F)])),_:1})):(0,t.Q3)("",!0)])),_:1})],512)}var p=l(144),f=l(4);const m=e=>(0,f.zG)("logger/get",e),h=()=>(0,f.zG)("logger/clear"),k=()=>(0,f.zG)("logger/getconfig"),v=e=>(0,f.zG)("logger/setconfig",e),w={class:"t-c w-100"};function y(e,a,l,o,n,r){const g=(0,t.g2)("el-input"),s=(0,t.g2)("el-form-item"),i=(0,t.g2)("el-col"),d=(0,t.g2)("el-option"),u=(0,t.g2)("el-select"),b=(0,t.g2)("el-row"),c=(0,t.g2)("el-button"),p=(0,t.g2)("el-form");return(0,t.uX)(),(0,t.Wv)(p,{"label-width":"8rem",ref:"formDom",model:o.state.form,rules:o.state.rules},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(b,null,{default:(0,t.k6)((()=>[(0,t.bF)(i,{xs:24,sm:8,md:8,lg:8,xl:8},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"显示数量",prop:"Size"},{default:(0,t.k6)((()=>[(0,t.bF)(g,{size:"default",modelValue:o.state.form.Size,"onUpdate:modelValue":a[0]||(a[0]=e=>o.state.form.Size=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(i,{xs:24,sm:8,md:8,lg:8,xl:8},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"日志等级",prop:"LoggerType"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:o.state.form.LoggerType,"onUpdate:modelValue":a[1]||(a[1]=e=>o.state.form.LoggerType=e)},{default:(0,t.k6)((()=>[(0,t.bF)(d,{value:0,label:"debug"}),(0,t.bF)(d,{value:1,label:"info"}),(0,t.bF)(d,{value:2,label:"warning"}),(0,t.bF)(d,{value:3,label:"error"}),(0,t.bF)(d,{value:4,label:"fatal"})])),_:1},8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{"label-width":"0"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",w,[(0,t.bF)(c,{type:"primary",loading:o.state.loading,onClick:o.submit},{default:(0,t.k6)((()=>[(0,t.eW)("确 定")])),_:1},8,["loading","onClick"])])])),_:1})])),_:1},8,["model","rules"])}var F=l(1219),L={setup(){const e=(0,p.KR)(null),a=(0,p.Kh)({loading:!1,configInfo:{},form:{Size:0,LoggerType:-1},rules:{Size:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:1,max:1e4,message:"数字 1-10000",trigger:"blur",transform(e){return Number(e)}}]}}),l=()=>{k().then((e=>{a.configInfo=e,a.form.Size=e.Size,a.form.LoggerType=e.LoggerType})).catch((e=>{}))},o=()=>{let e=JSON.parse(JSON.stringify(a.configInfo));return e.Size=+a.form.Size,e.LoggerType=+a.form.LoggerType,e},n=()=>new Promise(((l,t)=>{e.value.validate((e=>{if(0==e)return t(),!1;a.loading=!0;const n=o();v(n).then((e=>{a.loading=!1,l(),e?F.nk.success("操作成功!"):F.nk.error("操作失败!")})).catch((e=>{console.log(e),a.loading=!1,l()}))}))}));return(0,t.sV)((()=>{l()})),{state:a,formDom:e,submit:n}}},C=l(1241);const z=(0,C.A)(L,[["render",y],["__scopeId","data-v-64d6c662"]]);var _=z,x=l(2933),S=l(3830),T={components:{Setting:_},setup(){const e=(0,S.B)(),a=(0,p.EW)((()=>e.value.hasAccess("LoggerShow"))),l=(0,p.EW)((()=>e.value.hasAccess("LoggerLevel"))),o=(0,p.KR)(null),n=(0,p.Kh)({loading:!0,type:-1,page:{Page:1,Size:20,Count:0,List:[]},types:["debug","info","warning","error","fatal"],height:(0,p.EW)((()=>e.value.height-180))}),r=()=>{n.loading=!0,m({Page:n.page.Page,Size:n.page.Size,Type:n.type}).then((e=>{n.loading=!1,e.List.map((e=>{e.content=e.Content.substring(0,50)})),n.page=e})).catch((e=>{console.log(e),n.loading=!1}))},g=e=>{e&&(n.page.Page=e,r())},s=()=>{n.loading=!0,h().then((()=>{n.loading=!1,r()})).catch((()=>{n.loading=!1}))},i=({row:e,rowIndex:a})=>`type-${e.Type}`,d=(e,a,l)=>{let t="padding:1rem;border:1px solid #ddd; resize:none;width:39rem;box-sizing: border-box;white-space: nowrap; height:30rem;";x.s.alert(``,"内容",{dangerouslyUseHTMLString:!0}).catch((()=>{}))};return(0,t.sV)((()=>{r()})),{hasLogger:a,hasLoggerLevel:l,wrap:o,state:n,loadData:r,clearData:s,tableRowClassName:i,handleRowClick:d,handlePageChange:g}}};const P=(0,C.A)(T,[["render",c],["__scopeId","data-v-79712688"]]);var V=P}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/352.678c694a.js b/linker.tray.win/web/js/352.678c694a.js deleted file mode 100644 index 5eb02283..00000000 --- a/linker.tray.win/web/js/352.678c694a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[352],{352:function(e,a,l){l.r(a),l.d(a,{default:function(){return V}});var t=l(6768),o=l(4232);const n=e=>((0,t.Qi)("data-v-79712688"),e=e(),(0,t.jt)(),e),r={class:"logger-setting-wrap flex flex-column h-100",ref:"wrap"},g={class:"inner"},s={class:"head flex"},i=n((()=>(0,t.Lk)("span",{class:"flex-1"},null,-1))),d={class:"body flex-1 relative"},u={class:"pages t-c"},c={class:"page-wrap"};function b(e,a,l,n,b,p){const f=(0,t.g2)("el-option"),m=(0,t.g2)("el-select"),h=(0,t.g2)("el-button"),k=(0,t.g2)("el-table-column"),v=(0,t.g2)("el-table"),w=(0,t.g2)("el-pagination"),y=(0,t.g2)("el-tab-pane"),F=(0,t.g2)("Setting"),L=(0,t.g2)("el-tabs");return(0,t.uX)(),(0,t.CE)("div",r,[(0,t.bF)(L,{type:"border-card"},{default:(0,t.k6)((()=>[n.hasLogger?((0,t.uX)(),(0,t.Wv)(y,{key:0,label:"主页"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",g,[(0,t.Lk)("div",s,[(0,t.Lk)("div",null,[(0,t.bF)(m,{modelValue:n.state.type,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.type=e),onChange:n.loadData,size:"small",class:"m-r-1",style:{width:"6rem"}},{default:(0,t.k6)((()=>[(0,t.bF)(f,{value:-1,label:"all"}),(0,t.bF)(f,{value:0,label:"debug"}),(0,t.bF)(f,{value:1,label:"info"}),(0,t.bF)(f,{value:2,label:"warning"}),(0,t.bF)(f,{value:3,label:"error"}),(0,t.bF)(f,{value:4,label:"fatal"})])),_:1},8,["modelValue","onChange"])]),(0,t.bF)(h,{type:"warning",size:"small",loading:n.state.loading,onClick:n.clearData},{default:(0,t.k6)((()=>[(0,t.eW)("清空")])),_:1},8,["loading","onClick"]),(0,t.bF)(h,{size:"small",loading:n.state.loading,onClick:n.loadData},{default:(0,t.k6)((()=>[(0,t.eW)("刷新列表")])),_:1},8,["loading","onClick"]),i]),(0,t.Lk)("div",d,[(0,t.bF)(v,{stripe:"",border:"",data:n.state.page.List,size:"small",height:`${n.state.height}px`,onRowClick:n.handleRowClick,"row-class-name":n.tableRowClassName},{default:(0,t.k6)((()=>[(0,t.bF)(k,{type:"index",width:"50"}),(0,t.bF)(k,{prop:"Type",label:"类别",width:"80"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,o.v_)(n.state.types[e.row.Type]),1)])),_:1}),(0,t.bF)(k,{prop:"Time",label:"时间",width:"160"}),(0,t.bF)(k,{prop:"content",label:"内容"})])),_:1},8,["data","height","onRowClick","row-class-name"])]),(0,t.Lk)("div",u,[(0,t.Lk)("div",c,[(0,t.bF)(w,{small:"",total:n.state.page.Count,currentPage:n.state.page.Page,"onUpdate:currentPage":a[1]||(a[1]=e=>n.state.page.Page=e),"page-size":n.state.page.Size,onCurrentChange:n.handlePageChange,background:"",layout:"total,prev, pager, next"},null,8,["total","currentPage","page-size","onCurrentChange"])])])])])),_:1})):(0,t.Q3)("",!0),n.hasLoggerLevel?((0,t.uX)(),(0,t.Wv)(y,{key:1,label:"配置"},{default:(0,t.k6)((()=>[(0,t.bF)(F)])),_:1})):(0,t.Q3)("",!0)])),_:1})],512)}var p=l(144),f=l(4);const m=e=>(0,f.zG)("loggerclient/get",e),h=()=>(0,f.zG)("loggerclient/clear"),k=()=>(0,f.zG)("loggerclient/getconfig"),v=e=>(0,f.zG)("loggerclient/setconfig",e),w={class:"t-c w-100"};function y(e,a,l,o,n,r){const g=(0,t.g2)("el-input"),s=(0,t.g2)("el-form-item"),i=(0,t.g2)("el-col"),d=(0,t.g2)("el-option"),u=(0,t.g2)("el-select"),c=(0,t.g2)("el-row"),b=(0,t.g2)("el-button"),p=(0,t.g2)("el-form");return(0,t.uX)(),(0,t.Wv)(p,{"label-width":"8rem",ref:"formDom",model:o.state.form,rules:o.state.rules},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(i,{xs:24,sm:8,md:8,lg:8,xl:8},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"显示数量",prop:"Size"},{default:(0,t.k6)((()=>[(0,t.bF)(g,{size:"default",modelValue:o.state.form.Size,"onUpdate:modelValue":a[0]||(a[0]=e=>o.state.form.Size=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(i,{xs:24,sm:8,md:8,lg:8,xl:8},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"日志等级",prop:"LoggerType"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:o.state.form.LoggerType,"onUpdate:modelValue":a[1]||(a[1]=e=>o.state.form.LoggerType=e)},{default:(0,t.k6)((()=>[(0,t.bF)(d,{value:0,label:"debug"}),(0,t.bF)(d,{value:1,label:"info"}),(0,t.bF)(d,{value:2,label:"warning"}),(0,t.bF)(d,{value:3,label:"error"}),(0,t.bF)(d,{value:4,label:"fatal"})])),_:1},8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{"label-width":"0"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",w,[(0,t.bF)(b,{type:"primary",loading:o.state.loading,onClick:o.submit},{default:(0,t.k6)((()=>[(0,t.eW)("确 定")])),_:1},8,["loading","onClick"])])])),_:1})])),_:1},8,["model","rules"])}var F=l(1219),L={setup(){const e=(0,p.KR)(null),a=(0,p.Kh)({loading:!1,configInfo:{},form:{Size:0,LoggerType:-1},rules:{Size:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:1,max:1e4,message:"数字 1-10000",trigger:"blur",transform(e){return Number(e)}}]}}),l=()=>{k().then((e=>{a.configInfo=e,a.form.Size=e.Size,a.form.LoggerType=e.LoggerType})).catch((e=>{}))},o=()=>{let e=JSON.parse(JSON.stringify(a.configInfo));return e.Size=+a.form.Size,e.LoggerType=+a.form.LoggerType,e},n=()=>new Promise(((l,t)=>{e.value.validate((e=>{if(0==e)return t(),!1;a.loading=!0;const n=o();v(n).then((e=>{a.loading=!1,l(),e?F.nk.success("操作成功!"):F.nk.error("操作失败!")})).catch((e=>{console.log(e),a.loading=!1,l()}))}))}));return(0,t.sV)((()=>{l()})),{state:a,formDom:e,submit:n}}},C=l(1241);const z=(0,C.A)(L,[["render",y],["__scopeId","data-v-64d6c662"]]);var _=z,x=l(2933),S=l(3830),T={components:{Setting:_},setup(){const e=(0,S.B)(),a=(0,p.EW)((()=>e.value.hasAccess("LoggerShow"))),l=(0,p.EW)((()=>e.value.hasAccess("LoggerLevel"))),o=(0,p.KR)(null),n=(0,p.Kh)({loading:!0,type:-1,page:{Page:1,Size:20,Count:0,List:[]},types:["debug","info","warning","error","fatal"],height:(0,p.EW)((()=>e.value.height-180))}),r=()=>{n.loading=!0,m({Page:n.page.Page,Size:n.page.Size,Type:n.type}).then((e=>{n.loading=!1,e.List.map((e=>{e.content=e.Content.substring(0,50)})),n.page=e})).catch((e=>{console.log(e),n.loading=!1}))},g=e=>{e&&(n.page.Page=e,r())},s=()=>{n.loading=!0,h().then((()=>{n.loading=!1,r()})).catch((()=>{n.loading=!1}))},i=({row:e,rowIndex:a})=>`type-${e.Type}`,d=(e,a,l)=>{let t="padding:1rem;border:1px solid #ddd; resize:none;width:39rem;box-sizing: border-box;white-space: nowrap; height:30rem;";x.s.alert(``,"内容",{dangerouslyUseHTMLString:!0}).catch((()=>{}))};return(0,t.sV)((()=>{r()})),{hasLogger:a,hasLoggerLevel:l,wrap:o,state:n,loadData:r,clearData:s,tableRowClassName:i,handleRowClick:d,handlePageChange:g}}};const P=(0,C.A)(T,[["render",b],["__scopeId","data-v-79712688"]]);var V=P}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/39.695c2adf.js b/linker.tray.win/web/js/39.695c2adf.js deleted file mode 100644 index 98956cb6..00000000 --- a/linker.tray.win/web/js/39.695c2adf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[39],{3363:function(e,t,a){a.d(t,{EQ:function(){return i},QI:function(){return n},ZK:function(){return u}});var l=a(4);const n=e=>(0,l.zG)("access/GetAccesss",e),u=e=>(0,l.zG)("access/SetAccess",e),i=()=>(0,l.zG)("access/refresh")},920:function(e,t,a){a.d(t,{BJ:function(){return d},Ce:function(){return f},NS:function(){return i},PY:function(){return r},UB:function(){return m},Vk:function(){return o},aP:function(){return v},ir:function(){return s},lJ:function(){return u},mK:function(){return n},y2:function(){return h},yN:function(){return c}});var l=a(4);const n=(e="0")=>(0,l.zG)("updaterclient/get",e),u=e=>(0,l.zG)("updaterclient/confirm",e),i=e=>(0,l.zG)("updaterclient/exit",e),c=()=>(0,l.zG)("updaterclient/GetSecretKey"),s=e=>(0,l.zG)("updaterclient/SetSecretKey",e),r=e=>(0,l.zG)("updaterclient/SetInterval",e),o=()=>(0,l.zG)("updaterclient/getcurrent"),d=()=>(0,l.zG)("updaterclient/getserver"),h=e=>(0,l.zG)("updaterclient/confirmserver",e),v=()=>(0,l.zG)("updaterclient/exitserver"),m=()=>(0,l.zG)("updaterclient/Subscribe"),f=e=>(0,l.zG)("updaterclient/check",e)},5962:function(e,t,a){a.d(t,{Y:function(){return c},q:function(){return s}});var l=a(3363),n=a(144),u=a(6768);const i=Symbol(),c=()=>{const e=(0,n.KR)({list:{},timer:0,hashcode:0});(0,u.Gt)(i,e);const t=()=>{(0,l.EQ)()},a=()=>{(0,l.QI)(e.value.hashcode.toString()).then((t=>{e.value.hashcode=t.HashCode,t.List&&(e.value.list=t.List),e.value.timer=setTimeout(a,1e3)})).catch((()=>{e.value.timer=setTimeout(a,1e3)}))},c=()=>{clearTimeout(e.value.timer)};return{access:e,_getAccessInfo:a,clearAccessTimeout:c,handleAccesssRefresh:t}},s=()=>(0,u.WQ)(i)},9383:function(e,t,a){a.d(t,{T:function(){return r},d:function(){return s}});var l=a(920),n=a(3830),u=a(144),i=a(6768);const c=Symbol(),s=()=>{const e=(0,n.B)(),t=(0,u.KR)({timer:0,list:{},hashcode:0,current:{Version:"",Msg:[],DateTime:"",Status:0,Length:0,Current:0},subscribeTimer:0});(0,i.Gt)(c,t);const a=()=>{(0,l.mK)(t.value.hashcode.toString()).then((l=>{if(t.value.hashcode=l.HashCode,l.List){const a=Object.values(l.List).filter((e=>!!e.Version))[0];a&&(Object.assign(t.value.current,{DateTime:a.DateTime,Version:a.Version,Status:a.Status,Length:a.Length,Current:a.Current,Msg:a.Msg}),e.value.updater=t.value.current),t.value.list=l.List}t.value.timer=setTimeout(a,800)})).catch((()=>{t.value.timer=setTimeout(a,800)}))},s=()=>{(0,l.UB)().then((()=>{t.value.subscribeTimer=setTimeout(s,5e3)})).catch((()=>{t.value.subscribeTimer=setTimeout(s,5e3)}))},r=()=>{clearTimeout(t.value.timer),clearTimeout(t.value.subscribeTimer)};return{updater:t,_getUpdater:a,_subscribeUpdater:s,clearUpdaterTimeout:r}},r=()=>(0,i.WQ)(c)},9593:function(e,t,a){a.d(t,{A:function(){return d}});var l=a(6768);function n(e,t,a,n,u,i){const c=(0,l.g2)("el-checkbox"),s=(0,l.g2)("el-col"),r=(0,l.g2)("el-row"),o=(0,l.g2)("el-checkbox-group");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.bF)(r,null,{default:(0,l.k6)((()=>[(0,l.bF)(s,{span:8},{default:(0,l.k6)((()=>[(0,l.bF)(c,{modelValue:n.state.checkAll,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.checkAll=e),onChange:n.handleCheckAllChange,label:"全选",indeterminate:n.state.isIndeterminate},null,8,["modelValue","onChange","indeterminate"])])),_:1})])),_:1}),(0,l.bF)(o,{modelValue:n.state.checkList,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.checkList=e),onChange:n.handleCheckedChange},{default:(0,l.k6)((()=>[(0,l.bF)(r,null,{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.access,((e,t)=>((0,l.uX)(),(0,l.Wv)(s,{key:t,span:8},{default:(0,l.k6)((()=>[(0,l.bF)(c,{value:e.Value,label:e.Text},null,8,["value","label"])])),_:2},1024)))),128))])),_:1})])),_:1},8,["modelValue","onChange"])],64)}a(4114);var u=a(144),i=a(3830),c=a(5962),s={props:["machineid"],setup(e){const t=(0,i.B)(),a=(0,c.q)(),n=(0,l.EW)((()=>{const e=t.value.config.Client.Accesss;return Object.keys(e).reduce(((a,l,n)=>{if(t.value.hasAccess(l)){const t=e[l];t.Key=l,a.push(t)}return a}),[])})),s=(0,u.Kh)({checkList:[t.value.config.Client.Accesss.Api.Value,t.value.config.Client.Accesss.Web.Value,t.value.config.Client.Accesss.NetManager.Value,t.value.config.Client.Accesss.FullManager.Value,t.value.config.Client.Accesss.Transport.Value,t.value.config.Client.Accesss.Action.Value],checkAll:!1,isIndeterminate:!1}),r=()=>+s.checkList.reduce(((e,t)=>e|BigInt(t)),BigInt(0)).toString(),o=e=>{const t=e.length;s.checkAll=t===n.value.length,s.isIndeterminate=t>0&&t{s.checkAll=e,s.checkList=e?n.value.map((e=>e.Value)):[],s.isIndeterminate=!1};return(0,l.sV)((()=>{if(a&&a.value.list[e.machineid]){const t=a.value.list[e.machineid];s.checkList=n.value.reduce(((e,a)=>(+(BigInt(t)&BigInt(a.Value)).toString()==a.Value&&e.push(a.Value),e)),[])}o(s.checkList)})),{state:s,access:n,getValue:r,handleCheckAllChange:d,handleCheckedChange:o}}},r=a(1241);const o=(0,r.A)(s,[["render",n],["__scopeId","data-v-5d52ca48"]]);var d=o},167:function(e,t,a){a.d(t,{A:function(){return C}});var l=a(6768),n=a(4232);const u=["title"],i={key:0,class:"progress"},c={key:1,class:"progress"};function s(e,t,a,s,r,o){const d=(0,l.g2)("Loading"),h=(0,l.g2)("el-icon"),v=(0,l.g2)("Download"),m=(0,l.g2)("CircleCheck"),f=(0,l.g2)("Refresh");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.Lk)("a",{href:"javascript:;",class:(0,n.C4)(["download",s.updaterColor]),onClick:t[0]||(t[0]=e=>s.handleUpdate()),title:s.updaterText},[(0,l.Lk)("span",null,[(0,l.Lk)("span",null,(0,n.v_)(s.item.Version),1),s.updater.list[s.item.MachineId]?((0,l.uX)(),(0,l.CE)(l.FK,{key:0},[1==s.updater.list[s.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(h,{key:0,size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(d)])),_:1})):2==s.updater.list[s.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(h,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(v)])),_:1})):3==s.updater.list[s.item.MachineId].Status||5==s.updater.list[s.item.MachineId].Status?((0,l.uX)(),(0,l.CE)(l.FK,{key:2},[(0,l.bF)(h,{size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(d)])),_:1}),0==s.updater.list[s.item.MachineId].Length?((0,l.uX)(),(0,l.CE)("span",i,"0%")):((0,l.uX)(),(0,l.CE)("span",c,(0,n.v_)(parseInt(s.updater.list[s.item.MachineId].Current/s.updater.list[s.item.MachineId].Length*100))+"%",1))],64)):6==s.updater.list[s.item.MachineId].Status?((0,l.uX)(),(0,l.Wv)(h,{key:3,size:"14",class:"yellow"},{default:(0,l.k6)((()=>[(0,l.bF)(m)])),_:1})):(0,l.Q3)("",!0)],64)):((0,l.uX)(),(0,l.Wv)(h,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(v)])),_:1}))])],10,u),(0,l.Lk)("a",{href:"javascript:;",class:"download",title:"检查更新",onClick:t[1]||(t[1]=(...e)=>s.handleCheck&&s.handleCheck(...e))},[(0,l.bF)(h,null,{default:(0,l.k6)((()=>[(0,l.bF)(f)])),_:1})])],64)}a(4114);var r=a(3830),o=a(144),d=a(1219),h=a(2933),v=a(2248),m=a(920),f=a(7477),p=a(9383),g={props:["item","config"],components:{Download:f.f5X,Loading:f.Rhj,CircleCheck:f.rW7,Refresh:f.C42},setup(e){const t=(0,r.B)(),a=(0,l.EW)((()=>t.value.hasAccess("UpdateSelf"))),n=(0,l.EW)((()=>t.value.hasAccess("UpdateOther"))),u=(0,p.T)(),i=(0,l.EW)((()=>t.value.signin.Version)),c=(0,l.EW)((()=>u.value.current.Version)),s=(0,l.EW)((()=>`${c.value}->${u.value.current.DateTime}\n${u.value.current.Msg.map(((e,t)=>`${t+1}、${e}`)).join("\n")}`)),f=(0,l.EW)((()=>u.value.list[e.item.MachineId]?u.value.list[e.item.MachineId].Status<=2?e.item.Version!=i.value?`与服务器版本(${i.value})不一致,建议更新`:c.value!=e.item.Version?`不是最新版本(${c.value}),建议更新\n${s.value}`:`是最新版本,但我无法阻止你喜欢更新\n${s.value}`:{3:"正在下载",4:"已下载",5:"正在解压",6:"已解压,请重启"}[u.value.list[e.item.MachineId].Status]:"未检测到更新")),g=(0,l.EW)((()=>e.item.Version!=i.value?"red":u.value.list[e.item.MachineId]&&c.value!=e.item.Version?"yellow":"green")),k=()=>{if(!e.config)return;if(!a.value)return;const t=u.value.list[e.item.MachineId];if(t)if([0,1,3,5].indexOf(t.Status)>=0)d.nk.error("操作中,请稍后!");else if(6!=t.Status){if(2==t.Status){const t=(0,o.KR)(c.value),a=[(0,l.h)(v.P9,{label:`仅[${e.item.MachineName}] -> ${c.value}(最新)`,value:c.value})];e.config&&n.value&&(a.push((0,l.h)(v.P9,{label:`[本组所有] -> ${c.value}(最新)`,value:`allg->${c.value}`})),a.push((0,l.h)(v.P9,{label:`[本服务器所有] -> ${c.value}(最新)(需要密钥)`,value:`all->${c.value}`}))),e.item.Version!=i.value&&c.value!=i.value&&(a.push((0,l.h)(v.P9,{label:`仅[${e.item.MachineName}] -> ${i.value}(服务器版本)`,value:i.value})),e.config&&n.value&&(a.push((0,l.h)(v.P9,{label:`[本组所有] -> ${i.value}(服务器版本)`,value:`allg->${i.value}`})),a.push((0,l.h)(v.P9,{label:`[本服务器所有] -> ${i.value}(服务器版本)(需要密钥)`,value:`all->${i.value}`})))),(0,h.s)({title:"选择版本",message:()=>(0,l.h)(v.AV,{modelValue:t.value,placeholder:"请选择",style:"width:20rem;","onUpdate:modelValue":e=>{t.value=e}},a),confirmButtonText:"确定",cancelButtonText:"取消"}).then((()=>{const a={MachineId:e.item.MachineId,Version:t.value.replace("all->","").replace("allg->",""),GroupAll:t.value.indexOf("allg->")>=0,All:t.value.indexOf("all->")>=0};(a.All||a.GroupAll)&&(a.MachineId=""),(0,m.lJ)(a)})).catch((()=>{}))}}else h.s.confirm("确定关闭程序吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{exit(e.item.MachineId)})).catch((()=>{}));else d.nk.error("未检测到更新")},b=()=>{const t=(0,o.KR)(e.item.MachineId),a=[(0,l.h)(v.P9,{label:`仅检查[${e.item.MachineName}]`,value:e.item.MachineId}),(0,l.h)(v.P9,{label:"仅检查[本组所有]",value:"g-all"})];(0,h.s)({title:"选择检查对象",message:()=>(0,l.h)(v.AV,{modelValue:t.value,placeholder:"请选择",style:"width:20rem;","onUpdate:modelValue":e=>{t.value=e}},a),confirmButtonText:"确定",cancelButtonText:"取消"}).then((()=>{(0,m.Ce)(t.value==e.item.MachineId?t.value:"")})).catch((()=>{}))};return{item:(0,l.EW)((()=>e.item)),updater:u,updaterText:f,updaterColor:g,handleUpdate:k,handleCheck:b}}},k=a(1241);const b=(0,k.A)(g,[["render",s],["__scopeId","data-v-6653ef00"]]);var C=b}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/402.024283d6.js b/linker.tray.win/web/js/402.024283d6.js deleted file mode 100644 index ecf717b6..00000000 --- a/linker.tray.win/web/js/402.024283d6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[402],{402:function(e,t,n){n.r(t),n.d(t,{default:function(){return h}});var r=n(6768);const o={class:"action-wrap"},s={class:"t-c"};function a(e,t,n,a,l,c){const i=(0,r.g2)("el-input"),u=(0,r.g2)("el-button"),d=(0,r.g2)("el-card");return(0,r.uX)(),(0,r.CE)("div",o,[(0,r.bF)(d,{shadow:"never"},{header:(0,r.k6)((()=>[(0,r.eW)("设置定义验证的静态Json参数")])),footer:(0,r.k6)((()=>[(0,r.Lk)("div",s,[(0,r.bF)(u,{type:"success",onClick:a.handleSave},{default:(0,r.k6)((()=>[(0,r.eW)("确定更改")])),_:1},8,["onClick"])])])),default:(0,r.k6)((()=>[(0,r.Lk)("div",null,[(0,r.bF)(i,{modelValue:a.state.list,"onUpdate:modelValue":t[0]||(t[0]=e=>a.state.list=e),rows:10,type:"textarea",resize:"none",onChange:a.handleSave},null,8,["modelValue","onChange"])])])),_:1})])}var l=n(4);const c=e=>(0,l.zG)("action/SetServerArgs",e);var i=n(3830),u=n(1219),d=n(144),v={setup(e){const t=(0,i.B)(),n=(0,d.Kh)({list:t.value.config.Client.Action.Args[t.value.config.Client.Server.Host]||""}),r=()=>{try{if(n.list&&"object"!=typeof JSON.parse(n.list))return void u.nk.error("Json格式错误")}catch(r){return void u.nk.error("Json格式错误")}const e={};e[t.value.config.Client.Server.Host]=n.list,c(e).then((()=>{u.nk.success("已操作")})).catch((e=>{console.log(e),u.nk.error("操作失败")}))};return{state:n,handleSave:r}}},k=n(1241);const f=(0,k.A)(v,[["render",a],["__scopeId","data-v-3cb5be52"]]);var h=f}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/57.d154f935.js b/linker.tray.win/web/js/57.d154f935.js new file mode 100644 index 00000000..37d0545c --- /dev/null +++ b/linker.tray.win/web/js/57.d154f935.js @@ -0,0 +1 @@ +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[57],{2057:function(e,n,t){t.r(n),t.d(n,{default:function(){return g}});var r=t(6768);const o={class:"action-wrap"},s={class:"t-c"};function a(e,n,t,a,l,c){const i=(0,r.g2)("el-input"),u=(0,r.g2)("el-button"),d=(0,r.g2)("el-card");return(0,r.uX)(),(0,r.CE)("div",o,[(0,r.bF)(d,{shadow:"never"},{header:(0,r.k6)((()=>[(0,r.eW)("设置定义验证的静态Json参数")])),footer:(0,r.k6)((()=>[(0,r.Lk)("div",s,[(0,r.bF)(u,{type:"success",onClick:a.handleSave},{default:(0,r.k6)((()=>[(0,r.eW)("确定更改")])),_:1},8,["onClick"])])])),default:(0,r.k6)((()=>[(0,r.Lk)("div",null,[(0,r.bF)(i,{modelValue:a.state.list,"onUpdate:modelValue":n[0]||(n[0]=e=>a.state.list=e),rows:10,type:"textarea",resize:"none",onChange:a.handleSave},null,8,["modelValue","onChange"])])])),_:1})])}var l=t(4);const c=e=>(0,l.zG)("action/SetServerArgs",e);var i=t(3830),u=t(1219),d=t(144),v={setup(e){const n=(0,i.B)(),t=(0,d.Kh)({list:n.value.config.Client.Action.Args[n.value.config.Client.Server.Host]||""}),r=()=>{try{if(t.list&&"object"!=typeof JSON.parse(t.list))return void u.nk.error("Json格式错误")}catch(r){return void u.nk.error("Json格式错误")}const e=JSON.parse(JSON.stringify(n.value.config.Client.Action.Args));e[n.value.config.Client.Server.Host]=t.list,c(e).then((()=>{u.nk.success("已操作")})).catch((e=>{console.log(e),u.nk.error("操作失败")}))};return{state:t,handleSave:r}}},k=t(1241);const f=(0,k.A)(v,[["render",a],["__scopeId","data-v-7e144fd0"]]);var g=f}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/642.8d1a79df.js b/linker.tray.win/web/js/642.8d1a79df.js deleted file mode 100644 index b076f14e..00000000 --- a/linker.tray.win/web/js/642.8d1a79df.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[642],{5096:function(e,t,a){a.d(t,{A:function(){return p}});var l=a(6768);const o=e=>((0,l.Qi)("data-v-4892cd3c"),e=e(),(0,l.jt)(),e),n=o((()=>(0,l.Lk)("input",{type:"file",id:"file-input"},null,-1)));function s(e,t,a,o,s,r){const i=(0,l.g2)("PictureRounded"),d=(0,l.g2)("el-icon");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.Lk)("a",{href:"javascript:;",onClick:t[0]||(t[0]=(...e)=>o.handleBg&&o.handleBg(...e))},[(0,l.bF)(d,null,{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1})]),n],64)}var r=a(7477),i=a(2933),d={components:{PictureRounded:r.syp},props:["name"],setup(e){const t=`bg-${e.name}`,a=()=>{localStorage.getItem(t)?i.s.confirm("清除背景?","Warning",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{n()})).catch((()=>{})):document.getElementById("file-input").click()},o=e=>{const t=e.target.files[0];if(t)try{const e=new FileReader;e.onload=function(e){n(e.target.result)},e.readAsDataURL(t)}catch(a){}e.target.value=""},n=e=>{e?(document.body.className="sunny",localStorage.setItem(t,e),document.body.style=`background-image:url(${e})`):(document.body.className="",document.body.style="",localStorage.setItem(t,""))};return(0,l.sV)((()=>{document.getElementById("file-input").addEventListener("change",o),n(localStorage.getItem(t))})),{handleBg:a}}},c=a(1241);const u=(0,c.A)(d,[["render",s],["__scopeId","data-v-4892cd3c"]]);var p=u},3269:function(e,t,a){a.d(t,{A:function(){return Ye}});var l=a(6768),o=a(4232),n=a.p+"img/coin.6431311b.svg",s=a.p+"img/wechat.5c371c5d.jpg",r=a.p+"img/alipay.ff9b1e7c.jpg";const i=e=>((0,l.Qi)("data-v-2a629595"),e=e(),(0,l.jt)(),e),d={class:"status-wrap flex"},c={class:"copy"},u=i((()=>(0,l.Lk)("img",{src:n,alt:"memory"},null,-1))),p=i((()=>(0,l.Lk)("span",null,"赞助",-1))),g=[u,p],v={href:"https://github.com/snltty/linker",target:"_blank"},f=i((()=>(0,l.Lk)("div",{class:"flex-1"},null,-1))),m={class:"export"},h={class:"api"},y={class:"server"},k=i((()=>(0,l.Lk)("div",{class:"pay"},[(0,l.Lk)("img",{src:s,alt:""}),(0,l.Lk)("img",{src:r,alt:""})],-1)));function w(e,t,a,n,s,r){const i=(0,l.g2)("Export"),u=(0,l.g2)("Api"),p=(0,l.g2)("Server"),w=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.CE)("div",d,[(0,l.Lk)("div",c,[(0,l.Lk)("a",{href:"javascript:;",class:"memory",title:"赞助一笔,让作者饱餐一顿",onClick:t[0]||(t[0]=e=>n.state.showPay=!0)},g),(0,l.Lk)("a",v,"©linker "+(0,o.v_)(n.self.Version),1)]),f,(0,l.Lk)("div",m,[(0,l.bF)(i,{config:n.config},null,8,["config"])]),(0,l.Lk)("div",h,[(0,l.bF)(u,{config:n.config},null,8,["config"])]),(0,l.Lk)("div",y,[(0,l.bF)(p,{config:n.config},null,8,["config"])]),(0,l.bF)(w,{modelValue:n.state.showPay,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.showPay=e),title:"赞助linker",width:"300",top:"1vh"},{default:(0,l.k6)((()=>[k])),_:1},8,["modelValue"])])}var b=a(144);const S={href:"javascript:;",title:"此设备的管理接口"};function B(e,t,a,n,s,r){const i=(0,l.g2)("Tools"),d=(0,l.g2)("el-icon"),c=(0,l.g2)("el-popconfirm");return n.config?((0,l.uX)(),(0,l.CE)("div",{key:0,class:(0,o.C4)(["status-api-wrap",{connected:n.connected}])},[(0,l.bF)(c,{"confirm-button-text":"清除","cancel-button-text":"更改",title:"确定你的操作?",onCancel:n.handleShow,onConfirm:n.handleResetConnect},{reference:(0,l.k6)((()=>[(0,l.Lk)("a",S,[(0,l.bF)(d,{size:"16"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1}),(0,l.eW)(" 管理接口 ")])])),_:1},8,["onCancel","onConfirm"])],2)):(0,l.Q3)("",!0)}var F=a(3830),C=a(4),_=a(7477),V={components:{Tools:_.S0q},props:["config"],setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.api.connected)),o=()=>{localStorage.setItem("api-cache",""),window.location.reload()},n=()=>{(0,C.e3)(),(0,C.a1)(`ws${"https:"===window.location.protocol?"s":""}://${window.location.hostname}:12345`,"snltty")};return{config:e.config,connected:a,handleShow:n,handleResetConnect:o}}},x=a(1241);const T=(0,x.A)(V,[["render",B],["__scopeId","data-v-1d3d9c26"]]);var L=T;const R={class:"status-server-wrap"};function I(e,t,a,o,n,s){const r=(0,l.g2)("ServerConfig"),i=(0,l.g2)("ServerVersion"),d=(0,l.g2)("ServerFlow");return(0,l.uX)(),(0,l.CE)("div",R,[(0,l.bF)(r,{config:o.config},null,8,["config"]),(0,l.bF)(i,{config:o.config},null,8,["config"]),o.config&&o.hasFlow?((0,l.uX)(),(0,l.Wv)(d,{key:0,config:o.config},null,8,["config"])):(0,l.Q3)("",!0)])}const P=e=>((0,l.Qi)("data-v-3b6604f4"),e=e(),(0,l.jt)(),e),E=P((()=>(0,l.Lk)("span",null,"信标服务器",-1))),W={class:"dialog-footer t-c"};function D(e,t,a,n,s,r){const i=(0,l.g2)("Promotion"),d=(0,l.g2)("el-icon"),c=(0,l.g2)("el-input"),u=(0,l.g2)("el-form-item"),p=(0,l.g2)("el-option"),g=(0,l.g2)("el-select"),v=(0,l.g2)("el-form"),f=(0,l.g2)("el-button"),m=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.Lk)("a",{href:"javascript:;",class:(0,o.C4)({connected:n.state.connected}),title:"更改你的连接设置",onClick:t[0]||(t[0]=(...e)=>n.handleConfig&&n.handleConfig(...e))},[(0,l.bF)(d,{size:"16"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1}),(0,l.eW)(),E],2),(0,l.bF)(m,{modelValue:n.state.show,"onUpdate:modelValue":t[4]||(t[4]=e=>n.state.show=e),title:"连接设置",width:"300","append-to-body":""},{footer:(0,l.k6)((()=>[(0,l.Lk)("div",W,[(0,l.bF)(f,{onClick:t[3]||(t[3]=e=>n.state.show=!1),loading:n.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1},8,["loading"]),(0,l.bF)(f,{type:"primary",onClick:n.handleSave,loading:n.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("确定保存")])),_:1},8,["onClick","loading"])])])),default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(v,{model:n.state.form,rules:n.state.rules,"label-width":"6rem"},{default:(0,l.k6)((()=>[(0,l.bF)(u,{label:"机器名",prop:"name"},{default:(0,l.k6)((()=>[(0,l.bF)(c,{modelValue:n.state.form.name,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.form.name=e),maxlength:"12","show-word-limit":""},null,8,["modelValue"])])),_:1}),(0,l.bF)(u,{label:"分组名",prop:"groupid"},{default:(0,l.k6)((()=>[(0,l.bF)(g,{modelValue:n.state.groupid,"onUpdate:modelValue":t[2]||(t[2]=e=>n.state.groupid=e),onChange:n.handleGroupChange},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.form.groups,(e=>((0,l.uX)(),(0,l.Wv)(p,{key:e.Id,label:e.Name,value:e.Id},null,8,["label","value"])))),128))])),_:1},8,["modelValue","onChange"])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue"])],64)}var z=a(9299),K=a(1219),$={components:{Promotion:_.Yk4,CirclePlus:_.HxT},props:["config"],setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.hasAccess("Config"))),o=(0,b.Kh)({show:!1,loading:!1,connected:(0,l.EW)((()=>t.value.signin.Connected)),groupid:t.value.config.Client.Group.Id,form:{name:t.value.config.Client.Name,groups:t.value.config.Client.Groups},rules:{}}),n=()=>{e.config&&a.value&&(o.form.name=t.value.config.Client.Name,o.form.groups=t.value.config.Client.Groups,o.groupid=t.value.config.Client.Group.Id,o.show=!0)},s=e=>{const t=o.form.groups.map(((e,t)=>(e.$index=t,e))).filter((t=>t.Id==e))[0].$index,a=o.form.groups[t];o.form.groups[t]=o.form.groups[0],o.form.groups[0]=a},r=()=>{o.loading=!0,(0,z.rd)(o.form).then((()=>{o.loading=!1,o.show=!1,K.nk.success("已操作"),setTimeout((()=>{window.location.reload()}),1e3)})).catch((e=>{console.log(e),o.loading=!1,K.nk.error("操作失败!")}))};return{config:e.config,state:o,handleConfig:n,handleSave:r,handleGroupChange:s}}};const A=(0,x.A)($,[["render",D],["__scopeId","data-v-3b6604f4"]]);var X=A;const O={key:0,class:"flow-wrap"},U={href:"javascript:;",title:"本服务器\r\n在线数/7天内上线数"},j={href:"javascript:;",title:"所有服务器\r\n在线数/7天内上线数/服务端数"};function G(e,t,a,n,s,r){const i=(0,l.g2)("el-table-column"),d=(0,l.g2)("el-button"),c=(0,l.g2)("el-table"),u=(0,l.g2)("el-dialog"),p=(0,l.g2)("ServerFlowMessenger"),g=(0,l.g2)("ServerFlowSForward"),v=(0,l.g2)("ServerFlowRelay");return(0,l.uX)(),(0,l.CE)(l.FK,null,[n.config?((0,l.uX)(),(0,l.CE)("div",O,[(0,l.Lk)("p",null,[(0,l.eW)("在线 "),(0,l.Lk)("a",U,(0,o.v_)(n.state.overallOnline),1),(0,l.Lk)("a",j,(0,o.v_)(n.state.serverOnline),1)]),(0,l.Lk)("p",null,[(0,l.eW)("上传 "),(0,l.Lk)("a",{href:"javascript:;",title:"本服务器\r\n发送速率",onClick:t[0]||(t[0]=(...e)=>n.handleShow&&n.handleShow(...e))},(0,o.v_)(n.state.overallSendtSpeed)+"/s",1)]),(0,l.Lk)("p",null,[(0,l.eW)("下载 "),(0,l.Lk)("a",{href:"javascript:;",title:"本服务器\r\n接收速率",onClick:t[1]||(t[1]=(...e)=>n.handleShow&&n.handleShow(...e))},(0,o.v_)(n.state.overallReceiveSpeed)+"/s",1)])])):(0,l.Q3)("",!0),(0,l.bF)(u,{title:n.state.time,"destroy-on-close":"",modelValue:n.state.show,"onUpdate:modelValue":t[2]||(t[2]=e=>n.state.show=e),width:"540"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(c,{data:n.state.list,border:"",size:"small",width:"100%"},{default:(0,l.k6)((()=>[(0,l.bF)(i,{prop:"text",label:"类别",width:"80"}),(0,l.bF)(i,{prop:"sendtBytes",label:"已上传",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.sendtBytesText),1)])),_:1}),(0,l.bF)(i,{prop:"sendtSpeed",label:"上传速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.sendtSpeedText)+"/s",1)])),_:1}),(0,l.bF)(i,{prop:"receiveBytes",label:"已下载",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.receiveBytesText),1)])),_:1}),(0,l.bF)(i,{prop:"receiveSpeed",label:"下载速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.receiveSpeedText)+"/s",1)])),_:1}),(0,l.bF)(i,{prop:"oper",label:"操作",width:"64"},{default:(0,l.k6)((e=>[e.row.detail?((0,l.uX)(),(0,l.Wv)(d,{key:0,size:"small",onClick:t=>n.handleShowDetail(e.row.id)},{default:(0,l.k6)((()=>[(0,l.eW)("详情")])),_:2},1032,["onClick"])):(0,l.Q3)("",!0)])),_:1})])),_:1},8,["data"])])])),_:1},8,["title","modelValue"]),n.state.details.Messenger?((0,l.uX)(),(0,l.Wv)(p,{key:1,config:n.config,modelValue:n.state.details.Messenger,"onUpdate:modelValue":t[3]||(t[3]=e=>n.state.details.Messenger=e)},null,8,["config","modelValue"])):(0,l.Q3)("",!0),n.state.details.SForward?((0,l.uX)(),(0,l.Wv)(g,{key:2,config:n.config,modelValue:n.state.details.SForward,"onUpdate:modelValue":t[4]||(t[4]=e=>n.state.details.SForward=e)},null,8,["config","modelValue"])):(0,l.Q3)("",!0),n.state.details.Relay?((0,l.uX)(),(0,l.Wv)(v,{key:3,config:n.config,modelValue:n.state.details.Relay,"onUpdate:modelValue":t[5]||(t[5]=e=>n.state.details.Relay=e)},null,8,["config","modelValue"])):(0,l.Q3)("",!0)],64)}a(4114);const M=()=>(0,C.zG)("flowClient/GetFlows"),Q=()=>(0,C.zG)("flowClient/GetMessengerFlows"),N=e=>(0,C.zG)("flowClient/GetSForwardFlows",e),Y=e=>(0,C.zG)("flowClient/GetRelayFlows",e);function q(e,t,a,n,s,r){const i=(0,l.g2)("el-table-column"),d=(0,l.g2)("el-table"),c=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(c,{title:"信标流量",class:"options-center",top:"1vh","destroy-on-close":"",modelValue:n.state.show,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.show=e),width:"680"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(d,{data:n.state.list,stripe:"",border:"",size:"small",width:"100%",height:"60vh"},{default:(0,l.k6)((()=>[(0,l.bF)(i,{prop:"id",label:"信标id",width:"200"}),(0,l.bF)(i,{prop:"sendtBytes",label:"已上传",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.sendtBytesText),1)])),_:1}),(0,l.bF)(i,{prop:"sendtSpeed",label:"上传速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.sendtSpeedText)+"/s",1)])),_:1}),(0,l.bF)(i,{prop:"receiveBytes",label:"已下载",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.receiveBytesText),1)])),_:1}),(0,l.bF)(i,{prop:"receiveSpeed",label:"下载速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.receiveSpeedText)+"/s",1)])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue"])}var H={props:["modelValue","config"],emits:["update:modelValue"],setup(e,{emit:t}){const a=(0,b.Kh)({show:!0,timer:0,list:[],old:null});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const o={0:"登入信标",1:"客户端列表",2:"客户端删除",4:"客户端改名(转发)",7:"获取服务器版本",8:"客户端搜索ids",9:"客户端id列表",10:"客户端排序",11:"客户端在线",12:"生成客户端id",13:"登入信标V_1_3_1",2001:"外网端口(转发)",2002:"外网端口(转发)",2003:"开始打洞(转发)",2004:"开始打洞(转发)",2005:"打洞失败(转发)",2006:"打洞失败(转发)",2007:"打洞成功(转发)",2008:"打洞成功(转发)",2009:"隧道配置(转发)",2010:"隧道配置(转发)",2012:"隧道同步(转发)",2101:"中继通知(转发)",2102:"中继通知(转发)",2103:"中继请求",2105:"中继连通测试",2201:"运行网卡(转发)",2203:"停止网卡(转发)",2204:"更新网卡",2205:"更新网卡(转发)",2208:"配置网卡网络",2209:"获取网卡网络",2210:"分配IP",2211:"网卡变化",2212:"网卡变化(转发)",2213:"IP续约",2214:"网卡端口转发检测",2215:"网卡端口转发检测(转发)",2301:"添加内网穿透",2302:"移除内网穿透",2303:"通知内网穿透(转发)",2304:"通知内网穿透UDP(转发)",2305:"获取穿透列表(转发)",2401:"测试端口转发(转发)",2403:"获取端口转发(转发)",2507:"同步配置",2508:"同步配置(转发)",2601:"更新信息(转发)",2602:"更新信息(转发)",2603:"确认更新(转发)",2604:"确认更新(转发)",2605:"重启(转发)",2606:"重启",2607:"服务器更新信息",2608:"确认服务器更新",2609:"服务器重启",2610:"订阅更新信息(转发)",2611:"订阅更新信息(转发)",2612:"检查更新",2613:"检查更新(转发)",2701:"服务器流量",2702:"服务器信标流量",2703:"服务器中继流量",2704:"服务器内网穿透流量",2807:"同步配置",2808:"同步配置(转发)",2900:"运行socks5",2901:"运行socks5(转发)",2902:"停止socks5",2903:"停止socks5(转发)",2904:"更新socks5",2905:"更新socks5(转发)",3003:"获取权限",3004:"获取权限(转发)",3005:"更新权限",3006:"更新权限(转发)"},n=()=>{Q().then((e=>{const t=a.old||e,l=[];for(let a in e){const n=e[a],r=t[a],i=`[${a}]${o[`${a}`]||"未知"}`;l.push({id:i,sendtBytes:n.SendtBytes,sendtBytesText:s(n.SendtBytes),sendtSpeed:n.SendtBytes-r.SendtBytes,sendtSpeedText:s(n.SendtBytes-r.SendtBytes),receiveBytes:n.ReceiveBytes,receiveBytesText:s(n.ReceiveBytes),receiveSpeed:n.ReceiveBytes-r.ReceiveBytes,receiveSpeedText:s(n.ReceiveBytes-r.ReceiveBytes)})}a.list=l.filter((e=>!!e.id)),a.old=e,a.timer=setTimeout(n,1e3)})).catch((e=>{a.timer=setTimeout(n,1e3)}))},s=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`};return(0,l.sV)((()=>{n()})),(0,l.hi)((()=>{clearTimeout(a.timer)})),{config:e.config,state:a}}};const J=(0,x.A)(H,[["render",q],["__scopeId","data-v-2183bbe0"]]);var Z=J;const ee={class:"head"},te={class:"page t-c"},ae={class:"page-wrap"};function le(e,t,a,n,s,r){const i=(0,l.g2)("el-input"),d=(0,l.g2)("el-table-column"),c=(0,l.g2)("el-table"),u=(0,l.g2)("el-pagination"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{title:"内网穿透流量",class:"options-center",top:"1vh","destroy-on-close":"",modelValue:n.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.show=e),width:"680"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",ee,[(0,l.bF)(i,{modelValue:n.state.page.Key,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.page.Key=e),placeholder:"域名/端口搜索"},null,8,["modelValue"])]),(0,l.bF)(c,{data:n.state.list,stripe:"",border:"",size:"small",width:"100%",height:"60vh",onSortChange:n.handleSort},{default:(0,l.k6)((()=>[(0,l.bF)(d,{prop:"Key",label:"域名/端口",width:"200"}),(0,l.bF)(d,{prop:"SendtBytes",label:"已上传",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.SendtBytesText),1)])),_:1}),(0,l.bF)(d,{prop:"DiffSendtBytes",label:"上传速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.DiffSendtBytesText)+"/s",1)])),_:1}),(0,l.bF)(d,{prop:"ReceiveBytes",label:"已下载",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.ReceiveBytesText),1)])),_:1}),(0,l.bF)(d,{prop:"DiffReceiveBytes",label:"下载速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.DiffReceiveBytesText)+"/s",1)])),_:1})])),_:1},8,["data","onSortChange"]),(0,l.Lk)("div",te,[(0,l.Lk)("div",ae,[(0,l.bF)(u,{small:"",background:"",layout:"total,prev,pager, next",total:n.state.page.Count,"page-size":n.state.page.PageSize,"current-page":n.state.page.Page,onCurrentChange:n.handlePageChange},null,8,["total","page-size","current-page","onCurrentChange"])])])])])),_:1},8,["modelValue"])}var oe={props:["modelValue","config"],emits:["update:modelValue"],setup(e,{emit:t}){const a=(0,b.Kh)({show:!0,timer:0,list:[],page:{Key:"",Page:1,PageSize:15,Count:0,Order:1,OrderType:0}});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const o=()=>{N({Key:a.page.Key,Page:a.page.Page,PageSize:a.page.PageSize,Order:a.page.Order,OrderType:a.page.OrderType}).then((e=>{try{a.page.Page=e.Page,a.page.PageSize=e.PageSize,a.page.Count=e.Count;const t=[];for(let a=0;a{a.timer=setTimeout(o,1e3)}))},n=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`},s=e=>{e&&(a.page.Page=e)},r=e=>{const t={ascending:1,descending:0}[e.order],l={SendtBytes:1,DiffSendtBytes:2,ReceiveBytes:3,DiffReceiveBytes:4}[e.prop];a.page.Order=l,a.page.OrderType=t};return(0,l.sV)((()=>{o()})),(0,l.hi)((()=>{clearTimeout(a.timer)})),{config:e.config,state:a,handlePageChange:s,handleSort:r}}};const ne=(0,x.A)(oe,[["render",le],["__scopeId","data-v-3e577fa7"]]);var se=ne;const re={class:"head"},ie={class:"page t-c"},de={class:"page-wrap"};function ce(e,t,a,n,s,r){const i=(0,l.g2)("el-input"),d=(0,l.g2)("el-table-column"),c=(0,l.g2)("el-table"),u=(0,l.g2)("el-pagination"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{title:"中继流量",class:"options-center",top:"1vh","destroy-on-close":"",modelValue:n.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.show=e),width:"680"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",re,[(0,l.bF)(i,{modelValue:n.state.page.Key,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.page.Key=e),placeholder:"名字搜索"},null,8,["modelValue"])]),(0,l.bF)(c,{data:n.state.list,stripe:"",border:"",size:"small",width:"100%",height:"60vh",onSortChange:n.handleSort},{default:(0,l.k6)((()=>[(0,l.bF)(d,{prop:"FromName",label:"发起端",width:"120"}),(0,l.bF)(d,{prop:"ToName",label:"目标端",width:"120"}),(0,l.bF)(d,{prop:"SendtBytes",label:"已上传",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.SendtBytesText),1)])),_:1}),(0,l.bF)(d,{prop:"DiffSendtBytes",label:"上传速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.DiffSendtBytesText)+"/s",1)])),_:1}),(0,l.bF)(d,{prop:"ReceiveBytes",label:"已下载",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.ReceiveBytesText),1)])),_:1}),(0,l.bF)(d,{prop:"DiffReceiveBytes",label:"下载速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.DiffReceiveBytesText)+"/s",1)])),_:1})])),_:1},8,["data","onSortChange"]),(0,l.Lk)("div",ie,[(0,l.Lk)("div",de,[(0,l.bF)(u,{small:"",background:"",layout:"total,prev,pager, next",total:n.state.page.Count,"page-size":n.state.page.PageSize,"current-page":n.state.page.Page,onCurrentChange:n.handlePageChange},null,8,["total","page-size","current-page","onCurrentChange"])])])])])),_:1},8,["modelValue"])}var ue={props:["modelValue","config"],emits:["update:modelValue"],setup(e,{emit:t}){const a=(0,b.Kh)({show:!0,timer:0,list:[],page:{Key:"",Page:1,PageSize:15,Count:0,Order:1,OrderType:0}});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const o=()=>{Y({Key:a.page.Key,Page:a.page.Page,PageSize:a.page.PageSize,Order:a.page.Order,OrderType:a.page.OrderType}).then((e=>{try{a.page.Page=e.Page,a.page.PageSize=e.PageSize,a.page.Count=e.Count;const t=[];for(let a=0;a{a.timer=setTimeout(o,1e3)}))},n=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`},s=e=>{e&&(a.page.Page=e)},r=e=>{const t={ascending:1,descending:0}[e.order],l={SendtBytes:1,DiffSendtBytes:2,ReceiveBytes:3,DiffReceiveBytes:4}[e.prop];a.page.Order=l,a.page.OrderType=t};return(0,l.sV)((()=>{o()})),(0,l.hi)((()=>{clearTimeout(a.timer)})),{config:e.config,state:a,handlePageChange:s,handleSort:r}}};const pe=(0,x.A)(ue,[["render",ce],["__scopeId","data-v-7dbf3a4a"]]);var ge=pe,ve={props:["config"],components:{ServerFlowMessenger:Z,ServerFlowSForward:se,ServerFlowRelay:ge},setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.hasAccess("SForwardFlow"))),o=(0,l.EW)((()=>t.value.hasAccess("RelayFlow"))),n=(0,l.EW)((()=>t.value.hasAccess("SigninFlow"))),s=(0,b.Kh)({show:!1,timer:0,overallSendtSpeed:"0000.00KB",overallReceiveSpeed:"0000.00KB",overallOnline:"0/0",serverOnline:"",time:"",list:[],old:null,details:{Messenger:!1,SForward:!1,Relay:!1}}),r=()=>{s.show=!0},i=e=>{s.details[e]=!0},d={External:{text:"外网端口",detail:!1},RelayReport:{text:"中继节点",detail:!1},Relay:{text:"中继",detail:o.value},Messenger:{text:"信标",detail:n.value},SForward:{text:"内网穿透",detail:a.value},flow:{text:"在线报告",detail:!1}},c=()=>{M().then((e=>{const t=s.old||e;if(e.Items["_"]&&(s.overallOnline=`${e.Items["_"].SendtBytes}/${e.Items["_"].ReceiveBytes}`,delete e.Items["_"]),e.Items["flow"]&&e.Items["flow"].ReceiveBytes>0){const t=(BigInt(e.Items["flow"].ReceiveBytes)>>BigInt(32)).toString(),a=(BigInt(e.Items["flow"].ReceiveBytes)&BigInt(4294967295)).toString(),l=e.Items["flow"].SendtBytes;s.serverOnline=`、${t}/${a}/${l}`,delete e.Items["flow"]}let a=0,l=0,o=0,n=0;for(let s in t.Items)a+=t.Items[s].ReceiveBytes,l+=t.Items[s].SendtBytes;for(let s in e.Items)o+=e.Items[s].ReceiveBytes,n+=e.Items[s].SendtBytes;s.overallSendtSpeed=u(n-l),s.overallReceiveSpeed=u(o-a),s.time=`从 ${e.Start}启动 至今`;const r=[];for(let s in e.Items){const a=e.Items[s],l=t.Items[s],o=d[`${s}`]||{text:`未知${s}`,detail:!1};r.push({id:s,text:o.text,detail:o.detail,sendtBytes:a.SendtBytes,sendtBytesText:u(a.SendtBytes),sendtSpeed:a.SendtBytes-l.SendtBytes,sendtSpeedText:u(a.SendtBytes-l.SendtBytes),receiveBytes:a.ReceiveBytes,receiveBytesText:u(a.ReceiveBytes),receiveSpeed:a.ReceiveBytes-l.ReceiveBytes,receiveSpeedText:u(a.ReceiveBytes-l.ReceiveBytes)})}s.list=r.filter((e=>!!e.id)),s.old=e,s.timer=setTimeout(c,1e3)})).catch((e=>{s.timer=setTimeout(c,1e3)}))},u=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`};return(0,l.sV)((()=>{c()})),(0,l.hi)((()=>{clearTimeout(s.timer)})),{hasSForwardFlow:a,config:e.config,state:s,handleShow:r,handleShowDetail:i}}};const fe=(0,x.A)(ve,[["render",G],["__scopeId","data-v-630048e8"]]);var me=fe;const he=["title"],ye={key:0,class:"progress"},ke={key:1,class:"progress"};function we(e,t,a,n,s,r){const i=(0,l.g2)("Loading"),d=(0,l.g2)("el-icon"),c=(0,l.g2)("Download"),u=(0,l.g2)("CircleCheck");return(0,l.uX)(),(0,l.CE)("a",{href:"javascript:;",title:"服务端的程序版本",onClick:t[0]||(t[0]=(...e)=>n.handleUpdate&&n.handleUpdate(...e)),class:(0,o.C4)(["download",n.updateColor()])},[(0,l.Lk)("span",null,(0,o.v_)(n.state.version),1),n.updaterCurrent.Version?((0,l.uX)(),(0,l.CE)(l.FK,{key:0},[1==n.updaterCurrent.Status?((0,l.uX)(),(0,l.Wv)(d,{key:0,size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1})):2==n.updaterServer.Status?((0,l.uX)(),(0,l.Wv)(d,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1})):3==n.updaterServer.Status||5==n.updaterServer.Status?((0,l.uX)(),(0,l.CE)(l.FK,{key:2},[(0,l.bF)(d,{size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1}),0==n.updaterServer.Length?((0,l.uX)(),(0,l.CE)("span",ye,"0%")):((0,l.uX)(),(0,l.CE)("span",ke,(0,o.v_)(parseInt(n.updaterServer.Current/n.updaterServer.Length*100))+"%",1))],64)):6==n.updaterServer.Status?((0,l.uX)(),(0,l.Wv)(d,{key:3,size:"14",class:"yellow"},{default:(0,l.k6)((()=>[(0,l.bF)(u)])),_:1})):(0,l.Q3)("",!0)],64)):((0,l.uX)(),(0,l.Wv)(d,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1}))],10,he)}var be=a(2933),Se=a(920),Be={components:{Promotion:_.Yk4,Download:_.f5X,Loading:_.Rhj,CircleCheck:_.rW7,ServerFlow:me},props:["config"],setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.hasAccess("UpdateServer"))),o=(0,b.KR)({Version:"",Msg:[],DateTime:"",Status:0,Length:0,Current:0}),n=(0,b.KR)({Version:"",Status:0,Length:0,Current:0}),s=(0,l.EW)((()=>`${o.value.Version}->${o.value.DateTime}\n${o.value.Msg.map(((e,t)=>`${t+1}、${e}`)).join("\n")}`)),r=(0,b.Kh)({show:!1,loading:!1,connected:(0,l.EW)((()=>t.value.signin.Connected)),version:(0,l.EW)((()=>t.value.signin.Version))}),i=()=>{(0,Se.Vk)().then((e=>{o.value.DateTime=e.DateTime,o.value.Version=e.Version,o.value.Status=e.Status,o.value.Length=e.Length,o.value.Current=e.Current,o.value.Msg=e.Msg,setTimeout((()=>{i()}),1e3)})).catch((()=>{setTimeout((()=>{i()}),1e3)}))},d=()=>{(0,Se.BJ)().then((e=>{n.value.Version=e.Version,n.value.Status=e.Status,n.value.Length=e.Length,n.value.Current=e.Current,n.value.Status>2&&n.value.Status<6&&setTimeout((()=>{d()}),1e3)})).catch((()=>{setTimeout((()=>{d()}),1e3)}))},c=()=>o.value.Version?n.value.Status<=2?r.version!=o.value.Version?`不是最新版本(${o.value.Version}),建议更新\n${s.value}`:`是最新版本,但我无法阻止你喜欢更新\n${s.value}`:{3:"正在下载",4:"已下载",5:"正在解压",6:"已解压,请重启"}[n.value.Status]:"未检测到更新",u=()=>r.version!=o.value.Version?"yellow":"green",p=()=>{e.config&&a.value&&(o.value.Version?[0,1,3,5].indexOf(n.value.Status)>=0?K.nk.error("操作中,请稍后!"):6!=n.value.Status?2==o.value.Status&&be.s.confirm("确定更新服务端吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,Se.y2)(o.value.Version).then((()=>{setTimeout((()=>{d()}),1e3)}))})).catch((()=>{})):be.s.confirm("确定关闭服务端吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,Se.aP)()})).catch((()=>{})):K.nk.error("未检测到更新"))};return(0,l.sV)((()=>{i(),d()})),{config:e.config,state:r,updaterCurrent:o,updaterServer:n,handleUpdate:p,updateText:c,updateColor:u}}};const Fe=(0,x.A)(Be,[["render",we],["__scopeId","data-v-70063cba"]]);var Ce=Fe,_e={components:{ServerConfig:X,ServerFlow:me,ServerVersion:Ce},props:["config"],setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.hasAccess("Flow"))),o=(0,b.Kh)({show:!1,loading:!1});return{config:e.config,hasFlow:a,state:o}}};const Ve=(0,x.A)(_e,[["render",I],["__scopeId","data-v-2d85a782"]]);var xe=Ve;const Te=e=>((0,l.Qi)("data-v-0ef57e46"),e=e(),(0,l.jt)(),e),Le={key:0,class:"status-export-wrap"},Re={class:"port-wrap"},Ie=Te((()=>(0,l.Lk)("div",{class:"text"}," 导出配置,作为子设备运行,如果使用docker,容器映射configs文件夹即可 ",-1))),Pe={class:"body"},Ee={class:"card-header"},We={class:"flex"},De={title:"这将生成唯一ID,多台设备使用产生冲突,挤压下线"},ze={style:{"margin-left":"2rem"}},Ke=Te((()=>(0,l.Lk)("span",null,"设备名 : ",-1))),$e=Te((()=>(0,l.Lk)("span",null,"管理密码 : ",-1)));function Ae(e,t,a,o,n,s){const r=(0,l.g2)("Share"),i=(0,l.g2)("el-icon"),d=(0,l.g2)("el-checkbox"),c=(0,l.g2)("el-input"),u=(0,l.g2)("Access"),p=(0,l.g2)("el-card"),g=(0,l.g2)("el-button"),v=(0,l.g2)("el-dialog");return o.config&&o.hasExport?((0,l.uX)(),(0,l.CE)("div",Le,[(0,l.Lk)("a",{href:"javascript:;",title:"此设备的管理接口",onClick:t[0]||(t[0]=e=>o.state.show=!0)},[(0,l.bF)(i,{size:"16"},{default:(0,l.k6)((()=>[(0,l.bF)(r)])),_:1}),(0,l.eW)(" 导出配置 ")]),(0,l.bF)(v,{class:"options-center",title:"导出配置","destroy-on-close":"",modelValue:o.state.show,"onUpdate:modelValue":t[5]||(t[5]=e=>o.state.show=e),center:"",width:"580",top:"1vh"},{footer:(0,l.k6)((()=>[(0,l.bF)(g,{plain:"",onClick:t[4]||(t[4]=e=>o.state.show=!1),loading:o.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1},8,["loading"]),(0,l.bF)(g,{type:"success",plain:"",onClick:o.handleExport,loading:o.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("确定导出")])),_:1},8,["onClick","loading"])])),default:(0,l.k6)((()=>[(0,l.Lk)("div",Re,[Ie,(0,l.Lk)("div",Pe,[(0,l.bF)(p,{shadow:"never"},{header:(0,l.k6)((()=>[(0,l.Lk)("div",Ee,[(0,l.Lk)("div",We,[(0,l.Lk)("div",De,[(0,l.bF)(d,{disabled:o.onlyNode,modelValue:o.state.single,"onUpdate:modelValue":t[1]||(t[1]=e=>o.state.single=e),label:"单设备"},null,8,["disabled","modelValue"])]),(0,l.Lk)("div",ze,[Ke,(0,l.bF)(c,{disabled:!o.state.single,modelValue:o.state.name,"onUpdate:modelValue":t[2]||(t[2]=e=>o.state.name=e),maxlength:"12","show-word-limit":"",style:{width:"15rem"}},null,8,["disabled","modelValue"])]),(0,l.Lk)("div",null,[$e,(0,l.bF)(c,{type:"password","show-password":"",disabled:o.onlyNode,modelValue:o.state.apipassword,"onUpdate:modelValue":t[3]||(t[3]=e=>o.state.apipassword=e),maxlength:"36","show-word-limit":"",style:{width:"15rem"}},null,8,["disabled","modelValue"])])])])])),default:(0,l.k6)((()=>[(0,l.bF)(u,{ref:"accessDom",machineid:o.machineId},null,8,["machineid"])])),_:1})])])])),_:1},8,["modelValue"])])):(0,l.Q3)("",!0)}var Xe=a(8835),Oe=a(9593),Ue={components:{Share:_.SYj,Access:Oe.A},props:["config"],setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.hasAccess("Export"))),o=(0,l.EW)((()=>t.value.config.Client.OnlyNode)),n=(0,l.EW)((()=>t.value.config.Client.Id)),s=(0,b.Kh)({show:!1,loading:!1,single:!0,name:"",apipassword:t.value.config.Client.CApi.ApiPassword}),r=(0,b.KR)(null),i=()=>{if(!a.value)return;const e={access:r.value.getValue(),single:s.single,name:s.name,apipassword:s.apipassword};if(e.single){if(!e.name)return void K.nk.error("请输入设备名")}else e.name="";if(!e.single||s.name)return e;K.nk.error("请输入管理密码")},d=()=>{const e=document.createElement("a");s.single?e.download=`client-node-export-${s.name}.zip`:e.download="client-node-export.zip",e.href="/client-node-export.zip",document.body.appendChild(e),e.click(),document.body.removeChild(e)},c=()=>{const e=i();e&&(s.loading=!0,(0,Xe.P$)(e).then((()=>{s.loading=!1,s.show=!1,K.nk.success("导出成功"),d()})).catch((()=>{s.loading=!1})))};return{config:e.config,onlyNode:o,hasExport:a,machineId:n,state:s,accessDom:r,handleExport:c}}};const je=(0,x.A)(Ue,[["render",Ae],["__scopeId","data-v-0ef57e46"]]);var Ge=je,Me=a(167),Qe={components:{Api:L,Server:xe,Export:Ge,UpdaterBtn:Me.A},props:["config"],setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.self)),o=(0,b.Kh)({showPay:!1});return{state:o,config:e.config,self:a}}};const Ne=(0,x.A)(Qe,[["render",w],["__scopeId","data-v-2a629595"]]);var Ye=Ne}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/734.bccc9e7e.js b/linker.tray.win/web/js/734.bccc9e7e.js deleted file mode 100644 index 4e2d51bb..00000000 --- a/linker.tray.win/web/js/734.bccc9e7e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[734],{8933:function(e,r,l){l.r(r),l.d(r,{default:function(){return Fe}});var a=l(6768);const t={class:"app-wrap flex flex-column flex-nowrap"},o={class:"head"},s={class:"body flex-1 relative",ref:"wrap"},u={class:"home absolute"},n={class:"status"};function d(e,r,l,d,m,i){const f=(0,a.g2)("Head"),c=(0,a.g2)("router-view"),b=(0,a.g2)("Status"),p=(0,a.g2)("Install");return(0,a.uX)(),(0,a.CE)("div",t,[(0,a.Lk)("div",o,[(0,a.bF)(f)]),(0,a.Lk)("div",s,[(0,a.Lk)("div",u,[(0,a.bF)(c)])],512),(0,a.Lk)("div",n,[(0,a.bF)(b,{config:!0}),(0,a.bF)(p)])])}l(4114);var m=l.p+"img/logo.892cb2fb.png",i=l.p+"img/shouye.4c820c0e.svg",f=l.p+"img/fuwuqi.247f2561.svg",c=l.p+"img/dadong.e6fd78bf.svg",b=l.p+"img/anquan.5f8d5e47.svg",p=l.p+"img/rizhi.c3ca751b.svg";const v=e=>((0,a.Qi)("data-v-288c64ff"),e=e(),(0,a.jt)(),e),g={class:"head flex"},k={class:"logo"},F=v((()=>(0,a.Lk)("img",{src:m,alt:""},null,-1))),w={class:"menu flex-1"},y={class:"flex"},h=v((()=>(0,a.Lk)("img",{src:i},null,-1))),S={key:0},_=v((()=>(0,a.Lk)("img",{src:f},null,-1))),K={key:1},V=v((()=>(0,a.Lk)("img",{src:c},null,-1))),P={key:2},C=v((()=>(0,a.Lk)("img",{src:b},null,-1))),x={key:3},L=v((()=>(0,a.Lk)("img",{src:p},null,-1))),W={class:"image"};function U(e,r,l,t,o,s){const u=(0,a.g2)("router-link"),n=(0,a.g2)("Background");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.Lk)("div",g,[(0,a.Lk)("div",k,[(0,a.bF)(u,{to:{name:"FullIndex"}},{default:(0,a.k6)((()=>[F])),_:1})]),(0,a.Lk)("div",w,[(0,a.Lk)("ul",y,[(0,a.Lk)("li",null,[(0,a.bF)(u,{to:{name:"FullIndex"}},{default:(0,a.k6)((()=>[h,(0,a.eW)(" 首页")])),_:1})]),t.hasConfig?((0,a.uX)(),(0,a.CE)("li",S,[(0,a.bF)(u,{to:{name:"FullServers"}},{default:(0,a.k6)((()=>[_,(0,a.eW)(" 服务器")])),_:1})])):(0,a.Q3)("",!0),t.hasTransport?((0,a.uX)(),(0,a.CE)("li",K,[(0,a.bF)(u,{to:{name:"FullTransport"}},{default:(0,a.k6)((()=>[V,(0,a.eW)(" 打洞协议")])),_:1})])):(0,a.Q3)("",!0),t.hasAction?((0,a.uX)(),(0,a.CE)("li",P,[(0,a.bF)(u,{to:{name:"FullAction"}},{default:(0,a.k6)((()=>[C,(0,a.eW)(" 自定义验证")])),_:1})])):(0,a.Q3)("",!0),t.hasLogger?((0,a.uX)(),(0,a.CE)("li",x,[(0,a.bF)(u,{to:{name:"FullLogger"}},{default:(0,a.k6)((()=>[L,(0,a.eW)(" 日志")])),_:1})])):(0,a.Q3)("",!0)])]),(0,a.Lk)("div",W,[(0,a.bF)(n,{name:"full"})])])])}var A=l(7477),X=l(3830),j=l(5096),Q={components:{Promotion:A.Yk4,StarFilled:A.BQ2,WarnTriangleFilled:A.DtC,PhoneFilled:A.pXb,HelpFilled:A.adD,Background:j.A},setup(){const e=(0,X.B)(),r=(0,a.EW)((()=>e.value.hasAccess("Config"))),l=(0,a.EW)((()=>e.value.hasAccess("LoggerShow"))),t=(0,a.EW)((()=>e.value.hasAccess("Transport"))),o=(0,a.EW)((()=>e.value.hasAccess("Action")));return{hasConfig:r,hasLogger:l,hasTransport:t,hasAction:o}}},E=l(1241);const N=(0,E.A)(Q,[["render",U],["__scopeId","data-v-288c64ff"]]);var I=N,q=l(3269);const R=e=>((0,a.Qi)("data-v-41d4c7eb"),e=e(),(0,a.jt)(),e),D={class:"head"},B={class:"body"},O=R((()=>(0,a.Lk)("div",{class:"t-c"},"完成保存后,请重启软件",-1))),T={class:"footer t-c"};function J(e,r,l,t,o,s){const u=(0,a.g2)("el-step"),n=(0,a.g2)("el-steps"),d=(0,a.g2)("Common"),m=(0,a.g2)("el-card"),i=(0,a.g2)("Server"),f=(0,a.g2)("Client"),c=(0,a.g2)("el-button"),b=(0,a.g2)("el-dialog");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.bF)(b,{modelValue:t.state.show,"onUpdate:modelValue":r[0]||(r[0]=e=>t.state.show=e),title:"初始化配置",width:"600",top:"2vh"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.Lk)("div",D,[(0,a.bF)(n,{active:t.step.step,"finish-status":"success"},{default:(0,a.k6)((()=>[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(t.state.steps,((e,r)=>((0,a.uX)(),(0,a.Wv)(u,{title:e},null,8,["title"])))),256))])),_:1},8,["active"])]),(0,a.Lk)("div",B,[1==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:0,shadow:"never"},{default:(0,a.k6)((()=>[(0,a.bF)(d,{ref:"currentDom"},null,512)])),_:1})):(0,a.Q3)("",!0),2==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:1,shadow:"never"},{default:(0,a.k6)((()=>[(0,a.bF)(i,{ref:"currentDom"},null,512)])),_:1})):(0,a.Q3)("",!0),3==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:2,shadow:"never"},{default:(0,a.k6)((()=>[(0,a.bF)(f,{ref:"currentDom"},null,512)])),_:1})):(0,a.Q3)("",!0),4==t.step.step?((0,a.uX)(),(0,a.Wv)(m,{key:3,shadow:"never"},{default:(0,a.k6)((()=>[O])),_:1})):(0,a.Q3)("",!0)]),(0,a.Lk)("div",T,[(0,a.bF)(c,{disabled:t.step.step<=1,onClick:t.handlePrev},{default:(0,a.k6)((()=>[(0,a.eW)("上一步")])),_:1},8,["disabled","onClick"]),t.step.step[(0,a.eW)("下一步")])),_:1},8,["onClick"])):((0,a.uX)(),(0,a.Wv)(c,{key:1,type:"primary",onClick:t.handleSave},{default:(0,a.k6)((()=>[(0,a.eW)("完成")])),_:1},8,["onClick"]))])])])),_:1},8,["modelValue"])])}var H=l(8835),z=l(144),G=l(1219);const Y={class:"t-c"};function M(e,r,l,t,o,s){const u=(0,a.g2)("el-checkbox");return(0,a.uX)(),(0,a.CE)("div",Y,[(0,a.bF)(u,{modelValue:t.state.form.client,"onUpdate:modelValue":r[0]||(r[0]=e=>t.state.form.client=e),label:"作为客户端"},null,8,["modelValue"]),(0,a.bF)(u,{modelValue:t.state.form.server,"onUpdate:modelValue":r[1]||(r[1]=e=>t.state.form.server=e),label:"作为服务端"},null,8,["modelValue"])])}var Z={name:"Common",setup(){const e=(0,a.WQ)("step"),r=(0,z.Kh)({form:{client:e.value.form.common.client||e.value.json.Common&&e.value.json.Common.client||!0,server:e.value.form.common.server||e.value.json.Common&&e.value.json.Common.server||!1}}),l=e=>new Promise(((e,l)=>{r.form.client||r.form.server?e({json:{Common:{client:r.form.client,server:r.form.server,modes:[r.form.client?"client":"",r.form.server?"server":""].filter((e=>!!e))}},form:{common:JSON.parse(JSON.stringify(r.form))}}):(G.nk.error("请选择客户端或服务端"),l())}));return{state:r,handleValidate:l}}};const $=(0,E.A)(Z,[["render",M]]);var ee=$;const re=e=>((0,a.Qi)("data-v-19accc48"),e=e(),(0,a.jt)(),e),le=re((()=>(0,a.Lk)("div",{class:"t-c w-100"},[(0,a.Lk)("p",null,"端口为0则不监听,相同分组名之间的客户端相互可见")],-1)));function ae(e,r,l,t,o,s){const u=(0,a.g2)("el-form-item"),n=(0,a.g2)("el-input"),d=(0,a.g2)("el-col"),m=(0,a.g2)("el-row"),i=(0,a.g2)("el-checkbox"),f=(0,a.g2)("el-form");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.bF)(f,{ref:"formDom",model:t.state.form,rules:t.state.rules,"label-width":"8rem"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[le])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"机器名",prop:"name"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.name,"onUpdate:modelValue":r[0]||(r[0]=e=>t.state.form.name=e),maxlength:"12","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"网页端口",prop:"web"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{style:{width:"44.5rem"},modelValue:t.state.form.web,"onUpdate:modelValue":r[1]||(r[1]=e=>t.state.form.web=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"接口端口",prop:"api"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.api,"onUpdate:modelValue":r[2]||(r[2]=e=>t.state.form.api=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"接口密码",prop:"password"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{type:"password",modelValue:t.state.form.password,"onUpdate:modelValue":r[3]||(r[3]=e=>t.state.form.password=e),"show-password":"",maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"分组名",prop:"groupid"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.groupid,"onUpdate:modelValue":r[4]||(r[4]=e=>t.state.form.groupid=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"分组密码",prop:"groupPassword"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.groupPassword,"onUpdate:modelValue":r[5]||(r[5]=e=>t.state.form.groupPassword=e),type:"password","show-password":"",maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:24},{default:(0,a.k6)((()=>[(0,a.bF)(u,{"label-width":"8rem",prop:"hasServer"},{default:(0,a.k6)((()=>[(0,a.bF)(i,{modelValue:t.state.form.hasServer,"onUpdate:modelValue":r[6]||(r[6]=e=>t.state.form.hasServer=e),label:"我有服务器(私有部署服务端,使用自己的服务器)",size:"large"},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),t.state.form.hasServer?((0,a.uX)(),(0,a.Wv)(u,{key:0,label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"信标服务",prop:"server"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.server,"onUpdate:modelValue":r[7]||(r[7]=e=>t.state.form.server=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"信标密钥",prop:"serverSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.serverSecretKey,"onUpdate:modelValue":r[8]||(r[8]=e=>t.state.form.serverSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})):(0,a.Q3)("",!0),t.state.form.hasServer?((0,a.uX)(),(0,a.Wv)(u,{key:1,label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"穿透密钥",prop:"sForwardSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.sForwardSecretKey,"onUpdate:modelValue":r[9]||(r[9]=e=>t.state.form.sForwardSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"中继密钥",prop:"relaySecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.relaySecretKey,"onUpdate:modelValue":r[10]||(r[10]=e=>t.state.form.relaySecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})):(0,a.Q3)("",!0),t.state.form.hasServer?((0,a.uX)(),(0,a.Wv)(u,{key:2,label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"更新密钥",prop:"updaterSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.updaterSecretKey,"onUpdate:modelValue":r[11]||(r[11]=e=>t.state.form.updaterSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"占位"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{disabled:"",maxlength:"36","show-word-limit":""})])),_:1})])),_:1})])),_:1})])),_:1})):(0,a.Q3)("",!0)])),_:1},8,["model","rules"])])}var te={setup(e){const r=(0,a.WQ)("step"),l=(0,X.B)(),t=(0,z.Kh)({form:{name:r.value.form.client.name||l.value.config.Client.Name,groupid:r.value.form.client.groupid||l.value.config.Client.Group.Id,groupPassword:r.value.form.client.groupPassword||l.value.config.Client.Group.Password,api:r.value.form.client.api||l.value.config.Client.CApi.ApiPort,web:r.value.form.client.web||l.value.config.Client.CApi.WebPort,password:r.value.form.client.password||l.value.config.Client.CApi.ApiPassword,hasServer:r.value.form.client.hasServer||!1,server:r.value.form.client.server||l.value.config.Client.Server.Host,serverSecretKey:r.value.form.client.serverSecretKey||l.value.config.Client.ServerSecretKey,sForwardSecretKey:r.value.form.client.sForwardSecretKey||l.value.config.Client.SForward.SecretKey,relaySecretKey:r.value.form.client.relaySecretKey||(l.value.config.Client.Relay.Servers[0]||{SecretKey:"snltty"}).SecretKey,updaterSecretKey:r.value.form.client.updaterSecretKey||l.value.config.Client.Updater.SecretKey},rules:{name:[{required:!0,message:"必填",trigger:"blur"}],groupid:[{required:!0,message:"必填",trigger:"blur"}],groupPassword:[{required:!0,message:"必填",trigger:"blur"}],password:[{required:!0,message:"必填",trigger:"blur"}],api:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],web:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}]}}),o=(0,z.KR)(null),s=()=>new Promise(((e,r)=>{o.value.validate((l=>{l?e({json:{Client:{name:t.form.name,groupid:t.form.groupid,groupPassword:t.form.groupPassword,api:+t.form.api,web:+t.form.web,password:t.form.password,hasServer:t.form.hasServer,server:t.form.server,serverSecretKey:t.form.serverSecretKey,sForwardSecretKey:t.form.sForwardSecretKey,relaySecretKey:t.form.relaySecretKey,updaterSecretKey:t.form.updaterSecretKey}},form:{client:JSON.parse(JSON.stringify(t.form))}}):r()}))}));return(0,a.sV)((()=>{0==r.value.json.Common.client&&(r.value.step+=r.value.increment)})),{state:t,handleValidate:s,formDom:o}}};const oe=(0,E.A)(te,[["render",ae],["__scopeId","data-v-19accc48"]]);var se=oe;const ue=e=>((0,a.Qi)("data-v-5cebfa33"),e=e(),(0,a.jt)(),e),ne=ue((()=>(0,a.Lk)("div",{class:"t-c w-100"},"端口为0则不监听",-1)));function de(e,r,l,t,o,s){const u=(0,a.g2)("el-form-item"),n=(0,a.g2)("el-input"),d=(0,a.g2)("el-col"),m=(0,a.g2)("el-row"),i=(0,a.g2)("el-form");return(0,a.uX)(),(0,a.CE)("div",null,[(0,a.bF)(i,{ref:"formDom",model:t.state.form,rules:t.state.rules,"label-width":"10rem"},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[ne])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"服务端口",prop:"servicePort"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.servicePort,"onUpdate:modelValue":r[0]||(r[0]=e=>t.state.form.servicePort=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"web穿透端口",prop:"webPort"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.webPort,"onUpdate:modelValue":r[1]||(r[1]=e=>t.state.form.webPort=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"开放最小端口",prop:"tunnelPort1"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.tunnelPort1,"onUpdate:modelValue":r[2]||(r[2]=e=>t.state.form.tunnelPort1=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"开放最大端口",prop:"tunnelPort2"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.tunnelPort2,"onUpdate:modelValue":r[3]||(r[3]=e=>t.state.form.tunnelPort2=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"穿透密钥",prop:"sForwardSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.sForwardSecretKey,"onUpdate:modelValue":r[4]||(r[4]=e=>t.state.form.sForwardSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"中继密钥",prop:"relaySecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.relaySecretKey,"onUpdate:modelValue":r[5]||(r[5]=e=>t.state.form.relaySecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,a.bF)(u,{label:"","label-width":"0"},{default:(0,a.k6)((()=>[(0,a.bF)(m,null,{default:(0,a.k6)((()=>[(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"信标密钥",prop:"signinSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.signinSecretKey,"onUpdate:modelValue":r[6]||(r[6]=e=>t.state.form.signinSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1}),(0,a.bF)(d,{span:12},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"更新密钥",prop:"updaterSecretKey"},{default:(0,a.k6)((()=>[(0,a.bF)(n,{modelValue:t.state.form.updaterSecretKey,"onUpdate:modelValue":r[7]||(r[7]=e=>t.state.form.updaterSecretKey=e),maxlength:"36","show-word-limit":""},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})])),_:1},8,["model","rules"])])}var me={setup(e){const r=(0,a.WQ)("step"),l=(0,X.B)(),t=(0,z.Kh)({show:!1,form:{signinSecretKey:r.value.form.server.signinSecretKey||l.value.config.Server.SignIn.SecretKey,relaySecretKey:r.value.form.server.relaySecretKey||l.value.config.Server.Relay.SecretKey,sForwardSecretKey:r.value.form.server.sForwardSecretKey||l.value.config.Server.SForward.SecretKey,servicePort:r.value.form.server.servicePort||l.value.config.Server.ServicePort,webPort:r.value.form.server.webPort||l.value.config.Server.SForward.WebPort,tunnelPort1:r.value.form.server.tunnelPort1||l.value.config.Server.SForward.TunnelPortRange[0],tunnelPort2:r.value.form.server.tunnelPort2||l.value.config.Server.SForward.TunnelPortRange[1],updaterSecretKey:r.value.form.server.updaterSecretKey||l.value.config.Server.Updater.SecretKey},rules:{relaySecretKey:[{required:!0,message:"必填",trigger:"blur"}],sForwardSecretKey:[{required:!0,message:"必填",trigger:"blur"}],servicePort:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],webPort:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],tunnelPort1:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}],tunnelPort2:[{required:!0,message:"必填",trigger:"blur"},{type:"number",min:0,max:65535,message:"数字 0-65535",trigger:"blur",transform(e){return Number(e)}}]}}),o=(0,z.KR)(null),s=()=>new Promise(((e,r)=>{o.value.validate((l=>{0==l?r():e({json:{Server:{ServicePort:+t.form.servicePort,Relay:{SecretKey:t.form.relaySecretKey},SForward:{SecretKey:t.form.sForwardSecretKey,WebPort:+t.form.webPort,TunnelPortRange:[+t.form.tunnelPort1,+t.form.tunnelPort2]},Updater:{SecretKey:t.form.updaterSecretKey},SignIn:{SecretKey:t.form.signinSecretKey}}},form:{server:JSON.parse(JSON.stringify(t.form))}})}))}));return(0,a.sV)((()=>{0==r.value.json.Common.server&&(r.value.step+=r.value.increment)})),{state:t,handleValidate:s,formDom:o}}};const ie=(0,E.A)(me,[["render",de],["__scopeId","data-v-5cebfa33"]]);var fe=ie,ce={components:{Common:ee,Client:se,Server:fe},setup(e){const r=(0,X.B)(),l=(0,z.Kh)({show:0==r.value.config.Common.Install,steps:["选择模式","服务端","客户端","完成"]}),t=(0,z.KR)(null),o=(0,z.KR)({step:1,increment:1,json:{},form:{server:{},client:{},common:{}}});(0,a.Gt)("step",o);const s=()=>{o.value.step--,o.value.increment=-1},u=()=>{o.value.increment=1,t.value.handleValidate().then((e=>{o.value.json=Object.assign(o.value.json,e.json),o.value.form=Object.assign(o.value.form,e.form),o.value.step++})).catch((()=>{}))},n=()=>{(0,H.ai)(o.value.json).then((()=>{G.nk.success("保存成功")})).catch((()=>{G.nk.error("保存失败")}))};return{state:l,currentDom:t,step:o,handlePrev:s,handleNext:u,handleSave:n}}};const be=(0,E.A)(ce,[["render",J],["__scopeId","data-v-41d4c7eb"]]);var pe=be,ve=l(1387),ge={name:"Index",components:{Head:I,Status:q.A,Install:pe},setup(e){const r=(0,X.B)(),l=(0,ve.rd)(),t=(0,z.KR)(null),o=()=>{(0,a.dY)((()=>{r.value.height=t.value.offsetHeight}))};return(0,a.sV)((()=>{0==r.value.hasAccess("FullManager")&&l.push({name:"NoPermission"}),window.addEventListener("resize",o),o()})),(0,a.hi)((()=>{window.removeEventListener("resize",o)})),{wrap:t}}};const ke=(0,E.A)(ge,[["render",d],["__scopeId","data-v-5ea3415a"]]);var Fe=ke}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/966.bd0145e0.js b/linker.tray.win/web/js/836.449ec0b0.js similarity index 97% rename from linker.tray.win/web/js/966.bd0145e0.js rename to linker.tray.win/web/js/836.449ec0b0.js index 1d03d9fe..5f86f0d4 100644 --- a/linker.tray.win/web/js/966.bd0145e0.js +++ b/linker.tray.win/web/js/836.449ec0b0.js @@ -1 +1 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[966],{673:function(e,a,t){t.r(a),t.d(a,{default:function(){return M}});var n=t(6768);const l={class:"net-wrap app-wrap"},s={class:"inner absolute flex flex-column flex-nowrap"},r={class:"head"},i={class:"body flex-1 relative"},u={class:"status"};function c(e,a,t,c,d,o){const g=(0,n.g2)("Head"),p=(0,n.g2)("List"),v=(0,n.g2)("Status");return(0,n.uX)(),(0,n.CE)("div",l,[(0,n.Lk)("div",s,[(0,n.Lk)("div",r,[(0,n.bF)(g)]),(0,n.Lk)("div",i,[(0,n.bF)(p)]),(0,n.Lk)("div",u,[(0,n.bF)(v,{config:!1})])])])}t(4114);const d=e=>((0,n.Qi)("data-v-3bb95ac8"),e=e(),(0,n.jt)(),e),o={class:"head-wrap"},g={class:"tools flex"},p=d((()=>(0,n.Lk)("span",{class:"label"},"服务器 ",-1))),v=d((()=>(0,n.Lk)("span",{class:"flex-1"},null,-1))),h={style:{"margin-left":"1rem"}};function f(e,a,t,l,s,r){const i=(0,n.g2)("el-option"),u=(0,n.g2)("el-select"),c=(0,n.g2)("Refresh"),d=(0,n.g2)("el-icon"),f=(0,n.g2)("el-button"),k=(0,n.g2)("Background");return(0,n.uX)(),(0,n.CE)("div",o,[(0,n.Lk)("div",g,[p,(0,n.bF)(u,{modelValue:l.state.server,"onUpdate:modelValue":a[0]||(a[0]=e=>l.state.server=e),placeholder:"服务器",style:{width:"16rem"},size:"small"},{default:(0,n.k6)((()=>[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(l.state.servers,(e=>((0,n.uX)(),(0,n.Wv)(i,{key:e.Host,label:e.Name,value:e.Host},null,8,["label","value"])))),128))])),_:1},8,["modelValue"]),v,(0,n.bF)(f,{size:"small",onClick:l.handleRefresh},{default:(0,n.k6)((()=>[(0,n.eW)(" 刷新(F5)"),(0,n.bF)(d,null,{default:(0,n.k6)((()=>[(0,n.bF)(c)])),_:1})])),_:1},8,["onClick"]),(0,n.Lk)("div",h,[(0,n.bF)(k,{name:"net"})])])])}var k=t(3830),b=t(144),m=t(7477),C=t(5096),L={components:{Edit:m.ffu,Refresh:m.C42,Background:C.A},setup(){const e=(0,k.B)(),a=(0,b.Kh)({server:"linker.snltty.com:1802",servers:[]});(0,n.wB)((()=>e.value.config.Client.Servers),(()=>{a.servers=(e.value.config.Client.Servers||[]).slice(0,1),a.server=e.value.config.Client.Server.Host}));const t=()=>{window.location.reload()};return{state:a,handleRefresh:t}}},w=t(1241);const S=(0,w.A)(L,[["render",f],["__scopeId","data-v-3bb95ac8"]]);var _=S;const F=e=>((0,n.Qi)("data-v-b6ab4f06"),e=e(),(0,n.jt)(),e),x={class:"net-list-wrap flex flex-column absolute"},z={class:"flex-1 scrollbar"},E={class:"flex"},I=F((()=>(0,n.Lk)("div",{class:"flex-1"},null,-1))),T={class:"tuntap"},A={class:"page t-c"},B={class:"page-wrap t-c"};function P(e,a,t,l,s,r){const i=(0,n.g2)("DeviceName"),u=(0,n.g2)("UpdaterBtn"),c=(0,n.g2)("TuntapShow"),d=(0,n.g2)("el-pagination");return(0,n.uX)(),(0,n.CE)("div",x,[(0,n.Lk)("div",z,[(0,n.Lk)("ul",null,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(l.devices.page.List,((e,a)=>((0,n.uX)(),(0,n.CE)("li",{key:a},[(0,n.Lk)("dl",null,[(0,n.Lk)("dt",E,[(0,n.Lk)("div",null,[(0,n.bF)(i,{item:e},null,8,["item"])]),I,(0,n.Lk)("div",null,[(0,n.bF)(u,{config:!1,item:e},null,8,["item"])])]),(0,n.Lk)("dd",T,[l.tuntap.list[e.MachineId]?((0,n.uX)(),(0,n.Wv)(c,{key:0,item:e},null,8,["item"])):(0,n.Q3)("",!0)])])])))),128))])]),(0,n.Lk)("div",A,[(0,n.Lk)("div",B,[(0,n.bF)(d,{size:"small",background:"",layout:"prev,pager, next","pager-count":5,total:l.devices.page.Count,"page-size":l.devices.page.Request.Size,"current-page":l.devices.page.Request.Page,onCurrentChange:l.handlePageChange,onSizeChange:l.handlePageSizeChange,"page-sizes":[10,20,50,100,255]},null,8,["total","page-size","current-page","onCurrentChange","onSizeChange"])])])])}var y=t(8104),X=t(7985),R=t(9383),D=t(167),U=t(3347),H=t(2950),N={components:{StarFilled:m.BQ2,UpdaterBtn:D.A,DeviceName:U.A,TuntapShow:H.A},setup(e){(0,k.B)();const a=(0,b.Kh)({}),{devices:t,machineId:l,_getSignList:s,_getSignList1:r,handleDeviceEdit:i,handlePageChange:u,handlePageSizeChange:c,handleDel:d,clearDevicesTimeout:o}=(0,X.r)(),{tuntap:g,_getTuntapInfo:p,handleTuntapRefresh:v,clearTuntapTimeout:h,handleTuntapEdit:f,sortTuntapIP:m}=(0,y.O)(),{_getUpdater:C,_subscribeUpdater:L,clearUpdaterTimeout:w}=(0,R.d)();return(0,n.sV)((()=>{u(),v(),s(),r(),p(),C(),L()})),(0,n.hi)((()=>{o(),h(),w()})),{state:a,devices:t,machineId:l,handlePageChange:u,handlePageSizeChange:c,tuntap:g}}};const V=(0,w.A)(N,[["render",P],["__scopeId","data-v-b6ab4f06"]]);var K=V,Q=t(3269),W=t(1387),j={components:{Head:_,List:K,Status:Q.A},setup(){document.addEventListener("contextmenu",(function(e){e.preventDefault()}));const e=(0,k.B)(),a=(0,W.rd)();return(0,n.sV)((()=>{0==e.value.hasAccess("NetManager")&&a.push({name:"NoPermission"})})),{}}};const q=(0,w.A)(j,[["render",c],["__scopeId","data-v-6a3f3b43"]]);var M=q}}]); \ No newline at end of file +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[836],{673:function(e,a,t){t.r(a),t.d(a,{default:function(){return M}});var n=t(6768);const l={class:"net-wrap app-wrap"},s={class:"inner absolute flex flex-column flex-nowrap"},r={class:"head"},i={class:"body flex-1 relative"},u={class:"status"};function c(e,a,t,c,d,o){const g=(0,n.g2)("Head"),p=(0,n.g2)("List"),v=(0,n.g2)("Status");return(0,n.uX)(),(0,n.CE)("div",l,[(0,n.Lk)("div",s,[(0,n.Lk)("div",r,[(0,n.bF)(g)]),(0,n.Lk)("div",i,[(0,n.bF)(p)]),(0,n.Lk)("div",u,[(0,n.bF)(v,{config:!1})])])])}t(4114);const d=e=>((0,n.Qi)("data-v-3bb95ac8"),e=e(),(0,n.jt)(),e),o={class:"head-wrap"},g={class:"tools flex"},p=d((()=>(0,n.Lk)("span",{class:"label"},"服务器 ",-1))),v=d((()=>(0,n.Lk)("span",{class:"flex-1"},null,-1))),h={style:{"margin-left":"1rem"}};function f(e,a,t,l,s,r){const i=(0,n.g2)("el-option"),u=(0,n.g2)("el-select"),c=(0,n.g2)("Refresh"),d=(0,n.g2)("el-icon"),f=(0,n.g2)("el-button"),k=(0,n.g2)("Background");return(0,n.uX)(),(0,n.CE)("div",o,[(0,n.Lk)("div",g,[p,(0,n.bF)(u,{modelValue:l.state.server,"onUpdate:modelValue":a[0]||(a[0]=e=>l.state.server=e),placeholder:"服务器",style:{width:"16rem"},size:"small"},{default:(0,n.k6)((()=>[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(l.state.servers,(e=>((0,n.uX)(),(0,n.Wv)(i,{key:e.Host,label:e.Name,value:e.Host},null,8,["label","value"])))),128))])),_:1},8,["modelValue"]),v,(0,n.bF)(f,{size:"small",onClick:l.handleRefresh},{default:(0,n.k6)((()=>[(0,n.eW)(" 刷新(F5)"),(0,n.bF)(d,null,{default:(0,n.k6)((()=>[(0,n.bF)(c)])),_:1})])),_:1},8,["onClick"]),(0,n.Lk)("div",h,[(0,n.bF)(k,{name:"net"})])])])}var k=t(3830),b=t(144),m=t(7477),C=t(5096),L={components:{Edit:m.ffu,Refresh:m.C42,Background:C.A},setup(){const e=(0,k.B)(),a=(0,b.Kh)({server:"linker.snltty.com:1802",servers:[]});(0,n.wB)((()=>e.value.config.Client.Servers),(()=>{a.servers=(e.value.config.Client.Servers||[]).slice(0,1),a.server=e.value.config.Client.Server.Host}));const t=()=>{window.location.reload()};return{state:a,handleRefresh:t}}},w=t(1241);const S=(0,w.A)(L,[["render",f],["__scopeId","data-v-3bb95ac8"]]);var _=S;const F=e=>((0,n.Qi)("data-v-b6ab4f06"),e=e(),(0,n.jt)(),e),x={class:"net-list-wrap flex flex-column absolute"},z={class:"flex-1 scrollbar"},E={class:"flex"},I=F((()=>(0,n.Lk)("div",{class:"flex-1"},null,-1))),T={class:"tuntap"},A={class:"page t-c"},B={class:"page-wrap t-c"};function P(e,a,t,l,s,r){const i=(0,n.g2)("DeviceName"),u=(0,n.g2)("UpdaterBtn"),c=(0,n.g2)("TuntapShow"),d=(0,n.g2)("el-pagination");return(0,n.uX)(),(0,n.CE)("div",x,[(0,n.Lk)("div",z,[(0,n.Lk)("ul",null,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(l.devices.page.List,((e,a)=>((0,n.uX)(),(0,n.CE)("li",{key:a},[(0,n.Lk)("dl",null,[(0,n.Lk)("dt",E,[(0,n.Lk)("div",null,[(0,n.bF)(i,{item:e},null,8,["item"])]),I,(0,n.Lk)("div",null,[(0,n.bF)(u,{config:!1,item:e},null,8,["item"])])]),(0,n.Lk)("dd",T,[l.tuntap.list[e.MachineId]?((0,n.uX)(),(0,n.Wv)(c,{key:0,item:e},null,8,["item"])):(0,n.Q3)("",!0)])])])))),128))])]),(0,n.Lk)("div",A,[(0,n.Lk)("div",B,[(0,n.bF)(d,{size:"small",background:"",layout:"prev,pager, next","pager-count":5,total:l.devices.page.Count,"page-size":l.devices.page.Request.Size,"current-page":l.devices.page.Request.Page,onCurrentChange:l.handlePageChange,onSizeChange:l.handlePageSizeChange,"page-sizes":[10,20,50,100,255]},null,8,["total","page-size","current-page","onCurrentChange","onSizeChange"])])])])}var y=t(8104),X=t(7985),R=t(9383),D=t(167),U=t(3347),H=t(2950),N={components:{StarFilled:m.BQ2,UpdaterBtn:D.A,DeviceName:U.A,TuntapShow:H.A},setup(e){(0,k.B)();const a=(0,b.Kh)({}),{devices:t,machineId:l,_getSignList:s,_getSignList1:r,handleDeviceEdit:i,handlePageChange:u,handlePageSizeChange:c,handleDel:d,clearDevicesTimeout:o}=(0,X.r)(),{tuntap:g,_getTuntapInfo:p,handleTuntapRefresh:v,clearTuntapTimeout:h,handleTuntapEdit:f,sortTuntapIP:m}=(0,y.O)(),{_getUpdater:C,_subscribeUpdater:L,clearUpdaterTimeout:w}=(0,R.d)();return(0,n.sV)((()=>{u(),v(),s(),r(),p(),C(),L()})),(0,n.hi)((()=>{o(),h(),w()})),{state:a,devices:t,machineId:l,handlePageChange:u,handlePageSizeChange:c,tuntap:g}}};const V=(0,w.A)(N,[["render",P],["__scopeId","data-v-b6ab4f06"]]);var K=V,Q=t(3847),W=t(1387),j={components:{Head:_,List:K,Status:Q.A},setup(){document.addEventListener("contextmenu",(function(e){e.preventDefault()}));const e=(0,k.B)(),a=(0,W.rd)();return(0,n.sV)((()=>{0==e.value.hasAccess("NetManager")&&a.push({name:"NoPermission"})})),{}}};const q=(0,w.A)(j,[["render",c],["__scopeId","data-v-6a3f3b43"]]);var M=q}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/848.33bffbdc.js b/linker.tray.win/web/js/848.33bffbdc.js deleted file mode 100644 index 259d7844..00000000 --- a/linker.tray.win/web/js/848.33bffbdc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[848],{7716:function(e,t,n){n.d(t,{H1:function(){return s},Oy:function(){return u},V1:function(){return c},dS:function(){return d},nH:function(){return r},o2:function(){return a},we:function(){return l},xD:function(){return o}});var i=n(4);const s=(e="0")=>(0,i.zG)("forwardclient/connections",e),a=e=>(0,i.zG)("forwardclient/removeconnection",e),c=(e="0")=>(0,i.zG)("forwardclient/getcount",e),u=(e="0")=>(0,i.zG)("forwardclient/get",e),o=()=>(0,i.zG)("forwardclient/bindips"),l=e=>(0,i.zG)("forwardclient/remove",e),r=e=>(0,i.zG)("forwardclient/add",e),d=()=>(0,i.zG)("forwardclient/refresh")},2173:function(e,t,n){n.d(t,{$y:function(){return c},L1:function(){return a},QP:function(){return r},R2:function(){return o},_Q:function(){return l},im:function(){return s},qH:function(){return u}});var i=n(4);const s=(e="0")=>(0,i.zG)("socks5client/connections",e),a=e=>(0,i.zG)("socks5client/removeconnection",e),c=(e="0")=>(0,i.zG)("socks5client/get",e),u=e=>(0,i.zG)("socks5client/run",e),o=e=>(0,i.zG)("socks5client/stop",e),l=e=>(0,i.zG)("socks5client/update",e),r=()=>(0,i.zG)("socks5client/refresh")},5241:function(e,t,n){n.d(t,{AE:function(){return v},Jd:function(){return d},Nj:function(){return f},PR:function(){return o},Yh:function(){return r},_:function(){return h},ac:function(){return l},en:function(){return u},kl:function(){return s},vB:function(){return a},w0:function(){return m},zi:function(){return c}});var i=n(4);const s=(e="0")=>(0,i.zG)("tuntapclient/connections",e),a=e=>(0,i.zG)("tuntapclient/removeconnection",e),c=(e="0")=>(0,i.zG)("tuntapclient/get",e),u=e=>(0,i.zG)("tuntapclient/run",e),o=e=>(0,i.zG)("tuntapclient/stop",e),l=e=>(0,i.zG)("tuntapclient/update",e),r=()=>(0,i.zG)("tuntapclient/refresh"),d=()=>(0,i.zG)("tuntapclient/SubscribePing"),h=e=>(0,i.zG)("tuntapclient/SubscribeForwardTest",e),m=e=>(0,i.zG)("tuntapclient/CalcNetwork",e),f=()=>(0,i.zG)("tuntapclient/GetNetwork"),v=e=>(0,i.zG)("tuntapclient/AddNetwork",e)},9983:function(e,t,n){n.d(t,{FG:function(){return v},L2:function(){return h},ZY:function(){return m},bB:function(){return p},mx:function(){return f}});var i=n(7716),s=n(5241),a=n(2173),c=n(144),u=n(6768);const o=Symbol(),l=Symbol(),r=Symbol(),d=Symbol(),h=()=>{const e=(0,c.KR)({showEdit:!1,speedCache:{},current:"",currentName:"",hashcode:0,hashcode1:0,_updateRealTime:!1,updateRealTime:t=>{e.value.hashcode=0,e.value.hashcode1=0,e.value._updateRealTime=t}});(0,u.Gt)(o,e);const t=(0,c.KR)({timer:0,list:{}});(0,u.Gt)(l,t);const n=()=>{(0,i.H1)(e.value.hashcode.toString()).then((s=>{0==e.value._updateRealTime&&(e.value.hashcode=s.HashCode),s.List&&(p(s.List,i.o2),t.value.list=s.List),t.value.timer=setTimeout(n,1e3)})).catch((e=>{t.value.timer=setTimeout(n,1e3)}))},h=(0,c.KR)({timer:0,list:{}});(0,u.Gt)(r,h);const m=()=>{(0,s.kl)(e.value.hashcode1.toString()).then((t=>{0==e.value._updateRealTime&&(e.value.hashcode1=t.HashCode),t.List&&(p(t.List,s.vB),h.value.list=t.List),h.value.timer=setTimeout(m,1e3)})).catch((e=>{h.value.timer=setTimeout(m,1e3)}))},f=(0,c.KR)({timer:0,list:{}});(0,u.Gt)(d,f);const v=()=>{(0,a.im)(e.value.hashcode1.toString()).then((t=>{0==e.value._updateRealTime&&(e.value.hashcode1=t.HashCode),t.List&&(p(t.List,a.L1),f.value.list=t.List),f.value.timer=setTimeout(v,1e3)})).catch((e=>{f.value.timer=setTimeout(v,1e3)}))},p=(t,n)=>{const i=e.value.speedCache;for(let e in t){const s=t[e];s.removeFunc=n;const a=`${s.RemoteMachineId}-${s.TransactionId}`,c=i[a]||{SendBytes:0,ReceiveBytes:0};s.SendBytesText=g(s.SendBytes-c.SendBytes),s.ReceiveBytesText=g(s.ReceiveBytes-c.ReceiveBytes),c.SendBytes=s.SendBytes,c.ReceiveBytes=s.ReceiveBytes,i[a]=c}},g=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B/s","KB/s","MB/s","GB/s","TB/s"][t]}`},I=t=>{e.value.current=t.MachineId,e.value.currentName=t.MachineName,e.value.showEdit=!0},y=()=>{clearTimeout(t.value.timer),clearTimeout(h.value.timer),clearTimeout(f.value.timer)};return{connections:e,forwardConnections:t,_getForwardConnections:n,tuntapConnections:h,_getTuntapConnections:m,socks5Connections:f,_getSocks5Connections:v,handleTunnelConnections:I,clearConnectionsTimeout:y}},m=()=>(0,u.WQ)(o),f=()=>(0,u.WQ)(l),v=()=>(0,u.WQ)(r),p=()=>(0,u.WQ)(d)},7985:function(e,t,n){n.d(t,{r:function(){return o}});n(4114);var i=n(9299),s=n(3830),a=n(6768),c=n(144);const u=[],o=()=>{const e=(0,s.B)(),t=(0,a.EW)((()=>e.value.config.Client.Id)),n=(0,c.Kh)({timer:0,page:{Request:{Page:1,Size:+(localStorage.getItem("ps")||"10"),Name:"",Ids:[],Prop:"",Asc:!0},Count:0,List:[]},showDeviceEdit:!1,showAccessEdit:!1,deviceInfo:null}),o=()=>{(0,i.nD)(n.page.Request).then((i=>{n.page.Request=i.Request,n.page.Count=i.Count;for(let n in i.List)Object.assign(i.List[n],{showDel:t.value!=i.List[n].MachineId&&0==i.List[n].Connected,showAccess:t.value!=i.List[n].MachineId&&i.List[n].Connected,showReboot:i.List[n].Connected,isSelf:t.value==i.List[n].MachineId,showip:!1}),i.List[n].isSelf&&(e.value.self=i.List[n]);n.page.List=i.List;for(let e=0;e{}))},l=()=>{(0,i.nD)(n.page.Request).then((i=>{for(let s in i.List){const a=n.page.List.filter((e=>e.MachineId==i.List[s].MachineId))[0];a&&(Object.assign(a,{Connected:i.List[s].Connected,Version:i.List[s].Version,LastSignIn:i.List[s].LastSignIn,Args:i.List[s].Args,showDel:t.value!=i.List[s].MachineId&&0==i.List[s].Connected,showAccess:t.value!=i.List[s].MachineId&&i.List[s].Connected,showReboot:i.List[s].Connected,isSelf:t.value==i.List[s].MachineId}),a.isSelf&&(e.value.self=a))}n.timer=setTimeout(l,5e3)})).catch((e=>{n.timer=setTimeout(l,5e3)}))},r=()=>{try{if(0==u.length)return void setTimeout(r,1e3);const e=u.shift();fetch(`http://ip-api.com/json/${e.IP.split(":")[0]}`).then((async t=>{try{const n=await t.json();e.countryFlag=`https://unpkg.com/flag-icons@7.2.3/flags/4x3/${n.countryCode.toLowerCase()}.svg`}catch(n){}setTimeout(r,1e3)})).catch((()=>{setTimeout(r,1e3)}))}catch(e){setTimeout(r,1e3)}};r();const d=e=>{n.deviceInfo=e,n.showDeviceEdit=!0},h=e=>{n.deviceInfo=e,n.showAccessEdit=!0},m=e=>{e&&(n.page.Request.Page=e),o()},f=e=>{e&&(n.page.Request.Size=e,localStorage.setItem("ps",e)),o()},v=e=>{(0,i.Se)(e).then((()=>{o()}))},p=()=>{clearTimeout(n.timer),n.timer=0},g=e=>(0,i.VN)(e);return{devices:n,machineId:t,_getSignList:o,_getSignList1:l,handleDeviceEdit:d,handleAccessEdit:h,handlePageChange:m,handlePageSizeChange:f,handleDel:v,clearDevicesTimeout:p,setSort:g}}},8104:function(e,t,n){n.d(t,{O:function(){return u},W:function(){return o}});var i=n(144),s=n(6768),a=n(5241);const c=Symbol(),u=()=>{const e=(0,i.KR)({show:!0,timer:0,showEdit:!1,current:null,list:{},hashcode:0,showLease:!1});(0,s.Gt)(c,e);const t={linux:["debian","ubuntu","alpine","rocky","centos"],ubuntu:["ubuntu"],windows:["windows"],android:["android"],ios:["ios"]},n=()=>{clearTimeout(e.value.timer),(0,a.zi)(e.value.hashcode.toString()).then((i=>{if(e.value.hashcode=i.HashCode,i.List){for(let e in i.List){let n="system";const s=i.List[e].SystemInfo.toLowerCase();for(let e in t)if(s.indexOf(e)>=0){const i=t[e];if(1==i.length)n=i[0];else for(let e=0;e=0){n=i[e];break}break}Object.assign(i.List[e],{running:2==i.List[e].Status,loading:1==i.List[e].Status,system:n,systemDocker:s.indexOf("docker")>=0})}e.value.list=i.List}e.value.timer=setTimeout(n,1100),(0,a.Jd)()})).catch((t=>{e.value.timer=setTimeout(n,1100)}))},u=t=>{e.value.current=t,e.value.showEdit=!0},o=()=>{(0,a.Yh)()},l=()=>{clearTimeout(e.value.timer),e.value.timer=0},r=t=>Object.values(e.value.list).filter((e=>e.IP.indexOf(t)>=0||e.Lans.filter((e=>e.IP.indexOf(t)>=0)).length>0)).map((e=>e.MachineId)),d=t=>{const n=Object.values(e.value.list).filter((e=>e.IP)).sort(((e,t)=>{const n=e.IP.split(".").map((e=>Number(e))),i=t.IP.split(".").map((e=>Number(e)));for(let s=0;se.MachineId))};return{tuntap:e,_getTuntapInfo:n,handleTuntapEdit:u,handleTuntapRefresh:o,clearTuntapTimeout:l,getTuntapMachines:r,sortTuntapIP:d}},o=()=>(0,s.WQ)(c)},4867:function(e,t,n){n.d(t,{A:function(){return m}});var i=n(6768);const s={key:0,class:"point p2p",title:"打洞直连"},a={key:1,class:"point relay",title:"中继连接"},c={key:2,class:"point node",title:"节点连接"},u={key:1,class:"point",title:"未连接"};function o(e,t,n,o,l,r){return o.state.connection&&o.state.connection.Connected?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[0==o.state.connection.Type?((0,i.uX)(),(0,i.CE)("span",s)):1==o.state.connection.Type?((0,i.uX)(),(0,i.CE)("span",a)):2==o.state.connection.Type?((0,i.uX)(),(0,i.CE)("span",c)):(0,i.Q3)("",!0)],64)):((0,i.uX)(),(0,i.CE)("span",u))}var l=n(144),r={props:["data"],setup(e){const t=(0,l.Kh)({connection:e.data});return(0,i.wB)((()=>e.data),(()=>{t.connection=e.data})),{state:t}}},d=n(1241);const h=(0,d.A)(r,[["render",o],["__scopeId","data-v-39aee530"]]);var m=h},3347:function(e,t,n){n.d(t,{A:function(){return g}});var i=n(6768),s=n(4232);const a=["title"],c=["src"],u=["src"],o={key:1,class:"system",src:"/docker.svg"},l={key:1,class:"self gateway"};function r(e,t,n,r,d,h){const m=(0,i.g2)("StarFilled"),f=(0,i.g2)("el-icon");return(0,i.uX)(),(0,i.CE)("div",null,[r.tuntap.list[r.item.MachineId]&&r.tuntap.list[r.item.MachineId].system?((0,i.uX)(),(0,i.CE)("span",{key:0,title:r.tuntap.list[r.item.MachineId].SystemInfo},[r.item.countryFlag?((0,i.uX)(),(0,i.CE)("img",{key:0,class:"system",src:r.item.countryFlag},null,8,c)):(0,i.Q3)("",!0),(0,i.Lk)("img",{class:"system",src:`/${r.tuntap.list[r.item.MachineId].system}.svg`},null,8,u),r.tuntap.list[r.item.MachineId].systemDocker?((0,i.uX)(),(0,i.CE)("img",o)):(0,i.Q3)("",!0)],8,a)):(0,i.Q3)("",!0),(0,i.Lk)("a",{href:"javascript:;",onClick:t[0]||(t[0]=(...e)=>r.handleEdit&&r.handleEdit(...e)),title:"此客户端的设备名",class:"a-line"},[(0,i.Lk)("strong",{class:(0,s.C4)(["gateway",{green:r.item.Connected}])},(0,s.v_)(r.item.MachineName||"null"),3)]),r.item.isSelf?((0,i.uX)(),(0,i.CE)("strong",l,[(0,i.eW)("("),(0,i.bF)(f,{size:"16"},{default:(0,i.k6)((()=>[(0,i.bF)(m)])),_:1}),(0,i.eW)(") ")])):(0,i.Q3)("",!0)])}var d=n(3830),h=n(8104),m=n(7477),f={props:["item","config"],emits:["edit","refresh"],components:{StarFilled:m.BQ2},setup(e,{emit:t}){const n=(0,h.W)(),s=(0,d.B)(),a=(0,i.EW)((()=>s.value.hasAccess("RenameSelf"))),c=(0,i.EW)((()=>s.value.hasAccess("RenameOther"))),u=(0,i.EW)((()=>s.value.config.Client.Id)),o=()=>{if(e.config){if(u.value===e.item.MachineId){if(!a.value)return}else if(!c.value)return;t("edit",e.item)}};return{item:(0,i.EW)((()=>e.item)),tuntap:n,handleEdit:o}}},v=n(1241);const p=(0,v.A)(f,[["render",r],["__scopeId","data-v-ffd0d512"]]);var g=p},2950:function(e,t,n){n.d(t,{A:function(){return M}});var i=n(6768),s=n(4232);const a={class:"flex"},c={class:"flex-1"},u=["title"],o=["title"],l={key:0,class:"green gateway"},r={key:1},d={key:0},h={key:0,class:"flex yellow",title:"已禁用"},m={key:1,class:"flex yellow",title:"与其它设备填写IP、或本机局域网IP有冲突"},f={key:0,class:"delay green"},v={class:"delay yellow"};function p(e,t,n,p,g,I){const y=(0,i.g2)("ConnectionShow"),C=(0,i.g2)("Loading"),L=(0,i.g2)("el-icon"),k=(0,i.g2)("el-switch");return(0,i.uX)(),(0,i.CE)("div",null,[(0,i.Lk)("div",a,[(0,i.Lk)("div",c,[(0,i.bF)(y,{data:p.connections.list[p.item.MachineId]},null,8,["data"]),(0,i.Lk)("a",{href:"javascript:;",class:"a-line",onClick:t[0]||(t[0]=e=>p.handleTuntapIP(p.tuntap.list[p.item.MachineId])),title:"此设备的虚拟网卡IP"},[p.tuntap.list[p.item.MachineId].SetupError?((0,i.uX)(),(0,i.CE)("strong",{key:0,class:"red",title:p.tuntap.list[p.item.MachineId].SetupError},(0,s.v_)(p.tuntap.list[p.item.MachineId].IP),9,u)):p.tuntap.list[p.item.MachineId].Upgrade&&p.tuntap.list[p.item.MachineId].NatError?((0,i.uX)(),(0,i.CE)("strong",{key:1,class:"yellow",title:p.tuntap.list[p.item.MachineId].NatError},(0,s.v_)(p.tuntap.list[p.item.MachineId].IP),9,o)):((0,i.uX)(),(0,i.CE)(i.FK,{key:2},[p.tuntap.list[p.item.MachineId].running?((0,i.uX)(),(0,i.CE)("strong",l,(0,s.v_)(p.tuntap.list[p.item.MachineId].IP),1)):((0,i.uX)(),(0,i.CE)("strong",r,(0,s.v_)(p.tuntap.list[p.item.MachineId].IP),1))],64))])]),p.tuntap.list[p.item.MachineId].loading?((0,i.uX)(),(0,i.CE)("div",d,[(0,i.bF)(L,{size:"14",class:"loading"},{default:(0,i.k6)((()=>[(0,i.bF)(C)])),_:1})])):((0,i.uX)(),(0,i.Wv)(k,{key:1,modelValue:p.tuntap.list[p.item.MachineId].running,"onUpdate:modelValue":t[1]||(t[1]=e=>p.tuntap.list[p.item.MachineId].running=e),loading:p.tuntap.list[p.item.MachineId].loading,disabled:"",onClick:t[2]||(t[2]=e=>p.handleTuntap(p.tuntap.list[p.item.MachineId])),size:"small","inline-prompt":"","active-text":"😀","inactive-text":"😣"},null,8,["modelValue","loading"]))]),(0,i.Lk)("div",null,[(0,i.Lk)("div",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(p.tuntap.list[p.item.MachineId].Lans,((e,t)=>((0,i.uX)(),(0,i.CE)(i.FK,{key:t},[e.Disabled?((0,i.uX)(),(0,i.CE)("div",h,(0,s.v_)(e.IP)+" / "+(0,s.v_)(e.PrefixLength),1)):e.Exists?((0,i.uX)(),(0,i.CE)("div",m,(0,s.v_)(e.IP)+" / "+(0,s.v_)(e.PrefixLength),1)):((0,i.uX)(),(0,i.CE)("div",{key:2,class:(0,s.C4)(["flex",{green:p.tuntap.list[p.item.MachineId].running}]),title:"正常使用"},(0,s.v_)(e.IP)+" / "+(0,s.v_)(e.PrefixLength),3))],64)))),128))]),p.showDelay?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[p.tuntap.list[p.item.MachineId].Delay>=0&&p.tuntap.list[p.item.MachineId].Delay<=100?((0,i.uX)(),(0,i.CE)("div",f,(0,s.v_)(p.tuntap.list[p.item.MachineId].Delay)+"ms",1)):(0,i.Q3)("",!0),(0,i.Lk)("template",null,[(0,i.Lk)("div",v,(0,s.v_)(p.tuntap.list[p.item.MachineId].Delay)+"ms",1)])],64)):(0,i.Q3)("",!0)])])}var g=n(5241),I=n(1219),y=n(8104),C=n(7477),L=n(3830),k=n(9983),w=n(4867),E={props:["item","config"],emits:["edit","refresh"],components:{Loading:C.Rhj,ConnectionShow:w.A},setup(e,{emit:t}){const n=(0,y.W)(),s=(0,L.B)(),a=(0,i.EW)((()=>s.value.config.Client.Id)),c=(0,i.EW)((()=>s.value.hasAccess("TuntapChangeSelf"))),u=(0,i.EW)((()=>s.value.hasAccess("TuntapChangeOther"))),o=(0,i.EW)((()=>s.value.hasAccess("TuntapStatusSelf"))),l=(0,i.EW)((()=>s.value.hasAccess("TuntapStatusOther"))),r=(0,k.FG)(),d=(0,i.EW)((()=>2==(2&(s.value.config.Running.Tuntap||{Switch:0}).Switch))),h=t=>{if(!e.config)return;if(a.value===t.MachineId){if(!o.value)return}else if(!l.value)return;const n=t.running?(0,g.PR)(t.MachineId):(0,g.en)(t.MachineId);t.loading=!0,n.then((()=>{I.nk.success("操作成功!")})).catch((e=>{console.log(e),I.nk.error("操作失败!")}))},m=n=>{if(e.config||a.value==n.MachineId){if(a.value===n.MachineId){if(!c.value)return}else if(!u.value)return;n.device=e.item,t("edit",n)}},f=()=>{t("refresh")};return{item:(0,i.EW)((()=>e.item)),tuntap:n,showDelay:d,connections:r,handleTuntap:h,handleTuntapIP:m,handleTuntapRefresh:f}}},T=n(1241);const S=(0,T.A)(E,[["render",p],["__scopeId","data-v-f8059b00"]]);var M=S}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/848.3d739e8d.js b/linker.tray.win/web/js/848.3d739e8d.js new file mode 100644 index 00000000..bdee36bb --- /dev/null +++ b/linker.tray.win/web/js/848.3d739e8d.js @@ -0,0 +1 @@ +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[848],{7716:function(e,t,n){n.d(t,{H1:function(){return s},Oy:function(){return c},V1:function(){return u},dS:function(){return d},nH:function(){return l},o2:function(){return a},we:function(){return r},xD:function(){return o}});var i=n(4);const s=(e="0")=>(0,i.zG)("forward/connections",e),a=e=>(0,i.zG)("forward/removeconnection",e),u=(e="0")=>(0,i.zG)("forward/getcount",e),c=(e="0")=>(0,i.zG)("forward/get",e),o=()=>(0,i.zG)("forward/bindips"),r=e=>(0,i.zG)("forward/remove",e),l=e=>(0,i.zG)("forward/add",e),d=()=>(0,i.zG)("forward/refresh")},2173:function(e,t,n){n.d(t,{$y:function(){return u},L1:function(){return a},QP:function(){return l},R2:function(){return o},_Q:function(){return r},im:function(){return s},qH:function(){return c}});var i=n(4);const s=(e="0")=>(0,i.zG)("socks5/connections",e),a=e=>(0,i.zG)("socks5/removeconnection",e),u=(e="0")=>(0,i.zG)("socks5/get",e),c=e=>(0,i.zG)("socks5/run",e),o=e=>(0,i.zG)("socks5/stop",e),r=e=>(0,i.zG)("socks5/update",e),l=()=>(0,i.zG)("socks5/refresh")},5241:function(e,t,n){n.d(t,{AE:function(){return v},Jd:function(){return d},Nj:function(){return f},PR:function(){return o},Yh:function(){return l},_:function(){return h},ac:function(){return r},en:function(){return c},kl:function(){return s},vB:function(){return a},w0:function(){return m},zi:function(){return u}});var i=n(4);const s=(e="0")=>(0,i.zG)("tuntap/connections",e),a=e=>(0,i.zG)("tuntap/removeconnection",e),u=(e="0")=>(0,i.zG)("tuntap/get",e),c=e=>(0,i.zG)("tuntap/run",e),o=e=>(0,i.zG)("tuntap/stop",e),r=e=>(0,i.zG)("tuntap/update",e),l=()=>(0,i.zG)("tuntap/refresh"),d=()=>(0,i.zG)("tuntap/SubscribePing"),h=e=>(0,i.zG)("tuntap/SubscribeForwardTest",e),m=e=>(0,i.zG)("tuntap/CalcNetwork",e),f=()=>(0,i.zG)("tuntap/GetNetwork"),v=e=>(0,i.zG)("tuntap/AddNetwork",e)},9983:function(e,t,n){n.d(t,{FG:function(){return v},L2:function(){return h},ZY:function(){return m},bB:function(){return p},mx:function(){return f}});var i=n(7716),s=n(5241),a=n(2173),u=n(144),c=n(6768);const o=Symbol(),r=Symbol(),l=Symbol(),d=Symbol(),h=()=>{const e=(0,u.KR)({showEdit:!1,speedCache:{},current:"",currentName:"",hashcode:0,hashcode1:0,_updateRealTime:!1,updateRealTime:t=>{e.value.hashcode=0,e.value.hashcode1=0,e.value._updateRealTime=t}});(0,c.Gt)(o,e);const t=(0,u.KR)({timer:0,list:{}});(0,c.Gt)(r,t);const n=()=>{(0,i.H1)(e.value.hashcode.toString()).then((s=>{0==e.value._updateRealTime&&(e.value.hashcode=s.HashCode),s.List&&(p(s.List,i.o2),t.value.list=s.List),t.value.timer=setTimeout(n,1e3)})).catch((e=>{t.value.timer=setTimeout(n,1e3)}))},h=(0,u.KR)({timer:0,list:{}});(0,c.Gt)(l,h);const m=()=>{(0,s.kl)(e.value.hashcode1.toString()).then((t=>{0==e.value._updateRealTime&&(e.value.hashcode1=t.HashCode),t.List&&(p(t.List,s.vB),h.value.list=t.List),h.value.timer=setTimeout(m,1e3)})).catch((e=>{h.value.timer=setTimeout(m,1e3)}))},f=(0,u.KR)({timer:0,list:{}});(0,c.Gt)(d,f);const v=()=>{(0,a.im)(e.value.hashcode1.toString()).then((t=>{0==e.value._updateRealTime&&(e.value.hashcode1=t.HashCode),t.List&&(p(t.List,a.L1),f.value.list=t.List),f.value.timer=setTimeout(v,1e3)})).catch((e=>{f.value.timer=setTimeout(v,1e3)}))},p=(t,n)=>{const i=e.value.speedCache;for(let e in t){const s=t[e];s.removeFunc=n;const a=`${s.RemoteMachineId}-${s.TransactionId}`,u=i[a]||{SendBytes:0,ReceiveBytes:0};s.SendBytesText=g(s.SendBytes-u.SendBytes),s.ReceiveBytesText=g(s.ReceiveBytes-u.ReceiveBytes),u.SendBytes=s.SendBytes,u.ReceiveBytes=s.ReceiveBytes,i[a]=u}},g=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B/s","KB/s","MB/s","GB/s","TB/s"][t]}`},I=t=>{e.value.current=t.MachineId,e.value.currentName=t.MachineName,e.value.showEdit=!0},y=()=>{clearTimeout(t.value.timer),clearTimeout(h.value.timer),clearTimeout(f.value.timer)};return{connections:e,forwardConnections:t,_getForwardConnections:n,tuntapConnections:h,_getTuntapConnections:m,socks5Connections:f,_getSocks5Connections:v,handleTunnelConnections:I,clearConnectionsTimeout:y}},m=()=>(0,c.WQ)(o),f=()=>(0,c.WQ)(r),v=()=>(0,c.WQ)(l),p=()=>(0,c.WQ)(d)},7985:function(e,t,n){n.d(t,{r:function(){return o}});n(4114);var i=n(9299),s=n(3830),a=n(6768),u=n(144);const c=[],o=()=>{const e=(0,s.B)(),t=(0,a.EW)((()=>e.value.config.Client.Id)),n=(0,u.Kh)({timer:0,page:{Request:{Page:1,Size:+(localStorage.getItem("ps")||"10"),Name:"",Ids:[],Prop:"",Asc:!0},Count:0,List:[]},showDeviceEdit:!1,showAccessEdit:!1,deviceInfo:null}),o=()=>{(0,i.nD)(n.page.Request).then((i=>{n.page.Request=i.Request,n.page.Count=i.Count;for(let n in i.List)Object.assign(i.List[n],{showDel:t.value!=i.List[n].MachineId&&0==i.List[n].Connected,showAccess:t.value!=i.List[n].MachineId&&i.List[n].Connected,showReboot:i.List[n].Connected,isSelf:t.value==i.List[n].MachineId,showip:!1}),i.List[n].isSelf&&(e.value.self=i.List[n]);n.page.List=i.List;for(let e=0;e{}))},r=()=>{(0,i.nD)(n.page.Request).then((i=>{for(let s in i.List){const a=n.page.List.filter((e=>e.MachineId==i.List[s].MachineId))[0];a&&(Object.assign(a,{Connected:i.List[s].Connected,Version:i.List[s].Version,LastSignIn:i.List[s].LastSignIn,Args:i.List[s].Args,showDel:t.value!=i.List[s].MachineId&&0==i.List[s].Connected,showAccess:t.value!=i.List[s].MachineId&&i.List[s].Connected,showReboot:i.List[s].Connected,isSelf:t.value==i.List[s].MachineId}),a.isSelf&&(e.value.self=a))}n.timer=setTimeout(r,5e3)})).catch((e=>{n.timer=setTimeout(r,5e3)}))},l=()=>{try{if(0==c.length)return void setTimeout(l,1e3);const e=c.shift();fetch(`http://ip-api.com/json/${e.IP.split(":")[0]}`).then((async t=>{try{const n=await t.json();e.countryFlag=`https://unpkg.com/flag-icons@7.2.3/flags/4x3/${n.countryCode.toLowerCase()}.svg`}catch(n){}setTimeout(l,1e3)})).catch((()=>{setTimeout(l,1e3)}))}catch(e){setTimeout(l,1e3)}};l();const d=e=>{n.deviceInfo=e,n.showDeviceEdit=!0},h=e=>{n.deviceInfo=e,n.showAccessEdit=!0},m=e=>{e&&(n.page.Request.Page=e),o()},f=e=>{e&&(n.page.Request.Size=e,localStorage.setItem("ps",e)),o()},v=e=>{(0,i.Se)(e).then((()=>{o()}))},p=()=>{clearTimeout(n.timer),n.timer=0},g=e=>(0,i.VN)(e);return{devices:n,machineId:t,_getSignList:o,_getSignList1:r,handleDeviceEdit:d,handleAccessEdit:h,handlePageChange:m,handlePageSizeChange:f,handleDel:v,clearDevicesTimeout:p,setSort:g}}},8104:function(e,t,n){n.d(t,{O:function(){return c},W:function(){return o}});var i=n(144),s=n(6768),a=n(5241);const u=Symbol(),c=()=>{const e=(0,i.KR)({show:!0,timer:0,showEdit:!1,current:null,list:{},hashcode:0,showLease:!1});(0,s.Gt)(u,e);const t={linux:["debian","ubuntu","alpine","rocky","centos"],ubuntu:["ubuntu"],windows:["windows"],android:["android"],ios:["ios"]},n=()=>{clearTimeout(e.value.timer),(0,a.zi)(e.value.hashcode.toString()).then((i=>{if(e.value.hashcode=i.HashCode,i.List){for(let e in i.List){let n="system";const s=i.List[e].SystemInfo.toLowerCase();for(let e in t)if(s.indexOf(e)>=0){const i=t[e];if(1==i.length)n=i[0];else for(let e=0;e=0){n=i[e];break}break}Object.assign(i.List[e],{running:2==i.List[e].Status,loading:1==i.List[e].Status,system:n,systemDocker:s.indexOf("docker")>=0})}e.value.list=i.List}e.value.timer=setTimeout(n,1100),(0,a.Jd)()})).catch((t=>{e.value.timer=setTimeout(n,1100)}))},c=t=>{e.value.current=t,e.value.showEdit=!0},o=()=>{(0,a.Yh)()},r=()=>{clearTimeout(e.value.timer),e.value.timer=0},l=t=>Object.values(e.value.list).filter((e=>e.IP.indexOf(t)>=0||e.Lans.filter((e=>e.IP.indexOf(t)>=0)).length>0)).map((e=>e.MachineId)),d=t=>{const n=Object.values(e.value.list).filter((e=>e.IP)).sort(((e,t)=>{const n=e.IP.split(".").map((e=>Number(e))),i=t.IP.split(".").map((e=>Number(e)));for(let s=0;se.MachineId))};return{tuntap:e,_getTuntapInfo:n,handleTuntapEdit:c,handleTuntapRefresh:o,clearTuntapTimeout:r,getTuntapMachines:l,sortTuntapIP:d}},o=()=>(0,s.WQ)(u)},4867:function(e,t,n){n.d(t,{A:function(){return m}});var i=n(6768);const s={key:0,class:"point p2p",title:"打洞直连"},a={key:1,class:"point relay",title:"中继连接"},u={key:2,class:"point node",title:"节点连接"},c={key:1,class:"point",title:"未连接"};function o(e,t,n,o,r,l){return o.state.connection&&o.state.connection.Connected?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[0==o.state.connection.Type?((0,i.uX)(),(0,i.CE)("span",s)):1==o.state.connection.Type?((0,i.uX)(),(0,i.CE)("span",a)):2==o.state.connection.Type?((0,i.uX)(),(0,i.CE)("span",u)):(0,i.Q3)("",!0)],64)):((0,i.uX)(),(0,i.CE)("span",c))}var r=n(144),l={props:["data"],setup(e){const t=(0,r.Kh)({connection:e.data});return(0,i.wB)((()=>e.data),(()=>{t.connection=e.data})),{state:t}}},d=n(1241);const h=(0,d.A)(l,[["render",o],["__scopeId","data-v-39aee530"]]);var m=h},3347:function(e,t,n){n.d(t,{A:function(){return g}});var i=n(6768),s=n(4232);const a=["title"],u=["src"],c=["src"],o={key:1,class:"system",src:"/docker.svg"},r={key:1,class:"self gateway"};function l(e,t,n,l,d,h){const m=(0,i.g2)("StarFilled"),f=(0,i.g2)("el-icon");return(0,i.uX)(),(0,i.CE)("div",null,[l.tuntap.list[l.item.MachineId]&&l.tuntap.list[l.item.MachineId].system?((0,i.uX)(),(0,i.CE)("span",{key:0,title:l.tuntap.list[l.item.MachineId].SystemInfo},[l.item.countryFlag?((0,i.uX)(),(0,i.CE)("img",{key:0,class:"system",src:l.item.countryFlag},null,8,u)):(0,i.Q3)("",!0),(0,i.Lk)("img",{class:"system",src:`/${l.tuntap.list[l.item.MachineId].system}.svg`},null,8,c),l.tuntap.list[l.item.MachineId].systemDocker?((0,i.uX)(),(0,i.CE)("img",o)):(0,i.Q3)("",!0)],8,a)):(0,i.Q3)("",!0),(0,i.Lk)("a",{href:"javascript:;",onClick:t[0]||(t[0]=(...e)=>l.handleEdit&&l.handleEdit(...e)),title:"此客户端的设备名",class:"a-line"},[(0,i.Lk)("strong",{class:(0,s.C4)(["gateway",{green:l.item.Connected}])},(0,s.v_)(l.item.MachineName||"null"),3)]),l.item.isSelf?((0,i.uX)(),(0,i.CE)("strong",r,[(0,i.eW)("("),(0,i.bF)(f,{size:"16"},{default:(0,i.k6)((()=>[(0,i.bF)(m)])),_:1}),(0,i.eW)(") ")])):(0,i.Q3)("",!0)])}var d=n(3830),h=n(8104),m=n(7477),f={props:["item","config"],emits:["edit","refresh"],components:{StarFilled:m.BQ2},setup(e,{emit:t}){const n=(0,h.W)(),s=(0,d.B)(),a=(0,i.EW)((()=>s.value.hasAccess("RenameSelf"))),u=(0,i.EW)((()=>s.value.hasAccess("RenameOther"))),c=(0,i.EW)((()=>s.value.config.Client.Id)),o=()=>{if(e.config){if(c.value===e.item.MachineId){if(!a.value)return}else if(!u.value)return;t("edit",e.item)}};return{item:(0,i.EW)((()=>e.item)),tuntap:n,handleEdit:o}}},v=n(1241);const p=(0,v.A)(f,[["render",l],["__scopeId","data-v-ffd0d512"]]);var g=p},2950:function(e,t,n){n.d(t,{A:function(){return M}});var i=n(6768),s=n(4232);const a={class:"flex"},u={class:"flex-1"},c=["title"],o=["title"],r={key:0,class:"green gateway"},l={key:1},d={key:0},h={key:0,class:"flex yellow",title:"已禁用"},m={key:1,class:"flex yellow",title:"与其它设备填写IP、或本机局域网IP有冲突"},f={key:0,class:"delay green"},v={class:"delay yellow"};function p(e,t,n,p,g,I){const y=(0,i.g2)("ConnectionShow"),C=(0,i.g2)("Loading"),L=(0,i.g2)("el-icon"),k=(0,i.g2)("el-switch");return(0,i.uX)(),(0,i.CE)("div",null,[(0,i.Lk)("div",a,[(0,i.Lk)("div",u,[(0,i.bF)(y,{data:p.connections.list[p.item.MachineId]},null,8,["data"]),(0,i.Lk)("a",{href:"javascript:;",class:"a-line",onClick:t[0]||(t[0]=e=>p.handleTuntapIP(p.tuntap.list[p.item.MachineId])),title:"此设备的虚拟网卡IP"},[p.tuntap.list[p.item.MachineId].SetupError?((0,i.uX)(),(0,i.CE)("strong",{key:0,class:"red",title:p.tuntap.list[p.item.MachineId].SetupError},(0,s.v_)(p.tuntap.list[p.item.MachineId].IP),9,c)):p.tuntap.list[p.item.MachineId].Upgrade&&p.tuntap.list[p.item.MachineId].NatError?((0,i.uX)(),(0,i.CE)("strong",{key:1,class:"yellow",title:p.tuntap.list[p.item.MachineId].NatError},(0,s.v_)(p.tuntap.list[p.item.MachineId].IP),9,o)):((0,i.uX)(),(0,i.CE)(i.FK,{key:2},[p.tuntap.list[p.item.MachineId].running?((0,i.uX)(),(0,i.CE)("strong",r,(0,s.v_)(p.tuntap.list[p.item.MachineId].IP),1)):((0,i.uX)(),(0,i.CE)("strong",l,(0,s.v_)(p.tuntap.list[p.item.MachineId].IP),1))],64))])]),p.tuntap.list[p.item.MachineId].loading?((0,i.uX)(),(0,i.CE)("div",d,[(0,i.bF)(L,{size:"14",class:"loading"},{default:(0,i.k6)((()=>[(0,i.bF)(C)])),_:1})])):((0,i.uX)(),(0,i.Wv)(k,{key:1,modelValue:p.tuntap.list[p.item.MachineId].running,"onUpdate:modelValue":t[1]||(t[1]=e=>p.tuntap.list[p.item.MachineId].running=e),loading:p.tuntap.list[p.item.MachineId].loading,disabled:"",onClick:t[2]||(t[2]=e=>p.handleTuntap(p.tuntap.list[p.item.MachineId])),size:"small","inline-prompt":"","active-text":"😀","inactive-text":"😣"},null,8,["modelValue","loading"]))]),(0,i.Lk)("div",null,[(0,i.Lk)("div",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(p.tuntap.list[p.item.MachineId].Lans,((e,t)=>((0,i.uX)(),(0,i.CE)(i.FK,{key:t},[e.Disabled?((0,i.uX)(),(0,i.CE)("div",h,(0,s.v_)(e.IP)+" / "+(0,s.v_)(e.PrefixLength),1)):e.Exists?((0,i.uX)(),(0,i.CE)("div",m,(0,s.v_)(e.IP)+" / "+(0,s.v_)(e.PrefixLength),1)):((0,i.uX)(),(0,i.CE)("div",{key:2,class:(0,s.C4)(["flex",{green:p.tuntap.list[p.item.MachineId].running}]),title:"正常使用"},(0,s.v_)(e.IP)+" / "+(0,s.v_)(e.PrefixLength),3))],64)))),128))]),p.showDelay?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[p.tuntap.list[p.item.MachineId].Delay>=0&&p.tuntap.list[p.item.MachineId].Delay<=100?((0,i.uX)(),(0,i.CE)("div",f,(0,s.v_)(p.tuntap.list[p.item.MachineId].Delay)+"ms",1)):(0,i.Q3)("",!0),(0,i.Lk)("template",null,[(0,i.Lk)("div",v,(0,s.v_)(p.tuntap.list[p.item.MachineId].Delay)+"ms",1)])],64)):(0,i.Q3)("",!0)])])}var g=n(5241),I=n(1219),y=n(8104),C=n(7477),L=n(3830),k=n(9983),w=n(4867),E={props:["item","config"],emits:["edit","refresh"],components:{Loading:C.Rhj,ConnectionShow:w.A},setup(e,{emit:t}){const n=(0,y.W)(),s=(0,L.B)(),a=(0,i.EW)((()=>s.value.config.Client.Id)),u=(0,i.EW)((()=>s.value.hasAccess("TuntapChangeSelf"))),c=(0,i.EW)((()=>s.value.hasAccess("TuntapChangeOther"))),o=(0,i.EW)((()=>s.value.hasAccess("TuntapStatusSelf"))),r=(0,i.EW)((()=>s.value.hasAccess("TuntapStatusOther"))),l=(0,k.FG)(),d=(0,i.EW)((()=>2==(2&(s.value.config.Running.Tuntap||{Switch:0}).Switch))),h=t=>{if(!e.config)return;if(a.value===t.MachineId){if(!o.value)return}else if(!r.value)return;const n=t.running?(0,g.PR)(t.MachineId):(0,g.en)(t.MachineId);t.loading=!0,n.then((()=>{I.nk.success("操作成功!")})).catch((e=>{console.log(e),I.nk.error("操作失败!")}))},m=n=>{if(e.config||a.value==n.MachineId){if(a.value===n.MachineId){if(!u.value)return}else if(!c.value)return;n.device=e.item,t("edit",n)}},f=()=>{t("refresh")};return{item:(0,i.EW)((()=>e.item)),tuntap:n,showDelay:d,connections:l,handleTuntap:h,handleTuntapIP:m,handleTuntapRefresh:f}}},T=n(1241);const S=(0,T.A)(E,[["render",p],["__scopeId","data-v-f8059b00"]]);var M=S}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/855.46fe678b.js b/linker.tray.win/web/js/855.46fe678b.js deleted file mode 100644 index 41110bfe..00000000 --- a/linker.tray.win/web/js/855.46fe678b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[855],{9232:function(e,a,l){l.d(a,{W4:function(){return o},q:function(){return n},uQ:function(){return r}});var t=l(4);const n=e=>(0,t.zG)("relay/SetServers",e),o=()=>(0,t.zG)("relay/Subscribe"),r=e=>(0,t.zG)("relay/Connect",e)},743:function(e,a,l){l.d(a,{Ap:function(){return n},Co:function(){return o},DY:function(){return u},Qs:function(){return i},a9:function(){return s},eX:function(){return c},gz:function(){return d},pY:function(){return r}});var t=l(4);const n=()=>(0,t.zG)("sforwardclient/GetSecretKey"),o=e=>(0,t.zG)("sforwardclient/SetSecretKey",e),r=e=>(0,t.zG)("sforwardclient/get",e),s=()=>(0,t.zG)("sforwardclient/refresh"),d=(e="0")=>(0,t.zG)("sforwardclient/getcount",e),u=e=>(0,t.zG)("sforwardclient/remove",e),i=e=>(0,t.zG)("sforwardclient/add",e),c=e=>(0,t.zG)("sforwardclient/TestLocal",e)},83:function(e,a,l){l.d(a,{$M:function(){return s},KW:function(){return r},gM:function(){return o},r7:function(){return n}});var t=l(4);const n=(e="0")=>(0,t.zG)("tunnel/get",e),o=()=>(0,t.zG)("tunnel/refresh"),r=e=>(0,t.zG)("tunnel/SetRouteLevel",e),s=e=>(0,t.zG)("tunnel/SetTransports",e)},8163:function(e,a,l){l.r(a),l.d(a,{default:function(){return ot}});var t=l(6768);const n={class:"home-list-wrap absolute"},o={class:"page t-c"},r={class:"page-wrap"};function s(e,a,l,s,d,u){const i=(0,t.g2)("Sort"),c=(0,t.g2)("Device"),h=(0,t.g2)("Tunnel"),m=(0,t.g2)("Tuntap"),p=(0,t.g2)("Socks5"),w=(0,t.g2)("Forward"),g=(0,t.g2)("Oper"),k=(0,t.g2)("el-table"),f=(0,t.g2)("el-pagination"),v=(0,t.g2)("DeviceEdit"),b=(0,t.g2)("AccessEdit"),F=(0,t.g2)("TunnelEdit"),C=(0,t.g2)("ConnectionsEdit"),L=(0,t.g2)("TuntapEdit"),E=(0,t.g2)("Socks5Edit"),_=(0,t.g2)("TuntapLease"),P=(0,t.g2)("ForwardEdit"),V=(0,t.g2)("SForwardEdit");return(0,t.uX)(),(0,t.CE)("div",n,[(0,t.bF)(i,{onSort:s.handleSortChange},null,8,["onSort"]),(0,t.bF)(k,{data:s.devices.page.List,stripe:"",border:"",style:{width:"100%"},height:`${s.state.height}px`,size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(c,{onEdit:s.handleDeviceEdit,onRefresh:s.handlePageRefresh},null,8,["onEdit","onRefresh"]),(0,t.bF)(h,{onEdit:s.handleTunnelEdit,onRefresh:s.handleTunnelRefresh,onConnections:s.handleTunnelConnections},null,8,["onEdit","onRefresh","onConnections"]),s.tuntap.show?((0,t.uX)(),(0,t.Wv)(m,{key:0,onEdit:s.handleTuntapEdit,onRefresh:s.handleTuntapRefresh},null,8,["onEdit","onRefresh"])):(0,t.Q3)("",!0),s.socks5.show?((0,t.uX)(),(0,t.Wv)(p,{key:1,onEdit:s.handleSocks5Edit,onRefresh:s.handleSocks5Refresh},null,8,["onEdit","onRefresh"])):(0,t.Q3)("",!0),s.forward.show?((0,t.uX)(),(0,t.Wv)(w,{key:2,onEdit:s.handleForwardEdit,onSedit:s.handleSForwardEdit},null,8,["onEdit","onSedit"])):(0,t.Q3)("",!0),(0,t.bF)(g,{onRefresh:s.handlePageRefresh,onAccess:s.handleAccessEdit},null,8,["onRefresh","onAccess"])])),_:1},8,["data","height"]),(0,t.Lk)("div",o,[(0,t.Lk)("div",r,[(0,t.bF)(f,{small:"",background:"",layout:"total,sizes,prev,pager, next",total:s.devices.page.Count,"page-size":s.devices.page.Request.Size,"current-page":s.devices.page.Request.Page,onCurrentChange:s.handlePageChange,onSizeChange:s.handlePageSizeChange,"page-sizes":[10,20,50,100,255]},null,8,["total","page-size","current-page","onCurrentChange","onSizeChange"])])]),s.devices.showDeviceEdit?((0,t.uX)(),(0,t.Wv)(v,{key:0,modelValue:s.devices.showDeviceEdit,"onUpdate:modelValue":a[0]||(a[0]=e=>s.devices.showDeviceEdit=e),onChange:s.handlePageChange,data:s.devices.deviceInfo},null,8,["modelValue","onChange","data"])):(0,t.Q3)("",!0),s.devices.showAccessEdit?((0,t.uX)(),(0,t.Wv)(b,{key:1,modelValue:s.devices.showAccessEdit,"onUpdate:modelValue":a[1]||(a[1]=e=>s.devices.showAccessEdit=e),onChange:s.handlePageChange,data:s.devices.deviceInfo},null,8,["modelValue","onChange","data"])):(0,t.Q3)("",!0),s.tunnel.showEdit?((0,t.uX)(),(0,t.Wv)(F,{key:2,modelValue:s.tunnel.showEdit,"onUpdate:modelValue":a[2]||(a[2]=e=>s.tunnel.showEdit=e),onChange:s.handleTunnelRefresh},null,8,["modelValue","onChange"])):(0,t.Q3)("",!0),s.connections.showEdit?((0,t.uX)(),(0,t.Wv)(C,{key:3,modelValue:s.connections.showEdit,"onUpdate:modelValue":a[3]||(a[3]=e=>s.connections.showEdit=e)},null,8,["modelValue"])):(0,t.Q3)("",!0),s.tuntap.showEdit?((0,t.uX)(),(0,t.Wv)(L,{key:4,modelValue:s.tuntap.showEdit,"onUpdate:modelValue":a[4]||(a[4]=e=>s.tuntap.showEdit=e),onChange:s.handleTuntapRefresh},null,8,["modelValue","onChange"])):(0,t.Q3)("",!0),s.socks5.showEdit?((0,t.uX)(),(0,t.Wv)(E,{key:5,modelValue:s.socks5.showEdit,"onUpdate:modelValue":a[5]||(a[5]=e=>s.socks5.showEdit=e),onChange:s.handleSocks5Refresh},null,8,["modelValue","onChange"])):(0,t.Q3)("",!0),s.tuntap.showLease?((0,t.uX)(),(0,t.Wv)(_,{key:6,modelValue:s.tuntap.showLease,"onUpdate:modelValue":a[6]||(a[6]=e=>s.tuntap.showLease=e),onChange:s.handleTuntapRefresh},null,8,["modelValue","onChange"])):(0,t.Q3)("",!0),s.forward.showEdit?((0,t.uX)(),(0,t.Wv)(P,{key:7,modelValue:s.forward.showEdit,"onUpdate:modelValue":a[7]||(a[7]=e=>s.forward.showEdit=e)},null,8,["modelValue"])):(0,t.Q3)("",!0),s.sforward.showEdit?((0,t.uX)(),(0,t.Wv)(V,{key:8,modelValue:s.sforward.showEdit,"onUpdate:modelValue":a[8]||(a[8]=e=>s.sforward.showEdit=e)},null,8,["modelValue"])):(0,t.Q3)("",!0)])}l(4114);var d=l(3830),u=l(144),i=l(1219);function c(e,a,l,n,o,r){const s=(0,t.g2)("el-table-column"),d=(0,t.g2)("el-checkbox"),u=(0,t.g2)("el-table");return(0,t.uX)(),(0,t.Wv)(u,{border:"",style:{width:"100%"},height:"32px",size:"small",onSortChange:n.handleSortChange,class:"table-sort"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{prop:"MachineId",label:"设备名",width:"110",sortable:"custom"}),(0,t.bF)(s,{prop:"Version",label:"版本",width:"110",sortable:"custom"}),(0,t.bF)(s,{prop:"tunnel",label:"网关",width:"76",sortable:"custom"}),n.tuntap.show?((0,t.uX)(),(0,t.Wv)(s,{key:0,prop:"tuntap",label:"网卡IP",width:"160",sortable:"custom"})):(0,t.Q3)("",!0),n.socks5.show?((0,t.uX)(),(0,t.Wv)(s,{key:1,prop:"socks5",label:"代理转发",width:"160",sortable:"custom"})):(0,t.Q3)("",!0),(0,t.bF)(s,{label:"columns",fixed:"right"},{header:(0,t.k6)((()=>[(0,t.bF)(d,{modelValue:n.tuntap.show,"onUpdate:modelValue":a[0]||(a[0]=e=>n.tuntap.show=e),onChange:n.handleTuntapShow,size:"small",style:{"margin-right":"1rem"}},{default:(0,t.k6)((()=>[(0,t.eW)("网卡")])),_:1},8,["modelValue","onChange"]),(0,t.bF)(d,{modelValue:n.socks5.show,"onUpdate:modelValue":a[1]||(a[1]=e=>n.socks5.show=e),onChange:n.handleSocks5Show,size:"small",style:{"margin-right":"1rem"}},{default:(0,t.k6)((()=>[(0,t.eW)("代理")])),_:1},8,["modelValue","onChange"]),(0,t.bF)(d,{modelValue:n.forward.show,"onUpdate:modelValue":a[2]||(a[2]=e=>n.forward.show=e),onChange:n.handleForwardShow,size:"small",style:{"margin-right":"0rem"}},{default:(0,t.k6)((()=>[(0,t.eW)("转发")])),_:1},8,["modelValue","onChange"])])),_:1})])),_:1},8,["onSortChange"])}var h=l(7716);const m=Symbol(),p=()=>{(0,d.B)();const e=(0,u.KR)({show:!0,timer:0,showEdit:!1,machineId:null,list:{},hashcode:0});(0,t.Gt)(m,e);const a=()=>{(0,h.dS)()},l=()=>{(0,h.V1)(e.value.hashcode.toString()).then((a=>{e.value.hashcode=a.HashCode,a.List&&(e.value.list=a.List),e.value.timer=setTimeout(l,1020)})).catch((()=>{e.value.timer=setTimeout(l,1020)}))},n=a=>{e.value.machineId=a[0],e.value.machineName=a[1],e.value.showEdit=!0},o=()=>{clearTimeout(e.value.timer)};return{forward:e,_getForwardCountInfo:l,handleForwardEdit:n,clearForwardTimeout:o,handleForwardRefresh:a}},w=()=>(0,t.WQ)(m);var g=l(2173);const k=Symbol(),f=()=>{const e=(0,u.KR)({show:!0,timer:0,showEdit:!1,current:null,list:{},hashcode:0});(0,t.Gt)(k,e);const a=()=>{clearTimeout(e.value.timer),(0,g.$y)(e.value.hashcode.toString()).then((l=>{if(e.value.hashcode=l.HashCode,l.List){for(let e in l.List)Object.assign(l.List[e],{running:2==l.List[e].Status,loading:1==l.List[e].Status});e.value.list=l.List}e.value.timer=setTimeout(a,1100)})).catch((l=>{e.value.timer=setTimeout(a,1100)}))},l=a=>{e.value.current=a,e.value.showEdit=!0},n=()=>{(0,g.QP)()},o=()=>{clearTimeout(e.value.timer),e.value.timer=0},r=a=>Object.values(e.value.list).filter((e=>e.Port.toString().indexOf(a)>=0||e.Lans.filter((e=>e.IP.indexOf(a)>=0)).length>0)).map((e=>e.MachineId)),s=a=>{const l=Object.values(e.value.list).sort(((e,a)=>e.Port-a.Port));return l.map((e=>e.MachineId))};return{socks5:e,_getSocks5Info:a,handleSocks5Edit:l,handleSocks5Refresh:n,clearSocks5Timeout:o,getSocks5Machines:r,sortSocks5:s}},v=()=>(0,t.WQ)(k);var b=l(8104),F={emits:["sort"],setup(e,{emit:a}){const l=(0,b.W)();l.value.show="false"!=localStorage.getItem("tuntap.show");const t=v();t.value.show="false"!=localStorage.getItem("socks5.show");const n=w();n.value.show="false"!=localStorage.getItem("forward.show");const o=e=>{a("sort",e)},r=()=>{localStorage.setItem("tuntap.show",l.value.show)},s=()=>{localStorage.setItem("socks5.show",t.value.show)},d=()=>{localStorage.setItem("forward.show",n.value.show)};return{tuntap:l,socks5:t,forward:n,handleSortChange:o,handleTuntapShow:r,handleSocks5Show:s,handleForwardShow:d}}},C=l(1241);const L=(0,C.A)(F,[["render",c],["__scopeId","data-v-4b2df38c"]]);var E=L;const _=e=>((0,t.Qi)("data-v-6638f97d"),e=e(),(0,t.jt)(),e),P={class:"dropdown"},V=_((()=>(0,t.Lk)("span",null,"操作",-1)));function S(e,a,l,n,o,r){const s=(0,t.g2)("ArrowDown"),d=(0,t.g2)("el-icon"),u=(0,t.g2)("SwitchButton"),i=(0,t.g2)("el-dropdown-item"),c=(0,t.g2)("Delete"),h=(0,t.g2)("Flag"),m=(0,t.g2)("el-dropdown-menu"),p=(0,t.g2)("el-dropdown"),w=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(w,{label:"操作",fixed:"right"},{default:(0,t.k6)((e=>[(0,t.bF)(p,{size:"small"},{dropdown:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[e.row.showReboot&&n.hasReboot?((0,t.uX)(),(0,t.Wv)(i,{key:0,onClick:a=>n.handleExit(e.row.MachineId,e.row.MachineName)},{default:(0,t.k6)((()=>[(0,t.bF)(d,null,{default:(0,t.k6)((()=>[(0,t.bF)(u)])),_:1}),(0,t.eW)(" 重启")])),_:2},1032,["onClick"])):(0,t.Q3)("",!0),e.row.showDel&&n.hasRemove?((0,t.uX)(),(0,t.Wv)(i,{key:1,onClick:a=>n.handleDel(e.row.MachineId,e.row.MachineName)},{default:(0,t.k6)((()=>[(0,t.bF)(d,null,{default:(0,t.k6)((()=>[(0,t.bF)(c)])),_:1}),(0,t.eW)(" 删除")])),_:2},1032,["onClick"])):(0,t.Q3)("",!0),n.handleShowAccess(e.row,n.accessList[e.row.MachineId]||0)?((0,t.uX)(),(0,t.Wv)(i,{key:2,onClick:a=>n.handleAccess(e.row)},{default:(0,t.k6)((()=>[(0,t.bF)(d,null,{default:(0,t.k6)((()=>[(0,t.bF)(h)])),_:1}),(0,t.eW)(" 权限")])),_:2},1032,["onClick"])):(0,t.Q3)("",!0)])),_:2},1024)])),default:(0,t.k6)((()=>[(0,t.Lk)("div",P,[V,(0,t.bF)(d,{class:"el-icon--right"},{default:(0,t.k6)((()=>[(0,t.bF)(s)])),_:1})])])),_:2},1024)])),_:1})}var I=l(9299),y=l(920),T=l(7477),R=l(2933),M=l(5962),W={emits:["refresh","access"],components:{Delete:T.epd,SwitchButton:T.L$q,ArrowDown:T.yd$,Flag:T.lNU},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,M.q)(),o=(0,t.EW)((()=>l.value.config.Client.Access)),r=(0,t.EW)((()=>l.value.hasAccess("Access"))),s=(0,t.EW)((()=>n.value.list)),u=(0,t.EW)((()=>l.value.hasAccess("Reboot"))),i=(0,t.EW)((()=>l.value.hasAccess("Remove"))),c=(e,l)=>{R.s.confirm(`确认删除[${l}]?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,I.Se)(e).then((()=>{a("refresh")}))})).catch((()=>{}))},h=(e,l)=>{R.s.confirm(`确认关闭[${l}]?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,y.NS)(e).then((()=>{a("refresh")}))})).catch((()=>{}))},m=(e,a)=>e.showAccess&&r.value&&a>=0&&0==+(~BigInt(o.value)&BigInt(a)).toString(),p=e=>{a("access",e)};return{accessList:s,handleDel:c,handleExit:h,hasReboot:u,hasRemove:i,hasAccess:r,handleShowAccess:m,handleAccess:p}}};const A=(0,C.A)(W,[["render",S],["__scopeId","data-v-6638f97d"]]);var X=A,B=l(4232);const N=e=>((0,t.Qi)("data-v-5db71b03"),e=e(),(0,t.jt)(),e),x={class:"flex"},z=N((()=>(0,t.Lk)("span",{class:"flex-1"},"设备",-1))),U={class:"flex"},D=["onClick"],K=["onClick"],Q=N((()=>(0,t.Lk)("span",null,"😴㊙.㊙.㊙.㊙",-1))),O=[Q],G=N((()=>(0,t.Lk)("span",{class:"flex-1"},null,-1)));function $(e,a,l,n,o,r){const s=(0,t.g2)("el-input"),d=(0,t.g2)("Search"),u=(0,t.g2)("el-icon"),i=(0,t.g2)("el-button"),c=(0,t.g2)("DeviceName"),h=(0,t.g2)("UpdaterBtn"),m=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(m,{prop:"MachineId",label:"设备",width:"220"},{header:(0,t.k6)((()=>[(0,t.Lk)("div",x,[z,(0,t.Lk)("span",null,[(0,t.bF)(s,{size:"small",modelValue:n.name,"onUpdate:modelValue":a[0]||(a[0]=e=>n.name=e),clearable:"",onInput:n.handleRefresh,placeholder:"设备/虚拟网卡/端口转发"},null,8,["modelValue","onInput"])]),(0,t.Lk)("span",null,[(0,t.bF)(i,{size:"small",onClick:n.handleRefresh},{default:(0,t.k6)((()=>[(0,t.bF)(u,null,{default:(0,t.k6)((()=>[(0,t.bF)(d)])),_:1})])),_:1},8,["onClick"])])])])),default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.Lk)("p",null,[(0,t.bF)(c,{onEdit:n.handleEdit,config:!0,item:e.row},null,8,["onEdit","item"])]),(0,t.Lk)("p",U,[e.row.showip?((0,t.uX)(),(0,t.CE)("span",{key:0,title:"此设备的外网IP",class:"ipaddress",onClick:a=>n.handleExternal(e.row)},[(0,t.Lk)("span",null,"😀"+(0,B.v_)(e.row.IP),1)],8,D)):((0,t.uX)(),(0,t.CE)("span",{key:1,title:"此设备的外网IP",class:"ipaddress",onClick:a=>n.handleExternal(e.row)},O,8,K)),G,0==e.row.showip?((0,t.uX)(),(0,t.Wv)(h,{key:2,config:!0,item:e.row},null,8,["item"])):(0,t.Q3)("",!0)])])])),_:1})}var q=l(167),j=l(3347),Y={emits:["edit","refresh"],components:{Search:T.vji,UpdaterBtn:q.A,DeviceName:j.A},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,t.EW)((()=>l.value.hasAccess("ExternalShow"))),o=(0,u.KR)(sessionStorage.getItem("search-name")||""),r=e=>{n.value&&(e.showip=!e.showip)},s=e=>{a("edit",e)},i=()=>{sessionStorage.setItem("search-name",o.value),a("refresh",o.value)};return{handleEdit:s,handleRefresh:i,name:o,handleExternal:r}}};const H=(0,C.A)(Y,[["render",$],["__scopeId","data-v-5db71b03"]]);var J=H;const Z=(0,t.Lk)("div",null,"修改后最好能重启一次客户端",-1),ee={class:"t-c w-100"};function ae(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-button"),i=(0,t.g2)("el-form"),c=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(c,{modelValue:n.state.show,"onUpdate:modelValue":a[2]||(a[2]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.ruleForm.MachineName}]设备`,width:"300"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(i,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"auto"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:""},{default:(0,t.k6)((()=>[Z])),_:1}),(0,t.bF)(s,{label:"设备名",prop:"MachineName"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{maxlength:"12","show-word-limit":"",modelValue:n.state.ruleForm.MachineName,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.MachineName=e)},null,8,["modelValue"])])),_:1}),(0,t.bF)(s,{label:"",prop:"Btns"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",ee,[(0,t.bF)(u,{onClick:a[1]||(a[1]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(u,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var le={props:["data","modelValue"],emits:["change","update:modelValue"],setup(e,{emit:a}){const l=(0,u.KR)(null),n=(0,u.Kh)({show:!0,ruleForm:{MachineName1:e.data.MachineName,MachineName:e.data.MachineName},rules:{}});(0,t.wB)((()=>n.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const o=()=>{e.data.MachineName!=n.ruleForm.MachineName&&(0,I.gC)({Id:e.data.MachineId,newName:n.ruleForm.MachineName}).then((()=>{n.show=!1,i.nk.success("已操作!"),a("change")})).catch((e=>{console.log(e),i.nk.error("操作失败!")}))};return{state:n,ruleFormRef:l,handleSave:o}}};const te=(0,C.A)(le,[["render",ae]]);var ne=te,oe=l(7985);function re(e,a,l,n,o,r){const s=(0,t.g2)("Access"),d=(0,t.g2)("el-button"),u=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(u,{modelValue:n.state.show,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.show=e),"close-on-click-modal":!1,center:"","append-to":".app-wrap",title:`设置[${n.machineName}]的权限`,width:"580",top:"1vh"},{footer:(0,t.k6)((()=>[(0,t.bF)(d,{plain:"",onClick:a[0]||(a[0]=e=>n.state.show=!1),loading:n.state.loading},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1},8,["loading"]),(0,t.bF)(d,{type:"success",plain:"",onClick:n.handleSave,loading:n.state.loading},{default:(0,t.k6)((()=>[(0,t.eW)("确定保存")])),_:1},8,["onClick","loading"])])),default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(s,{machineid:n.machineid,ref:"accessDom"},null,8,["machineid"])])])),_:1},8,["modelValue","title"])}var se=l(3363),de=l(9593),ue={props:["data","modelValue"],emits:["change","update:modelValue"],components:{Access:de.A},setup(e,{emit:a}){const l=(0,u.Kh)({show:!0,loading:!1});(0,t.wB)((()=>l.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const n=(0,u.KR)(null),o=()=>{l.loading=!0,(0,se.ZK)({ToMachineId:e.data.MachineId,Access:n.value.getValue()}).then((()=>{l.loading=!1,l.show=!1,i.nk.success("已操作!"),a("change")})).catch((e=>{console.log(e),l.loading=!1,i.nk.error("操作失败!")}))};return{machineName:e.data.MachineName,machineid:e.data.MachineId,state:l,accessDom:n,handleSave:o}}};const ie=(0,C.A)(ue,[["render",re]]);var ce=ie;const he={key:0};function me(e,a,l,n,o,r){const s=(0,t.g2)("TuntapShow"),d=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(d,{prop:"tuntap",label:"虚拟网卡",width:"160"},{header:(0,t.k6)((()=>[(0,t.Lk)("a",{href:"javascript:;",class:"a-line",onClick:a[0]||(a[0]=(...e)=>n.handleShowLease&&n.handleShowLease(...e))},"虚拟网卡")])),default:(0,t.k6)((e=>[n.tuntap.list[e.row.MachineId]?((0,t.uX)(),(0,t.CE)("div",he,[(0,t.bF)(s,{config:!0,item:e.row,onEdit:n.handleTuntapIP,onRefresh:n.handleTuntapRefresh},null,8,["item","onEdit","onRefresh"])])):(0,t.Q3)("",!0)])),_:1})}var pe=l(2950),we={emits:["edit","refresh"],components:{TuntapShow:pe.A},setup(e,{emit:a}){const l=(0,b.W)(),t=e=>{a("edit",e)},n=()=>{a("refresh")},o=()=>{l.value.showLease=!0};return{tuntap:l,handleTuntapIP:t,handleTuntapRefresh:n,handleShowLease:o}}};const ge=(0,C.A)(we,[["render",me]]);var ke=ge;const fe=e=>((0,t.Qi)("data-v-34275839"),e=e(),(0,t.jt)(),e),ve=fe((()=>(0,t.Lk)("span",null,"/",-1))),be=fe((()=>(0,t.Lk)("span",{style:{width:"2rem"}},null,-1))),Fe={key:0,class:"upgrade-wrap"},Ce={class:"w-100 t-c"};function Le(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-checkbox"),i=(0,t.g2)("TuntapLan"),c=(0,t.g2)("TuntapForward"),h=(0,t.g2)("el-button"),m=(0,t.g2)("el-form"),p=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(p,{modelValue:n.state.show,"onUpdate:modelValue":a[7]||(a[7]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.machineName}]组网`,top:"1vh",width:"760"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(m,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"8rem"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{prop:"gateway",class:"m-b-0"},{default:(0,t.k6)((()=>[(0,t.eW)("赐予此设备IP,其它设备可通过此IP访问")])),_:1}),(0,t.bF)(s,{label:"虚拟网卡IP",prop:"IP"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{modelValue:n.state.ruleForm.IP,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.IP=e),style:{width:"14rem"}},null,8,["modelValue"]),ve,(0,t.bF)(d,{onChange:n.handlePrefixLengthChange,modelValue:n.state.ruleForm.PrefixLength,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.ruleForm.PrefixLength=e),style:{width:"4rem"}},null,8,["onChange","modelValue"]),be,(0,t.bF)(u,{modelValue:n.state.ruleForm.ShowDelay,"onUpdate:modelValue":a[2]||(a[2]=e=>n.state.ruleForm.ShowDelay=e),label:"显示延迟",size:"large",style:{"margin-right":"1rem"}},null,8,["modelValue"]),(0,t.bF)(u,{modelValue:n.state.ruleForm.AutoConnect,"onUpdate:modelValue":a[3]||(a[3]=e=>n.state.ruleForm.AutoConnect=e),label:"自动连接",size:"large",style:{"margin-right":"1rem"}},null,8,["modelValue"]),(0,t.bF)(u,{modelValue:n.state.ruleForm.Multicast,"onUpdate:modelValue":a[4]||(a[4]=e=>n.state.ruleForm.Multicast=e),label:"禁用UDP广播",size:"large"},null,8,["modelValue"])])),_:1}),(0,t.bF)(s,{prop:"upgrade",class:"m-b-0"},{default:(0,t.k6)((()=>[(0,t.bF)(u,{modelValue:n.state.ruleForm.Upgrade,"onUpdate:modelValue":a[5]||(a[5]=e=>n.state.ruleForm.Upgrade=e),label:"我很懂,我要使用高级功能(点对网和网对网)",size:"large"},null,8,["modelValue"])])),_:1}),n.state.ruleForm.Upgrade?((0,t.uX)(),(0,t.CE)("div",Fe,[(0,t.bF)(s,{label:"局域网IP",prop:"LanIP",class:"m-b-0",style:{"border-bottom":"1px solid #ddd"}},{default:(0,t.k6)((()=>[(0,t.bF)(i,{ref:"lanDom"},null,512)])),_:1}),(0,t.bF)(s,{label:"端口转发",prop:"forwards"},{default:(0,t.k6)((()=>[(0,t.bF)(c,{ref:"forwardDom"},null,512)])),_:1})])):(0,t.Q3)("",!0),(0,t.bF)(s,{label:"",prop:"Btns","label-width":"0"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",Ce,[(0,t.bF)(h,{onClick:a[6]||(a[6]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(h,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var Ee=l(5241);const _e=e=>((0,t.Qi)("data-v-786fe646"),e=e(),(0,t.jt)(),e),Pe={class:"w-100"},Ve=_e((()=>(0,t.Lk)("span",{class:"yellow"},"此设备无法使用NAT转发,或只想使用端口转发",-1))),Se={key:0,class:"green"},Ie={class:"wrap"},ye=["title"],Te={key:1},Re=["title"],Me={key:1},We=["title"],Ae={key:1},Xe={key:1,class:"remark"};function Be(e,a,l,n,o,r){const s=(0,t.g2)("el-input"),d=(0,t.g2)("el-table-column"),u=(0,t.g2)("Delete"),i=(0,t.g2)("el-icon"),c=(0,t.g2)("el-button"),h=(0,t.g2)("el-popconfirm"),m=(0,t.g2)("Plus"),p=(0,t.g2)("el-table");return(0,t.uX)(),(0,t.CE)("div",Pe,[(0,t.Lk)("div",null,[Ve,n.state.testing?((0,t.uX)(),(0,t.CE)("span",Se,"、testing")):(0,t.Q3)("",!0)]),(0,t.Lk)("div",Ie,[(0,t.bF)(p,{stripe:"",data:n.state.forwards,border:"",size:"small",width:"100%",height:"300px",onCellDblclick:n.handleCellClick},{default:(0,t.k6)((()=>[(0,t.bF)(d,{prop:"ListenPort",label:"源端口",width:"60"},{default:(0,t.k6)((e=>[e.row.ListenPortEditing?((0,t.uX)(),(0,t.Wv)(s,{key:0,autofocus:"",size:"small",modelValue:e.row.ListenPort,"onUpdate:modelValue":a=>e.row.ListenPort=a,onBlur:a=>n.handleEditBlur(e.row,"ListenPort")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.Error?((0,t.uX)(),(0,t.CE)("strong",{key:0,title:e.row.Error,class:"red"},(0,B.v_)(e.row.ListenPort),9,ye)):((0,t.uX)(),(0,t.CE)("span",Te,(0,B.v_)(e.row.ListenPort),1))],64))])),_:1}),(0,t.bF)(d,{prop:"ConnectAddr",label:"目标IP",width:"120"},{default:(0,t.k6)((e=>[e.row.ConnectAddrEditing?((0,t.uX)(),(0,t.Wv)(s,{key:0,autofocus:"",size:"small",modelValue:e.row.ConnectAddr,"onUpdate:modelValue":a=>e.row.ConnectAddr=a,onBlur:a=>n.handleEditBlur(e.row,"ConnectAddr")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.Error?((0,t.uX)(),(0,t.CE)("strong",{key:0,title:e.row.Error,class:"red"},(0,B.v_)(e.row.ConnectAddr),9,Re)):((0,t.uX)(),(0,t.CE)("span",Me,(0,B.v_)(e.row.ConnectAddr),1))],64))])),_:1}),(0,t.bF)(d,{prop:"ConnectPort",label:"目标端口",width:"80"},{default:(0,t.k6)((e=>[e.row.ConnectPortEditing?((0,t.uX)(),(0,t.Wv)(s,{key:0,autofocus:"",size:"small",modelValue:e.row.ConnectPort,"onUpdate:modelValue":a=>e.row.ConnectPort=a,onBlur:a=>n.handleEditBlur(e.row,"ConnectPort")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.Error?((0,t.uX)(),(0,t.CE)("strong",{key:0,title:e.row.Error,class:"red"},(0,B.v_)(e.row.ConnectPort),9,We)):((0,t.uX)(),(0,t.CE)("span",Ae,(0,B.v_)(e.row.ConnectPort),1))],64))])),_:1}),(0,t.bF)(d,{prop:"Remark",label:"备注"},{default:(0,t.k6)((e=>[e.row.RemarkEditing?((0,t.uX)(),(0,t.Wv)(s,{key:0,autofocus:"",size:"small",modelValue:e.row.Remark,"onUpdate:modelValue":a=>e.row.Remark=a,onBlur:a=>n.handleEditBlur(e.row,"Remark")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)("div",Xe,(0,B.v_)(e.row.Remark),1))])),_:1}),(0,t.bF)(d,{prop:"Oper",label:"操作",width:"110"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.bF)(h,{title:"删除不可逆,是否确认?",onConfirm:a=>n.handleDel(e.$index)},{reference:(0,t.k6)((()=>[(0,t.bF)(c,{type:"danger",size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(i,null,{default:(0,t.k6)((()=>[(0,t.bF)(u)])),_:1})])),_:1})])),_:2},1032,["onConfirm"]),(0,t.bF)(c,{type:"primary",size:"small",onClick:a=>n.handleAdd(e.$index)},{default:(0,t.k6)((()=>[(0,t.bF)(i,null,{default:(0,t.k6)((()=>[(0,t.bF)(m)])),_:1})])),_:2},1032,["onClick"])])])),_:1})])),_:1},8,["data","onCellDblclick"])])])}var Ne={props:["modelValue"],emits:["update:modelValue"],components:{Delete:T.epd,Plus:T.FWt,Warning:T.N5l,Refresh:T.C42},setup(e){const a=(0,b.W)(),l=(0,u.Kh)({machineName:a.value.current.device.MachineName,forwards:0==a.value.current.Forwards.length?[{ListenAddr:"0.0.0.0",ListenPort:0,ConnectAddr:"0.0.0.0",ConnectPort:0,Remark:""}]:a.value.current.Forwards.slice(0),timer:0,testing:!1}),n=(e,a)=>{o(e,a.property)},o=(e,a)=>{l.forwards.forEach((e=>{e["ListenAddrEditing"]=!1,e["ListenPortEditing"]=!1,e["ConnectAddrEditing"]=!1,e["ConnectPortEditing"]=!1,e["RemarkEditing"]=!1})),e[`${a}Editing`]=!0,e["__editing"]=!0},r=(e,a)=>{e[`${a}Editing`]=!1,e["__editing"]=!1},s=e=>{1==l.forwards.length?l.forwards[0]={ListenAddr:"0.0.0.0",ListenPort:0,ConnectAddr:"0.0.0.0",ConnectPort:0,Remark:""}:l.forwards.splice(e,1)},d=e=>{l.forwards.filter((e=>"0.0.0.0"==e.ConnectAddr||0==e.ConnectPort||0==e.ListenPort)).length>0||l.forwards.splice(e+1,0,{ListenAddr:"0.0.0.0",ListenPort:0,ConnectAddr:"0.0.0.0",ConnectPort:0,Remark:""})},i=()=>{clearTimeout(l.timer),l.testing=!0,(0,Ee._)({MachineId:a.value.current.MachineId,List:l.forwards.map((e=>({ListenAddr:e.ListenAddr,ListenPort:+e.ListenPort,ConnectAddr:e.ConnectAddr,ConnectPort:+e.ConnectPort})))}).then((e=>{var a=e.List;for(let t=0;t${e.ConnectAddr}:${e.ConnectPort}`,o=l.forwards.filter((e=>`${e.ListenPort}->${e.ConnectAddr}:${e.ConnectPort}`==n));for(let a=0;a{l.testing=!1,l.timer=setTimeout(i,3e3)}))};(0,t.sV)((()=>{i()})),(0,t.hi)((()=>{clearTimeout(l.timer)}));const c=()=>l.forwards.map((e=>(e.ListenPort=+e.ListenPort,e.ConnectPort=+e.ConnectPort,e)));return{state:l,handleCellClick:n,handleEditBlur:r,handleDel:s,handleAdd:d,getData:c}}};const xe=(0,C.A)(Ne,[["render",Be],["__scopeId","data-v-786fe646"]]);var ze=xe;const Ue=e=>((0,t.Qi)("data-v-4abaaeaf"),e=e(),(0,t.jt)(),e),De={class:"w-100"},Ke=Ue((()=>(0,t.Lk)("div",null,[(0,t.Lk)("span",{class:"yellow"},"填写局域网IP,使用NAT转发")],-1))),Qe={class:"wrap"},Oe=Ue((()=>(0,t.Lk)("span",null,"/",-1))),Ge={class:"pdl-10"},$e={class:"pdl-10"};function qe(e,a,l,n,o,r){const s=(0,t.g2)("el-input"),d=(0,t.g2)("el-checkbox"),u=(0,t.g2)("Delete"),i=(0,t.g2)("el-icon"),c=(0,t.g2)("el-button"),h=(0,t.g2)("Plus");return(0,t.uX)(),(0,t.CE)("div",De,[Ke,(0,t.Lk)("div",Qe,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.lans,((e,a)=>((0,t.uX)(),(0,t.CE)("div",{key:a,class:"flex",style:{"margin-bottom":".6rem"}},[(0,t.Lk)("div",null,[(0,t.bF)(s,{modelValue:e.IP,"onUpdate:modelValue":a=>e.IP=a,style:{width:"14rem"}},null,8,["modelValue","onUpdate:modelValue"]),Oe,(0,t.bF)(s,{onChange:e=>n.handleMaskChange(a),modelValue:e.PrefixLength,"onUpdate:modelValue":a=>e.PrefixLength=a,style:{width:"4rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"])]),(0,t.Lk)("div",Ge,[(0,t.bF)(d,{modelValue:e.Disabled,"onUpdate:modelValue":a=>e.Disabled=a,label:"禁用记录",style:{"vertical-align":"middle"}},null,8,["modelValue","onUpdate:modelValue"])]),(0,t.Lk)("div",$e,[(0,t.bF)(c,{type:"danger",onClick:e=>n.handleDel(a),size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(i,null,{default:(0,t.k6)((()=>[(0,t.bF)(u)])),_:1})])),_:2},1032,["onClick"]),(0,t.bF)(c,{type:"primary",onClick:e=>n.handleAdd(a),size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(i,null,{default:(0,t.k6)((()=>[(0,t.bF)(h)])),_:1})])),_:2},1032,["onClick"])])])))),128))])])}var je={props:["modelValue"],emits:["update:modelValue"],components:{Delete:T.epd,Plus:T.FWt,Warning:T.N5l,Refresh:T.C42},setup(e){const a=(0,b.W)(),l=(0,u.Kh)({lans:a.value.current.Lans.slice(0)});0==l.lans.length&&l.lans.push({IP:"0.0.0.0",PrefixLength:24});const t=e=>{var a=+l.lans[e].PrefixLength;(a>32||a<16||isNaN(a))&&(a=24),l.lans[e].PrefixLength=a},n=e=>{l.lans.splice(e,1),0==l.lans.length&&o(0)},o=e=>{l.lans.splice(e+1,0,{IP:"0.0.0.0",PrefixLength:24})},r=()=>l.lans.map((e=>(e.PrefixLength=+e.PrefixLength,e)));return{state:l,handleMaskChange:t,handleDel:n,handleAdd:o,getData:r}}};const Ye=(0,C.A)(je,[["render",qe],["__scopeId","data-v-4abaaeaf"]]);var He=Ye,Je={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:T.epd,Plus:T.FWt,Warning:T.N5l,Refresh:T.C42,TuntapForward:ze,TuntapLan:He},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,b.W)(),o=(0,u.KR)(null),r=(0,u.Kh)({show:!0,machineName:n.value.current.device.MachineName,bufferSize:l.value.bufferSize,ruleForm:{IP:n.value.current.IP,PrefixLength:n.value.current.PrefixLength||24,Gateway:n.value.current.Gateway,ShowDelay:n.value.current.ShowDelay,AutoConnect:n.value.current.AutoConnect,Upgrade:n.value.current.Upgrade,Multicast:n.value.current.Multicast,Forwards:n.value.current.Forwards},rules:{}});(0,t.wB)((()=>r.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const s=()=>{var e=+r.ruleForm.PrefixLength;(e>32||e<16||isNaN(e))&&(e=24),r.ruleForm.PrefixLength=e},c=(0,u.KR)(null),h=(0,u.KR)(null),m=()=>{const e=JSON.parse(JSON.stringify(n.value.current));e.IP=r.ruleForm.IP.replace(/\s/g,"")||"0.0.0.0",e.Lans=c.value?c.value.getData():n.value.current.Lans,e.PrefixLength=+r.ruleForm.PrefixLength,e.Gateway=r.ruleForm.Gateway,e.ShowDelay=r.ruleForm.ShowDelay,e.AutoConnect=r.ruleForm.AutoConnect,e.Upgrade=r.ruleForm.Upgrade,e.Multicast=r.ruleForm.Multicast,e.Forwards=h.value?h.value.getData():n.value.current.Forwards,(0,Ee.ac)(e).then((()=>{r.show=!1,i.nk.success("已操作!"),a("change")})).catch((e=>{console.log(e),i.nk.error("操作失败!")}))};return{state:r,ruleFormRef:o,handlePrefixLengthChange:s,handleSave:m,lanDom:c,forwardDom:h}}};const Ze=(0,C.A)(Je,[["render",Le],["__scopeId","data-v-34275839"]]);var ea=Ze;const aa=e=>((0,t.Qi)("data-v-4a28804a"),e=e(),(0,t.jt)(),e),la=aa((()=>(0,t.Lk)("p",null,"网络租期30天、IP租期7天",-1))),ta=aa((()=>(0,t.Lk)("span",null,"/",-1))),na=aa((()=>(0,t.Lk)("span",{style:{width:"1rem"}},null,-1))),oa={class:"calc"},ra=aa((()=>(0,t.Lk)("span",{class:"label"},"网络号",-1))),sa={class:"value"},da=aa((()=>(0,t.Lk)("span",{class:"label"},"网关",-1))),ua={class:"value"},ia=aa((()=>(0,t.Lk)("span",{class:"label"},"开始IP",-1))),ca={class:"value"},ha=aa((()=>(0,t.Lk)("span",{class:"label"},"结束IP",-1))),ma={class:"value"},pa=aa((()=>(0,t.Lk)("span",{class:"label"},"广播号",-1))),wa={class:"value"},ga=aa((()=>(0,t.Lk)("span",{class:"label"},"IP数量",-1))),ka={class:"value"};function fa(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-button"),i=(0,t.g2)("el-form"),c=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(c,{modelValue:n.state.show,"onUpdate:modelValue":a[3]||(a[3]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:"配置本组的网络",top:"1vh",width:"400"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(i,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"100"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{prop:"gateway"},{default:(0,t.k6)((()=>[la])),_:1}),(0,t.bF)(s,{label:"网络和掩码",prop:"IP"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{modelValue:n.state.ruleForm.IP,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.IP=e),style:{width:"14rem"},onChange:n.handlePrefixLengthChange},null,8,["modelValue","onChange"]),ta,(0,t.bF)(d,{onChange:n.handlePrefixLengthChange,modelValue:n.state.ruleForm.PrefixLength,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.ruleForm.PrefixLength=e),style:{width:"4rem"}},null,8,["onChange","modelValue"]),na,(0,t.bF)(u,{onClick:n.handleClear},{default:(0,t.k6)((()=>[(0,t.eW)("清除")])),_:1},8,["onClick"])])),_:1}),(0,t.bF)(s,{label:"",prop:"IP1"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",oa,[(0,t.Lk)("p",null,[ra,(0,t.Lk)("span",sa,(0,B.v_)(n.state.values.Network),1)]),(0,t.Lk)("p",null,[da,(0,t.Lk)("span",ua,(0,B.v_)(n.state.values.Gateway),1)]),(0,t.Lk)("p",null,[ia,(0,t.Lk)("span",ca,(0,B.v_)(n.state.values.Start),1)]),(0,t.Lk)("p",null,[ha,(0,t.Lk)("span",ma,(0,B.v_)(n.state.values.End),1)]),(0,t.Lk)("p",null,[pa,(0,t.Lk)("span",wa,(0,B.v_)(n.state.values.Broadcast),1)]),(0,t.Lk)("p",null,[ga,(0,t.Lk)("span",ka,(0,B.v_)(n.state.values.Count),1)])])])),_:1}),n.hasLease?((0,t.uX)(),(0,t.Wv)(s,{key:0,label:"",prop:"Btns"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(u,{onClick:a[2]||(a[2]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(u,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})):(0,t.Q3)("",!0)])),_:1},8,["model","rules"])])])),_:1},8,["modelValue"])}var va={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:T.epd,Plus:T.FWt},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,t.EW)((()=>l.value.hasAccess("Lease"))),o=(0,u.KR)(null),r=(0,u.Kh)({show:!0,ruleForm:{IP:"0.0.0.0",PrefixLength:24},rules:{},values:{}});(0,t.wB)((()=>r.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const s=()=>{(0,Ee.w0)(r.ruleForm).then((e=>{r.values=e}))},c=()=>{(0,Ee.Nj)().then((e=>{r.ruleForm.IP=e.IP,r.ruleForm.PrefixLength=e.PrefixLength,s()}))},h=()=>{var e=+r.ruleForm.PrefixLength;(e>32||e<16||isNaN(e))&&(e=24),r.ruleForm.PrefixLength=e,s()},m=()=>{(0,Ee.AE)(r.ruleForm).then((()=>{i.nk.success("已操作"),r.show=!1})).catch((e=>{console.log(e),i.nk.error("操作失败")}))},p=()=>{(0,Ee.AE)({IP:"0.0.0.0",PrefixLength:24}).then((()=>{i.nk.success("已操作"),c()})).catch((e=>{console.log(e),i.nk.error("操作失败")}))};return(0,t.sV)((()=>{c()})),{state:r,hasLease:n,ruleFormRef:o,handleSave:m,handlePrefixLengthChange:h,handleClear:p}}};const ba=(0,C.A)(va,[["render",fa],["__scopeId","data-v-4a28804a"]]);var Fa=ba;const Ca={key:0};function La(e,a,l,n,o,r){const s=(0,t.g2)("Socks5Show"),d=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(d,{prop:"socks5",label:"代理转发",width:"160"},{default:(0,t.k6)((e=>[n.socks5.list[e.row.MachineId]?((0,t.uX)(),(0,t.CE)("div",Ca,[(0,t.bF)(s,{config:!0,item:e.row,onEdit:n.handleSocks5,onRefresh:n.handleSocks5Refresh},null,8,["item","onEdit","onRefresh"])])):(0,t.Q3)("",!0)])),_:1})}const Ea={class:"flex"},_a={class:"flex-1"},Pa=["title"],Va={key:0,class:"green gateway"},Sa={key:1},Ia={key:0},ya={key:0,class:"flex yellow",title:"已禁用"},Ta={key:1,class:"flex red",title:"与其它设备填写IP、或本机局域网IP有冲突"};function Ra(e,a,l,n,o,r){const s=(0,t.g2)("ConnectionShow"),d=(0,t.g2)("Loading"),u=(0,t.g2)("el-icon"),i=(0,t.g2)("el-switch");return(0,t.uX)(),(0,t.CE)("div",null,[(0,t.Lk)("div",Ea,[(0,t.Lk)("div",_a,[(0,t.bF)(s,{data:n.connections.list[n.item.MachineId]},null,8,["data"]),(0,t.Lk)("a",{href:"javascript:;",class:"a-line",onClick:a[0]||(a[0]=e=>n.handleSocks5Port(n.socks5.list[n.item.MachineId])),title:"此设备的socks5代理"},[n.socks5.list[n.item.MachineId].SetupError?((0,t.uX)(),(0,t.CE)("strong",{key:0,class:"red",title:n.socks5.list[n.item.MachineId].SetupError}," socks5://*:"+(0,B.v_)(n.socks5.list[n.item.MachineId].Port),9,Pa)):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[n.socks5.list[n.item.MachineId].running?((0,t.uX)(),(0,t.CE)("strong",Va,"socks5://*:"+(0,B.v_)(n.socks5.list[n.item.MachineId].Port),1)):((0,t.uX)(),(0,t.CE)("span",Sa,"socks5://*:"+(0,B.v_)(n.socks5.list[n.item.MachineId].Port),1))],64))])]),n.socks5.list[n.item.MachineId].loading?((0,t.uX)(),(0,t.CE)("div",Ia,[(0,t.bF)(u,{size:"14",class:"loading"},{default:(0,t.k6)((()=>[(0,t.bF)(d)])),_:1})])):((0,t.uX)(),(0,t.Wv)(i,{key:1,modelValue:n.socks5.list[n.item.MachineId].running,"onUpdate:modelValue":a[1]||(a[1]=e=>n.socks5.list[n.item.MachineId].running=e),loading:n.socks5.list[n.item.MachineId].loading,disabled:"",onClick:a[2]||(a[2]=e=>n.handleSocks5(n.socks5.list[n.item.MachineId])),size:"small","inline-prompt":"","active-text":"😀","inactive-text":"😣"},null,8,["modelValue","loading"]))]),(0,t.Lk)("div",null,[(0,t.Lk)("div",null,[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.socks5.list[n.item.MachineId].Lans,((e,a)=>((0,t.uX)(),(0,t.CE)(t.FK,{key:a},[e.Disabled?((0,t.uX)(),(0,t.CE)("div",ya,(0,B.v_)(e.IP)+" / "+(0,B.v_)(e.PrefixLength),1)):e.Exists?((0,t.uX)(),(0,t.CE)("div",Ta,(0,B.v_)(e.IP)+" / "+(0,B.v_)(e.PrefixLength),1)):((0,t.uX)(),(0,t.CE)("div",{key:2,class:(0,B.C4)(["flex",{green:n.socks5.list[n.item.MachineId].running}]),title:"正常使用"},(0,B.v_)(e.IP)+" / "+(0,B.v_)(e.PrefixLength),3))],64)))),128))])])])}var Ma=l(9983),Wa=l(4867),Aa={props:["item","config"],emits:["edit","refresh"],components:{Loading:T.Rhj,ConnectionShow:Wa.A},setup(e,{emit:a}){const l=v(),n=(0,d.B)(),o=(0,t.EW)((()=>n.value.config.Client.Id)),r=(0,t.EW)((()=>n.value.hasAccess("Socks5ChangeSelf"))),s=(0,t.EW)((()=>n.value.hasAccess("Socks5ChangeOther"))),u=(0,t.EW)((()=>n.value.hasAccess("Socks5StatusSelf"))),c=(0,t.EW)((()=>n.value.hasAccess("Socks5StatusOther"))),h=(0,Ma.bB)(),m=a=>{if(!e.config)return;if(o.value===a.MachineId){if(!u.value)return}else if(!c.value)return;const l=a.running?(0,g.R2)(a.MachineId):(0,g.qH)(a.MachineId);a.loading=!0,l.then((()=>{i.nk.success("操作成功!")})).catch((e=>{console.log(e),i.nk.error("操作失败!")}))},p=l=>{if(e.config||o.value==l.MachineId){if(o.value===l.MachineId){if(!r.value)return}else if(!s.value)return;l.device=e.item,a("edit",l)}},w=()=>{a("refresh")};return{item:(0,t.EW)((()=>e.item)),socks5:l,connections:h,handleSocks5:m,handleSocks5Port:p,handleSocks5Refresh:w}}};const Xa=(0,C.A)(Aa,[["render",Ra],["__scopeId","data-v-d37c5992"]]);var Ba=Xa,Na={emits:["edit","refresh"],components:{Socks5Show:Ba},setup(e,{emit:a}){const l=v(),t=e=>{a("edit",e)},n=()=>{a("refresh")};return{socks5:l,handleSocks5:t,handleSocks5Refresh:n}}};const xa=(0,C.A)(Na,[["render",La]]);var za=xa;const Ua=e=>((0,t.Qi)("data-v-022e3781"),e=e(),(0,t.jt)(),e),Da={class:"upgrade-wrap"},Ka={class:"flex-1"},Qa=Ua((()=>(0,t.Lk)("span",null,"/",-1))),Oa={class:"pdl-10"},Ga={class:"pdl-10"};function $a(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-checkbox"),i=(0,t.g2)("Delete"),c=(0,t.g2)("el-icon"),h=(0,t.g2)("el-button"),m=(0,t.g2)("Plus"),p=(0,t.g2)("el-form"),w=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(w,{modelValue:n.state.show,"onUpdate:modelValue":a[2]||(a[2]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.machineName}]代理`,top:"1vh",width:"600"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(p,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"140"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{prop:"gateway",style:{"margin-bottom":"0"}},{default:(0,t.k6)((()=>[(0,t.eW)(" 配置代理,通过代理访问其它设备 ")])),_:1}),(0,t.bF)(s,{label:"代理端口",prop:"Port"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{modelValue:n.state.ruleForm.Port,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.Port=e),style:{width:"14rem"}},null,8,["modelValue"])])),_:1}),(0,t.Lk)("div",Da,[(0,t.bF)(s,{label:"此设备局域网IP",prop:"LanIP",class:"lan-item"},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.ruleForm.Lans,((e,a)=>((0,t.uX)(),(0,t.CE)("div",{key:a,class:"flex",style:{"margin-bottom":".6rem"}},[(0,t.Lk)("div",Ka,[(0,t.bF)(d,{modelValue:e.IP,"onUpdate:modelValue":a=>e.IP=a,style:{width:"14rem"}},null,8,["modelValue","onUpdate:modelValue"]),Qa,(0,t.bF)(d,{onChange:e=>n.handleMaskChange(a),modelValue:e.PrefixLength,"onUpdate:modelValue":a=>e.PrefixLength=a,style:{width:"4rem"}},null,8,["onChange","modelValue","onUpdate:modelValue"])]),(0,t.Lk)("div",Oa,[(0,t.bF)(u,{modelValue:e.Disabled,"onUpdate:modelValue":a=>e.Disabled=a,label:"禁用记录",size:"large"},null,8,["modelValue","onUpdate:modelValue"])]),(0,t.Lk)("div",Ga,[(0,t.bF)(h,{type:"danger",onClick:e=>n.handleDel(a)},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(i)])),_:1})])),_:2},1032,["onClick"]),(0,t.bF)(h,{type:"primary",onClick:e=>n.handleAdd(a)},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(m)])),_:1})])),_:2},1032,["onClick"])])])))),128))])),_:1})]),(0,t.bF)(s,{label:"",prop:"Btns"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(h,{onClick:a[1]||(a[1]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(h,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var qa={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:T.epd,Plus:T.FWt},setup(e,{emit:a}){const l=(0,d.B)(),n=v(),o=(0,u.KR)(null),r=(0,u.Kh)({show:!0,machineName:n.value.current.device.MachineName,bufferSize:l.value.bufferSize,ruleForm:{Port:n.value.current.Port,Lans:n.value.current.Lans.slice(0)},rules:{}});0==r.ruleForm.Lans.length&&r.ruleForm.Lans.push({IP:"0.0.0.0",PrefixLength:24}),(0,t.wB)((()=>r.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const s=e=>{var a=+r.ruleForm.Lans[e].PrefixLength;(a>32||a<16||isNaN(a))&&(a=24),r.ruleForm.Lans[e].PrefixLength=a},c=e=>{r.ruleForm.Lans.splice(e,1),0==r.ruleForm.Lans.length&&h(0)},h=e=>{r.ruleForm.Lans.splice(e+1,0,{IP:"0.0.0.0",PrefixLength:24})},m=()=>{const e=JSON.parse(JSON.stringify(n.value.current));e.Port=+(r.ruleForm.Port||"1805"),e.Lans=r.ruleForm.Lans.map((e=>(e.PrefixLength=+e.PrefixLength,e))),(0,g._Q)(e).then((()=>{r.show=!1,i.nk.success("已操作!"),a("change")})).catch((e=>{console.log(e),i.nk.error("操作失败!")}))};return{state:r,ruleFormRef:o,handleMaskChange:s,handleDel:c,handleAdd:h,handleSave:m}}};const ja=(0,C.A)(qa,[["render",$a],["__scopeId","data-v-022e3781"]]);var Ya=ja;const Ha={key:0},Ja=["title","onClick"],Za=["onClick"];function el(e,a,l,n,o,r){const s=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(s,{prop:"tunnel",label:"隧道",width:"76"},{default:(0,t.k6)((e=>[n.tunnel.list[e.row.MachineId]?((0,t.uX)(),(0,t.CE)("div",Ha,[(0,t.Lk)("a",{href:"javascript:;",class:(0,B.C4)(["a-line",{yellow:n.tunnel.list[e.row.MachineId].NeedReboot}]),title:n.tunnel.list[e.row.MachineId].NeedReboot?"需要重启":"调整网关层级有助于打洞成功",onClick:a=>n.handleTunnel(n.tunnel.list[e.row.MachineId],e.row)},[(0,t.Lk)("span",null,"网关:"+(0,B.v_)(n.tunnel.list[e.row.MachineId].RouteLevel)+"+"+(0,B.v_)(n.tunnel.list[e.row.MachineId].RouteLevelPlus),1)],10,Ja)])):(0,t.Q3)("",!0),(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",title:"与此设备的隧道连接",class:(0,B.C4)(["a-line",{green:n.connectionCount(e.row.MachineId)>0}]),onClick:a=>n.handleConnections(e.row)},[(0,t.Lk)("span",{class:(0,B.C4)({gateway:n.connectionCount(e.row.MachineId)>0})},[(0,t.eW)("连接:"),(0,t.Lk)("span",null,(0,B.v_)(n.connectionCount(e.row.MachineId)),1)],2)],10,Za)])])),_:1})}var al=l(83);const ll=Symbol(),tl=()=>{(0,d.B)();const e=(0,u.KR)({timer:0,showEdit:!1,current:null,list:{},hashcode:0});(0,t.Gt)(ll,e);const a=()=>{(0,al.r7)(e.value.hashcode.toString()).then((l=>{e.value.hashcode=l.HashCode,l.List&&(e.value.list=l.List),e.value.timer=setTimeout(a,1060)})).catch((()=>{e.value.timer=setTimeout(a,1060)}))},l=a=>{e.value.current=a,e.value.showEdit=!0},n=()=>{(0,al.gM)()},o=()=>{clearTimeout(e.value.timer)},r=a=>Object.values(e.value.list).sort(((e,a)=>e.RouteLevel+e.RouteLevelPlus-a.RouteLevel+a.RouteLevelPlus)).map((e=>e.MachineId));return{tunnel:e,_getTunnelInfo:a,handleTunnelEdit:l,handleTunnelRefresh:n,clearTunnelTimeout:o,sortTunnel:r}},nl=()=>(0,t.WQ)(ll);var ol={emits:["edit","refresh"],setup(e,{emit:a}){const l=(0,d.B)(),n=(0,t.EW)((()=>l.value.config.Client.Id)),o=(0,t.EW)((()=>l.value.hasAccess("TunnelChangeSelf"))),r=(0,t.EW)((()=>l.value.hasAccess("TunnelChangeOther"))),s=nl(),u=((0,Ma.ZY)(),(0,Ma.mx)()),i=(0,Ma.FG)(),c=(0,Ma.bB)(),h=e=>{const a=[u.value.list[e],i.value.list[e],c.value.list[e]].filter((e=>!!e&&e.Connected)).length;return a},m=(e,l)=>{if(n.value===e.MachineId){if(!o.value)return}else if(!r.value)return;e.device=l,a("edit",e)},p=()=>{a("refresh")},w=e=>{a("connections",e)};return{tunnel:s,handleTunnel:m,handleTunnelRefresh:p,connectionCount:h,handleConnections:w}}};const rl=(0,C.A)(ol,[["render",el],["__scopeId","data-v-49e16cac"]]);var sl=rl;const dl=e=>((0,t.Qi)("data-v-6ea047f9"),e=e(),(0,t.jt)(),e),ul=dl((()=>(0,t.Lk)("div",null,"网关层级为你的设备与外网的距离,你可以手动调整数值",-1))),il=dl((()=>(0,t.Lk)("div",null,"光猫映射了端口后,可以直接连接,把TcpPortMap调到第一",-1))),cl={class:"t-c w-100"};function hl(e,a,l,n,o,r){const s=(0,t.g2)("el-form-item"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-col"),i=(0,t.g2)("el-input-number"),c=(0,t.g2)("el-row"),h=(0,t.g2)("el-button"),m=(0,t.g2)("el-form"),p=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(p,{modelValue:n.state.show,"onUpdate:modelValue":a[5]||(a[5]=e=>n.state.show=e),"close-on-click-modal":!1,"append-to":".app-wrap",title:`设置[${n.state.machineName}]网关`,width:"400"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(m,{ref:"ruleFormRef",model:n.state.ruleForm,rules:n.state.rules,"label-width":"auto"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"",prop:"alert"},{default:(0,t.k6)((()=>[ul])),_:1}),(0,t.bF)(s,{label:""},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(u,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"网关层级",prop:"RouteLevel"},{default:(0,t.k6)((()=>[(0,t.bF)(d,{readonly:"",modelValue:n.state.ruleForm.RouteLevel,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.ruleForm.RouteLevel=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(u,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"调整层级",prop:"RouteLevelPlus"},{default:(0,t.k6)((()=>[(0,t.bF)(i,{modelValue:n.state.ruleForm.RouteLevelPlus,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.ruleForm.RouteLevelPlus=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{label:"",prop:"alert"},{default:(0,t.k6)((()=>[il])),_:1}),(0,t.bF)(s,{label:""},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(u,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"外网端口",prop:"PortMapWan"},{default:(0,t.k6)((()=>[(0,t.bF)(i,{modelValue:n.state.ruleForm.PortMapWan,"onUpdate:modelValue":a[2]||(a[2]=e=>n.state.ruleForm.PortMapWan=e)},null,8,["modelValue"])])),_:1})])),_:1}),(0,t.bF)(u,{span:12},{default:(0,t.k6)((()=>[(0,t.bF)(s,{label:"内网端口",prop:"PortMapLan"},{default:(0,t.k6)((()=>[(0,t.bF)(i,{modelValue:n.state.ruleForm.PortMapLan,"onUpdate:modelValue":a[3]||(a[3]=e=>n.state.ruleForm.PortMapLan=e)},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1}),(0,t.bF)(s,{label:"",prop:"Btns"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",cl,[(0,t.bF)(h,{onClick:a[4]||(a[4]=e=>n.state.show=!1)},{default:(0,t.k6)((()=>[(0,t.eW)("取消")])),_:1}),(0,t.bF)(h,{type:"primary",onClick:n.handleSave},{default:(0,t.k6)((()=>[(0,t.eW)("确认")])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["model","rules"])])])),_:1},8,["modelValue","title"])}var ml={props:["modelValue"],emits:["change","update:modelValue"],setup(e,{emit:a}){const l=nl(),n=(0,u.KR)(null),o=(0,u.Kh)({show:!0,machineName:l.value.current.device.MachineName,ruleForm:{RouteLevel:l.value.current.RouteLevel,RouteLevelPlus:l.value.current.RouteLevelPlus,PortMapWan:l.value.current.PortMapWan,PortMapLan:l.value.current.PortMapLan},rules:{}});(0,t.wB)((()=>o.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const r=()=>{const e=JSON.parse(JSON.stringify(l.value.current));e.RouteLevel=+o.ruleForm.RouteLevel,e.RouteLevelPlus=+o.ruleForm.RouteLevelPlus,e.PortMapWan=+o.ruleForm.PortMapWan,e.PortMapLan=+o.ruleForm.PortMapLan,(0,al.KW)(e).then((()=>{o.show=!1,i.nk.success("已操作!"),a("change")})).catch((e=>{console.log(e),i.nk.error("操作失败!")}))};return{state:o,ruleFormRef:n,handleSave:r}}};const pl=(0,C.A)(ml,[["render",hl],["__scopeId","data-v-6ea047f9"]]);var wl=pl;const gl=["onClick"],kl=["onClick"],fl=["onClick"],vl=["onClick"];function bl(e,a,l,n,o,r){const s=(0,t.g2)("ConnectionShow"),d=(0,t.g2)("el-table-column");return(0,t.uX)(),(0,t.Wv)(d,{prop:"forward",label:"转发/穿透"},{default:(0,t.k6)((a=>[a.row.Connected?((0,t.uX)(),(0,t.CE)(t.FK,{key:0},[a.row.isSelf&&(n.hasForwardShowSelf||e.hasForwardSelf)?((0,t.uX)(),(0,t.CE)(t.FK,{key:0},[(0,t.Lk)("div",null,[(0,t.bF)(s,{data:n.connections.list[a.row.MachineId]},null,8,["data"]),(0,t.Lk)("a",{href:"javascript:;",title:"管理自己的端口转发",class:(0,B.C4)({green:n.forward.list[a.row.MachineId]>0}),onClick:e=>n.handleEdit(a.row.MachineId,a.row.MachineName)},[(0,t.Lk)("span",{class:(0,B.C4)({gateway:n.forward.list[a.row.MachineId]>0})},"端口转发("+(0,B.v_)(n.forward.list[a.row.MachineId]>99?"99+":n.forward.list[a.row.MachineId])+")",3)],10,gl)]),(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",title:"管理自己的内网穿透",class:(0,B.C4)({green:n.sforward.list[a.row.MachineId]>0}),onClick:e=>n.handleSEdit(a.row.MachineId,a.row.MachineName)},[(0,t.Lk)("span",{class:(0,B.C4)({gateway:n.sforward.list[a.row.MachineId]>0})},"内网穿透("+(0,B.v_)(n.sforward.list[a.row.MachineId]>99?"99+":n.sforward.list[a.row.MachineId])+")",3)],10,kl)])],64)):n.hasForwardShowOther||e.hasForwardOther?((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.Lk)("div",null,[(0,t.bF)(s,{data:n.connections.list[a.row.MachineId]},null,8,["data"]),(0,t.Lk)("a",{href:"javascript:;",title:"管理自己的端口转发",class:(0,B.C4)({green:n.forward.list[a.row.MachineId]>0}),onClick:e=>n.handleEdit(a.row.MachineId,a.row.MachineName)},[(0,t.Lk)("span",{class:(0,B.C4)({gateway:n.forward.list[a.row.MachineId]>0})},"端口转发("+(0,B.v_)(n.forward.list[a.row.MachineId]>99?"99+":n.forward.list[a.row.MachineId])+")",3)],10,fl)]),(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",title:"管理自己的内网穿透",class:(0,B.C4)({green:n.sforward.list[a.row.MachineId]>0}),onClick:e=>n.handleSEdit(a.row.MachineId,a.row.MachineName)},[(0,t.Lk)("span",{class:(0,B.C4)({gateway:n.sforward.list[a.row.MachineId]>0})},"内网穿透("+(0,B.v_)(n.sforward.list[a.row.MachineId]>99?"99+":n.sforward.list[a.row.MachineId])+")",3)],10,vl)])],64)):(0,t.Q3)("",!0)],64)):(0,t.Q3)("",!0)])),_:1})}var Fl=l(743);const Cl=Symbol(),Ll=()=>{const e=(0,d.B)(),a=((0,t.EW)((()=>e.value.config.Client.Id)),(0,u.KR)({timer:0,showEdit:!1,showCopy:!1,list:{},testTimer:0,hashcode:0,machineid:"",machineName:""}));(0,t.Gt)(Cl,a);const l=()=>{(0,Fl.a9)()},n=()=>{(0,Fl.gz)(a.value.hashcode.toString()).then((e=>{a.value.hashcode=e.HashCode,e.List&&(a.value.list=e.List),a.value.timer=setTimeout(n,1020)})).catch((()=>{a.value.timer=setTimeout(n,1020)}))},o=e=>{a.value.machineid=e[0],a.value.machineName=e[1],a.value.showEdit=!0},r=()=>{clearTimeout(a.value.timer),clearTimeout(a.value.testTimer)};return{sforward:a,_getSForwardCountInfo:n,handleSForwardEdit:o,clearSForwardTimeout:r,handleSForwardRefresh:l}},El=()=>(0,t.WQ)(Cl);var _l={emits:["edit","sedit"],components:{ConnectionShow:Wa.A},setup(e,{emit:a}){const l=w(),n=El(),o=(0,d.B)(),r=(0,t.EW)((()=>o.value.config.Client.Id)),s=(0,t.EW)((()=>o.value.hasAccess("ForwardShowSelf"))),u=(0,t.EW)((()=>o.value.hasAccess("ForwardShowOther"))),i=(0,t.EW)((()=>o.value.hasAccess("ForwardSelf"))),c=(0,t.EW)((()=>o.value.hasAccess("ForwardOther"))),h=(0,Ma.mx)(),m=(e,l)=>{if(r.value===e){if(!i.value)return}else if(!c.value)return;a("edit",[e,l])},p=(e,l)=>{if(r.value===e){if(!i.value)return}else if(!c.value)return;a("sedit",[e,l])},g=()=>{a("refresh")};return{forward:l,sforward:n,hasForwardShowSelf:s,hasForwardShowOther:u,connections:h,handleEdit:m,handleSEdit:p,handleForwardRefresh:g}}};const Pl=(0,C.A)(_l,[["render",bl],["__scopeId","data-v-6e9936ec"]]);var Vl=Pl;const Sl={class:"t-c head"},Il=["title"],yl={class:"t-c"},Tl={class:"page-wrap"},Rl=["title"];function Ml(e,a,l,n,o,r){const s=(0,t.g2)("el-button"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-table-column"),i=(0,t.g2)("el-option"),c=(0,t.g2)("el-select"),h=(0,t.g2)("WarnTriangleFilled"),m=(0,t.g2)("el-icon"),p=(0,t.g2)("el-pagination"),w=(0,t.g2)("el-switch"),g=(0,t.g2)("Delete"),k=(0,t.g2)("el-popconfirm"),f=(0,t.g2)("el-table"),v=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(v,{modelValue:n.state.show,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:`【${n.state.machineName}】的端口转发`,top:"1vh",width:"780"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.Lk)("div",Sl,[(0,t.bF)(s,{type:"success",size:"small",onClick:n.handleAdd},{default:(0,t.k6)((()=>[(0,t.eW)("添加")])),_:1},8,["onClick"]),(0,t.bF)(s,{size:"small",onClick:n.handleRefresh},{default:(0,t.k6)((()=>[(0,t.eW)("刷新")])),_:1},8,["onClick"])]),(0,t.bF)(f,{data:n.state.data,size:"small",border:"",height:"500",onCellDblclick:n.handleCellClick},{default:(0,t.k6)((()=>[(0,t.bF)(u,{property:"Name",label:"名称",width:"100"},{default:(0,t.k6)((e=>[e.row.NameEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":a=>e.row.Name=a,onBlur:a=>n.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,B.v_)(e.row.Name),1)],64))])),_:1}),(0,t.bF)(u,{prop:"BufferSize",label:"缓冲区",width:"80"},{default:(0,t.k6)((e=>[e.row.BufferSizeEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(c,{key:0,modelValue:e.row.BufferSize,"onUpdate:modelValue":a=>e.row.BufferSize=a,placeholder:"Select",size:"small",disabled:e.row.Started,onChange:a=>n.handleEditBlur(e.row,"BufferSize")},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.bufferSize,((e,a)=>((0,t.uX)(),(0,t.Wv)(i,{key:a,label:e,value:a},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","disabled","onChange"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,B.v_)(n.state.bufferSize[e.row.BufferSize]),1)],64))])),_:1}),(0,t.bF)(u,{property:"BindIPAddress",label:"监听IP",width:"140"},{default:(0,t.k6)((e=>[e.row.BindIPAddressEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(c,{key:0,modelValue:e.row.BindIPAddress,"onUpdate:modelValue":a=>e.row.BindIPAddress=a,size:"small",disabled:e.row.Started,onChange:a=>n.handleEditBlur(e.row,"BindIPAddress")},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.ips,(e=>((0,t.uX)(),(0,t.Wv)(i,{key:e,label:e,value:e},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","disabled","onChange"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,B.v_)(e.row.BindIPAddress),1)],64))])),_:1}),(0,t.bF)(u,{property:"Port",label:"监听端口",width:"80"},{default:(0,t.k6)((e=>[e.row.PortEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,type:"number",autofocus:"",size:"small",modelValue:e.row.Port,"onUpdate:modelValue":a=>e.row.Port=a,onBlur:a=>n.handleEditBlur(e.row,"Port")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.Msg?((0,t.uX)(),(0,t.CE)("div",{key:0,class:"error red",title:e.row.Msg},[(0,t.Lk)("span",null,(0,B.v_)(e.row.Port),1),(0,t.bF)(m,{size:"20"},{default:(0,t.k6)((()=>[(0,t.bF)(h)])),_:1})],8,Il)):((0,t.uX)(),(0,t.CE)("span",{key:1,class:(0,B.C4)({green:e.row.Started})},(0,B.v_)(e.row.Port),3))],64))])),_:1}),(0,t.bF)(u,{property:"MachineId",label:"目标"},{default:(0,t.k6)((e=>[e.row.MachineIdEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(c,{key:0,modelValue:e.row.MachineId,"onUpdate:modelValue":a=>e.row.MachineId=a,onChange:a=>n.handleEditBlur(e.row,"MachineId"),filterable:"",remote:"",loading:n.state.loading,"remote-method":n.handleSearch},{header:(0,t.k6)((()=>[(0,t.Lk)("div",yl,[(0,t.Lk)("div",Tl,[(0,t.bF)(p,{small:"",background:"",layout:"prev, pager, next","page-size":n.state.machineIds.Request.Size,total:n.state.machineIds.Count,"pager-count":5,"current-page":n.state.machineIds.Request.Page,onCurrentChange:n.handlePageChange},null,8,["page-size","total","current-page","onCurrentChange"])])])])),default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(n.state.machineIds.List,((e,a)=>((0,t.uX)(),(0,t.Wv)(i,{key:a,label:e.MachineName,value:e.MachineId},null,8,["label","value"])))),128))])),_:2},1032,["modelValue","onUpdate:modelValue","onChange","loading","remote-method"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,B.v_)(e.row.MachineName),1)],64))])),_:1}),(0,t.bF)(u,{property:"TargetEP",label:"目标服务",width:"140"},{default:(0,t.k6)((e=>[e.row.TargetEPEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.TargetEP,"onUpdate:modelValue":a=>e.row.TargetEP=a,onBlur:a=>n.handleEditBlur(e.row,"TargetEP")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.TargetMsg?((0,t.uX)(),(0,t.CE)("div",{key:0,class:"error red",title:e.row.TargetMsg},[(0,t.Lk)("span",null,(0,B.v_)(e.row.TargetEP),1),(0,t.bF)(m,{size:"20"},{default:(0,t.k6)((()=>[(0,t.bF)(h)])),_:1})],8,Rl)):((0,t.uX)(),(0,t.CE)("span",{key:1,class:(0,B.C4)({green:e.row.Started})},(0,B.v_)(e.row.TargetEP),3))],64))])),_:1}),(0,t.bF)(u,{property:"Started",label:"状态",width:"60"},{default:(0,t.k6)((e=>[(0,t.bF)(w,{modelValue:e.row.Started,"onUpdate:modelValue":a=>e.row.Started=a,onChange:a=>n.handleStartChange(e.row),"inline-prompt":"","active-text":"开","inactive-text":"关"},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,t.bF)(u,{label:"操作",width:"54"},{default:(0,t.k6)((e=>[(0,t.bF)(k,{"confirm-button-text":"确认","cancel-button-text":"取消",title:"删除不可逆,是否确认?",onConfirm:a=>n.handleDel(e.row.Id)},{reference:(0,t.k6)((()=>[(0,t.bF)(s,{type:"danger",size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(m,null,{default:(0,t.k6)((()=>[(0,t.bF)(g)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])])),_:1})])),_:1},8,["data","onCellDblclick"])])])),_:1},8,["modelValue","onOpen","title"])}var Wl={props:["data","modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:T.DtC,Delete:T.epd},setup(e,{emit:a}){const l=(0,d.B)(),n=w(),o=(0,u.Kh)({show:!0,machineId:n.value.machineId,machineName:n.value.machineName,data:[],ips:[],bufferSize:l.value.bufferSize,loading:!1,machineIds:{Request:{Page:1,Size:10,Name:""},Count:0,List:[]}});(0,t.wB)((()=>o.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const r=()=>{(0,h.xD)().then((e=>{e.splice(0,0,"127.0.0.1"),e.splice(0,0,"0.0.0.0"),o.ips=e})).catch((()=>{}))},s=()=>{(0,h.Oy)(o.machineId).then((e=>{o.data=e})).catch((()=>{}))},c=e=>{o.machineIds.Request.Name=e,m()},m=()=>{o.loading=!0,(0,I.BS)(o.machineIds.Request).then((e=>{o.loading=!1,o.machineIds.Request=e.Request,o.machineIds.Count=e.Count,o.machineIds.List=e.List})).catch((e=>{o.loading=!1}))},p=e=>{o.machineIds.Request.Page=e,m()},g=()=>{s(),m()},k=(e,a)=>{b(e,a.property)},f=()=>{s(),i.nk.success("已刷新")},v=()=>{E({ID:0,Name:"",Port:0,TargetEP:"127.0.0.1:80",machineId:""})},b=(e,a)=>{e.Started?i.nk.error("请先停止"):(o.data.forEach((e=>{e["NameEditing"]=!1,e["PortEditing"]=!1,e["TargetEPEditing"]=!1,e["BindIPAddressEditing"]=!1,e["BufferSizeEditing"]=!1,e["MachineIdEditing"]=!1})),e[`${a}Editing`]=!0)},F=(e,a)=>{if(e.Started)return void i.nk.error("请先停止");e[`${a}Editing`]=!1;const l=o.machineIds.List.find((a=>a.MachineId==e.MachineId));l&&(e.MachineName=l.MachineName),E(e)},C=e=>{(0,h.we)({machineId:o.machineId,Id:e}).then((()=>{s()}))},L=e=>{E(e)},E=e=>{e.Port=parseInt(e.Port),(0,h.nH)({machineId:o.machineId,data:e}).then((()=>{s()})).catch((e=>{i.nk.error(e)}))};return(0,t.sV)((()=>{s(),r()})),{state:o,handleOnShowList:g,handleCellClick:k,handleRefresh:f,handleAdd:v,handleEdit:b,handleEditBlur:F,handleDel:C,handleStartChange:L,handleSearch:c,handlePageChange:p}}};const Al=(0,C.A)(Wl,[["render",Ml],["__scopeId","data-v-15b05a01"]]);var Xl=Al;const Bl={class:"t-c head"},Nl=["title"],xl=["title"];function zl(e,a,l,n,o,r){const s=(0,t.g2)("el-button"),d=(0,t.g2)("el-input"),u=(0,t.g2)("el-table-column"),i=(0,t.g2)("WarnTriangleFilled"),c=(0,t.g2)("el-icon"),h=(0,t.g2)("el-switch"),m=(0,t.g2)("Delete"),p=(0,t.g2)("el-popconfirm"),w=(0,t.g2)("el-table"),g=(0,t.g2)("el-dialog");return(0,t.uX)(),(0,t.Wv)(g,{modelValue:n.state.show,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.show=e),onOpen:n.handleOnShowList,"append-to":".app-wrap",title:`【${n.machineName}】的内网穿透`,top:"1vh",width:"700"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.Lk)("div",Bl,[(0,t.bF)(s,{type:"success",size:"small",onClick:n.handleAdd},{default:(0,t.k6)((()=>[(0,t.eW)("添加")])),_:1},8,["onClick"]),(0,t.bF)(s,{size:"small",onClick:n.handleRefresh},{default:(0,t.k6)((()=>[(0,t.eW)("刷新")])),_:1},8,["onClick"])]),(0,t.bF)(w,{data:n.state.data,size:"small",border:"",height:"500",onCellDblclick:n.handleCellClick},{default:(0,t.k6)((()=>[(0,t.bF)(u,{property:"Name",label:"名称"},{default:(0,t.k6)((e=>[e.row.NameEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":a=>e.row.Name=a,onBlur:a=>n.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[(0,t.eW)((0,B.v_)(e.row.Name),1)],64))])),_:1}),(0,t.bF)(u,{prop:"BufferSize",label:"缓冲区",width:"100"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,B.v_)(1<[e.row.TempEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.Temp,"onUpdate:modelValue":a=>e.row.Temp=a,onBlur:a=>n.handleEditBlur(e.row,"Temp")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.Msg?((0,t.uX)(),(0,t.CE)("div",{key:0,class:"error red",title:e.row.Msg},[(0,t.Lk)("span",null,(0,B.v_)(e.row.Temp),1),(0,t.bF)(c,{size:"20"},{default:(0,t.k6)((()=>[(0,t.bF)(i)])),_:1})],8,Nl)):((0,t.uX)(),(0,t.CE)("span",{key:1,class:(0,B.C4)({green:e.row.Started})},(0,B.v_)(e.row.Temp),3))],64))])),_:1}),(0,t.bF)(u,{property:"LocalEP",label:"本机服务",width:"140"},{default:(0,t.k6)((e=>[e.row.LocalEPEditing&&0==e.row.Started?((0,t.uX)(),(0,t.Wv)(d,{key:0,autofocus:"",size:"small",modelValue:e.row.LocalEP,"onUpdate:modelValue":a=>e.row.LocalEP=a,onBlur:a=>n.handleEditBlur(e.row,"LocalEP")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,t.uX)(),(0,t.CE)(t.FK,{key:1},[e.row.LocalMsg?((0,t.uX)(),(0,t.CE)("div",{key:0,class:"error red",title:e.row.LocalMsg},[(0,t.Lk)("span",null,(0,B.v_)(e.row.LocalEP),1),(0,t.bF)(c,{size:"20"},{default:(0,t.k6)((()=>[(0,t.bF)(i)])),_:1})],8,xl)):((0,t.uX)(),(0,t.CE)("span",{key:1,class:(0,B.C4)({green:e.row.Started})},(0,B.v_)(e.row.LocalEP),3))],64))])),_:1}),(0,t.bF)(u,{property:"Started",label:"状态",width:"60"},{default:(0,t.k6)((e=>[(0,t.bF)(h,{modelValue:e.row.Started,"onUpdate:modelValue":a=>e.row.Started=a,onChange:a=>n.handleStartChange(e.row),"inline-prompt":"","active-text":"是","inactive-text":"否"},null,8,["modelValue","onUpdate:modelValue","onChange"])])),_:1}),(0,t.bF)(u,{label:"操作",width:"54"},{default:(0,t.k6)((e=>[(0,t.bF)(p,{"confirm-button-text":"确认","cancel-button-text":"取消",title:"删除不可逆,是否确认?",onConfirm:a=>n.handleDel(e.row.Id)},{reference:(0,t.k6)((()=>[(0,t.bF)(s,{type:"danger",size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(c,null,{default:(0,t.k6)((()=>[(0,t.bF)(m)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])])),_:1})])),_:1},8,["data","onCellDblclick"])])])),_:1},8,["modelValue","onOpen","title"])}var Ul={props:["data","modelValue"],emits:["update:modelValue"],components:{WarnTriangleFilled:T.DtC,Delete:T.epd},setup(e,{emit:a}){const l=(0,d.B)(),n=El(),o=(0,u.Kh)({bufferSize:l.value.bufferSize,show:!0,data:[],timerTestLocal:0});(0,t.wB)((()=>o.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e)}),300)}));const r=()=>{console.log(n.value.machineid),(0,Fl.eX)(n.value.machineid).then((e=>{o.timerTestLocal=setTimeout(r,1e3)})).catch((()=>{o.timerTestLocal=setTimeout(r,1e3)}))},s=()=>{(0,Fl.pY)(n.value.machineid).then((e=>{e.forEach((e=>{e.Temp=(e.Domain||e.RemotePort).toString(),e.RemotePort=0,e.Domain=""})),o.data=e})).catch((()=>{}))},c=()=>{s()},h=(e,a)=>{w(e,a.property)},m=()=>{s(),i.nk.success("已刷新")},p=()=>{const e={Id:0,Name:"",RemotePort:0,LocalEP:"127.0.0.1:80",Domain:"",Temp:""};(0,Fl.Qs)({machineid:n.value.machineid,data:e}).then((()=>{setTimeout((()=>{s()}),100)})).catch((e=>{i.nk.error(e)}))},w=(e,a)=>{e.Started?i.nk.error("请先停止运行"):(o.data.forEach((e=>{e["NameEditing"]=!1,e["RemotePortEditing"]=!1,e["LocalEPEditing"]=!1,e["DomainEditing"]=!1,e["TempEditing"]=!1})),e[`${a}Editing`]=!0)},g=(e,a)=>{e.Started?i.nk.error("请先停止运行"):(e[`${a}Editing`]=!1,v(e))},k=e=>{(0,Fl.DY)({machineid:n.value.machineid,id:e}).then((()=>{s()}))},f=e=>{v(e)},v=e=>{e.Temp&&(/^\d+$/.test(e.Temp)?e.RemotePort=parseInt(e.Temp):e.Domain=e.Temp,(0,Fl.Qs)({machineid:n.value.machineid,data:e}).then((e=>{0==e&&i.nk.error("操作失败,可能存在相同值"),setTimeout((()=>{s()}),100)})).catch((e=>{i.nk.error(e)})))};return(0,t.sV)((()=>{s(),r()})),(0,t.hi)((()=>{clearTimeout(o.timerTestLocal)})),{state:o,machineName:n.value.machineName,handleOnShowList:c,handleCellClick:h,handleRefresh:m,handleAdd:p,handleEdit:w,handleEditBlur:g,handleDel:k,handleStartChange:f}}};const Dl=(0,C.A)(Ul,[["render",zl],["__scopeId","data-v-7eb8e7cc"]]);var Kl=Dl;const Ql=["onClick"],Ol={key:0},Gl={key:1},$l={key:0},ql={key:1},jl={key:0},Yl={key:1};function Hl(e,a,l,n,o,r){const s=(0,t.g2)("el-table-column"),d=(0,t.g2)("Delete"),u=(0,t.g2)("el-icon"),i=(0,t.g2)("el-button"),c=(0,t.g2)("el-popconfirm"),h=(0,t.g2)("el-table"),m=(0,t.g2)("el-dialog"),p=(0,t.g2)("el-switch");return(0,t.uX)(),(0,t.CE)(t.FK,null,[(0,t.bF)(m,{modelValue:n.state.show,"onUpdate:modelValue":a[0]||(a[0]=e=>n.state.show=e),"append-to":".app-wrap",title:`与[${n.state.machineName}]的链接`,top:"1vh",width:"780"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(h,{data:n.state.data,size:"small",border:"",height:"500"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{property:"RemoteMachineId",label:"目标/服务器"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",{class:(0,B.C4)({green:e.row.Connected})},[(0,t.Lk)("p",null,(0,B.v_)(e.row.IPEndPoint),1),(0,t.Lk)("p",null,"ssl : "+(0,B.v_)(e.row.SSL),1)],2)])),_:1}),(0,t.bF)(s,{property:"TransactionId",label:"事务",width:"80"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,B.v_)(n.state.transactions[e.row.TransactionId]),1)])),_:1}),(0,t.bF)(s,{property:"TransportName",label:"协议"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.Lk)("p",null,(0,B.v_)(e.row.TransportName)+"("+(0,B.v_)(n.state.protocolTypes[e.row.ProtocolType])+")",1),(0,t.Lk)("p",null,(0,B.v_)(n.state.types[e.row.Type])+" - "+(0,B.v_)(1<[(0,t.Lk)("span",null,(0,B.v_)(e.row.Delay)+"ms",1)])),_:1}),(0,t.bF)(s,{property:"Bytes",label:"通信"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.Lk)("p",null,"up : "+(0,B.v_)(e.row.SendBytesText),1),(0,t.Lk)("p",null,"down : "+(0,B.v_)(e.row.ReceiveBytesText),1)])])),_:1}),(0,t.bF)(s,{property:"relay",label:"中继节点"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[(0,t.Lk)("a",{href:"javascript:;",class:"a-line",onClick:a=>n.handleNode(e.row)},(0,B.v_)(n.state.nodesDic[e.row.NodeId]||"选择节点"),9,Ql)])])),_:1}),(0,t.bF)(s,{label:"操作",width:"54"},{default:(0,t.k6)((e=>[(0,t.Lk)("div",null,[n.hasTunnelRemove?((0,t.uX)(),(0,t.Wv)(c,{key:0,"confirm-button-text":"确认","cancel-button-text":"取消",title:"确定关闭此连接?",onConfirm:a=>n.handleDel(e.row)},{reference:(0,t.k6)((()=>[(0,t.bF)(i,{type:"danger",size:"small"},{default:(0,t.k6)((()=>[(0,t.bF)(u,null,{default:(0,t.k6)((()=>[(0,t.bF)(d)])),_:1})])),_:1})])),_:2},1032,["onConfirm"])):(0,t.Q3)("",!0)])])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue","title"]),(0,t.bF)(m,{modelValue:n.state.showNodes,"onUpdate:modelValue":a[1]||(a[1]=e=>n.state.showNodes=e),title:"中继节点",width:"760",top:"2vh"},{default:(0,t.k6)((()=>[(0,t.Lk)("div",null,[(0,t.bF)(h,{data:n.state.nodes,size:"small",border:"",height:"600"},{default:(0,t.k6)((()=>[(0,t.bF)(s,{property:"Name",label:"名称"}),(0,t.bF)(s,{property:"MaxGbTotal",label:"月流量",width:"160"},{default:(0,t.k6)((e=>[0==e.row.MaxGbTotal?((0,t.uX)(),(0,t.CE)("span",Ol,"无限制")):((0,t.uX)(),(0,t.CE)("span",Gl,(0,B.v_)((e.row.MaxGbTotalLastBytes/1024/1024/1024).toFixed(2))+"GB / "+(0,B.v_)(e.row.MaxGbTotal)+"GB ",1))])),_:1}),(0,t.bF)(s,{property:"MaxBandwidth",label:"连接带宽",width:"80"},{default:(0,t.k6)((e=>[0==e.row.MaxBandwidth?((0,t.uX)(),(0,t.CE)("span",$l,"无限制")):((0,t.uX)(),(0,t.CE)("span",ql,(0,B.v_)(e.row.MaxBandwidth)+"Mbps",1))])),_:1}),(0,t.bF)(s,{property:"MaxBandwidthTotal",label:"总带宽",width:"80"},{default:(0,t.k6)((e=>[0==e.row.MaxBandwidthTotal?((0,t.uX)(),(0,t.CE)("span",jl,"无限制")):((0,t.uX)(),(0,t.CE)("span",Yl,(0,B.v_)(e.row.MaxBandwidthTotal)+"Mbps",1))])),_:1}),(0,t.bF)(s,{property:"BandwidthRatio",label:"带宽速率",width:"66"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,B.v_)(100*e.row.BandwidthRatio)+"%",1)])),_:1}),(0,t.bF)(s,{property:"ConnectionRatio",label:"连接数",width:"60"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,B.v_)(100*e.row.ConnectionRatio)+"%",1)])),_:1}),(0,t.bF)(s,{property:"Delay",label:"延迟",width:"60"},{default:(0,t.k6)((e=>[(0,t.Lk)("span",null,(0,B.v_)(e.row.Delay)+"ms",1)])),_:1}),(0,t.bF)(s,{property:"Public",label:"公开",width:"60"},{default:(0,t.k6)((e=>[(0,t.bF)(p,{disabled:"",modelValue:e.row.Public,"onUpdate:modelValue":a=>e.row.Public=a,size:"small"},null,8,["modelValue","onUpdate:modelValue"])])),_:1}),(0,t.bF)(s,{property:"Oper",label:"操作",width:"65"},{default:(0,t.k6)((e=>[(0,t.bF)(i,{type:"success",size:"small",onClick:a=>n.handleConnect(e.row.Id)},{default:(0,t.k6)((()=>[(0,t.eW)("使用")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue"])],64)}var Jl=l(9232),Zl={props:["modelValue"],emits:["change","update:modelValue"],components:{Delete:T.epd},setup(e,{emit:a}){const l=(0,d.B)(),n=(0,t.EW)((()=>l.value.hasAccess("TunnelRemove"))),o=(0,Ma.ZY)(),r=(0,Ma.mx)(),s=(0,Ma.FG)(),c=(0,Ma.bB)(),h=(0,u.Kh)({show:!0,protocolTypes:{1:"tcp",2:"udp",4:"msquic"},types:{0:"打洞",1:"中继",2:"节点"},transactions:{forward:"端口转发",tuntap:"虚拟网卡",socks5:"代理转发"},machineName:o.value.currentName,currentRow:{},data:(0,t.EW)((()=>[r.value.list[o.value.current],s.value.list[o.value.current],c.value.list[o.value.current]].filter((e=>!!e)))),showNodes:!1,nodes:[],nodesDic:{},timer:0});(0,t.wB)((()=>h.show),(e=>{e||setTimeout((()=>{a("update:modelValue",e),a("change")}),300)}));const m=e=>{n.value&&e.removeFunc(e.RemoteMachineId).then((()=>{i.nk.success("删除成功")})).catch((()=>{}))},p=()=>{(0,Jl.W4)().then((e=>{h.nodes=e,h.nodesDic=e.reduce(((e,a)=>(e[a.Id]=a.Name,e)),{}),h.timer=setTimeout(p,1e3)})).catch((()=>{h.timer=setTimeout(p,1e3)}))},w=e=>{h.currentRow=e,h.showNodes=!0},g=e=>{const a={FromMachineId:l.value.config.Client.Id,TransactionId:h.currentRow.TransactionId,ToMachineId:h.currentRow.RemoteMachineId,NodeId:e};a.NodeId!=h.currentRow.NodeId&&((0,Jl.uQ)(a).then((()=>{})).catch((()=>{})),h.showNodes=!1)};return(0,t.sV)((()=>{o.value.updateRealTime(!0),p()})),(0,t.hi)((()=>{o.value.updateRealTime(!1),clearTimeout(h.timer)})),{state:h,handleDel:m,hasTunnelRemove:n,handleNode:w,handleConnect:g}}};const et=(0,C.A)(Zl,[["render",Hl],["__scopeId","data-v-7891b902"]]);var at=et,lt=l(9383),tt={components:{Sort:E,Oper:X,Device:J,DeviceEdit:ne,AccessEdit:ce,Tunnel:sl,TunnelEdit:wl,ConnectionsEdit:at,Tuntap:ke,TuntapEdit:ea,TuntapLease:Fa,Socks5:za,Socks5Edit:Ya,Forward:Vl,ForwardEdit:Xl,SForwardEdit:Kl},setup(e){const a=(0,d.B)(),l=(0,u.Kh)({height:(0,t.EW)((()=>a.value.height-90))}),{devices:n,machineId:o,_getSignList:r,_getSignList1:s,handleDeviceEdit:c,handleAccessEdit:h,handlePageChange:m,handlePageSizeChange:w,handleDel:g,clearDevicesTimeout:k,setSort:v}=(0,oe.r)(),{tuntap:F,_getTuntapInfo:C,handleTuntapEdit:L,handleTuntapRefresh:E,clearTuntapTimeout:_,getTuntapMachines:P,sortTuntapIP:V}=(0,b.O)(),{socks5:S,_getSocks5Info:I,handleSocks5Edit:y,handleSocks5Refresh:T,clearSocks5Timeout:R,getSocks5Machines:W,sortSocks5:A}=f(),{tunnel:X,_getTunnelInfo:B,handleTunnelEdit:N,handleTunnelRefresh:x,clearTunnelTimeout:z,sortTunnel:U}=tl(),{forward:D,_getForwardCountInfo:K,handleForwardEdit:Q,clearForwardTimeout:O,handleForwardRefresh:G}=p(),{sforward:$,_getSForwardCountInfo:q,handleSForwardEdit:j,clearSForwardTimeout:Y,handleSForwardRefresh:H}=Ll(),{connections:J,forwardConnections:Z,_getForwardConnections:ee,tuntapConnections:ae,_getTuntapConnections:le,socks5Connections:te,_getSocks5Connections:ne,handleTunnelConnections:re,clearConnectionsTimeout:se}=(0,Ma.L2)(),{_getUpdater:de,_subscribeUpdater:ue,clearUpdaterTimeout:ie}=(0,lt.d)(),{_getAccessInfo:ce,clearAccessTimeout:he,handleAccesssRefresh:me}=(0,M.Y)(),pe=e=>{n.page.Request.Prop=e.prop,n.page.Request.Asc="ascending"==e.order;let a=new Promise(((e,a)=>{e()}));if("tunnel"==e.prop){const e=U(n.page.Request.Asc);e.length>0&&(a=v(e))}else if("tuntap"==e.prop){const e=V(n.page.Request.Asc);e.length>0&&(a=v(e))}else if("socks5"==e.prop){const e=A(n.page.Request.Asc);e.length>0&&(a=v(e))}a.then((()=>{m()})).catch((()=>{}))},we=e=>{n.page.Request.Name=e||"",n.page.Request.Name?n.page.Request.Ids=P(n.page.Request.Name).concat(W(n.page.Request.Name)).reduce(((e,a)=>(-1==e.indexOf(a)&&e.push(a),e)),[]):n.page.Request.Ids=[],m(),x(),E(),T(),G(),H(),me(),i.nk.success({message:"刷新成功",grouping:!0})},ge=()=>{m(),x(),E(),T(),me(),i.nk.success({message:"刷新成功",grouping:!0})};return(0,t.sV)((()=>{m(),x(),E(),T(),G(),H(),me(),r(),s(),C(),I(),B(),ee(),le(),ne(),K(),q(),de(),ue(),ce()})),(0,t.hi)((()=>{k(),se(),_(),R(),z(),O(),Y(),ie(),he()})),{state:l,devices:n,machineId:o,handleSortChange:pe,handleDeviceEdit:c,handleAccessEdit:h,handlePageRefresh:we,handlePageSearch:ge,handlePageChange:m,handlePageSizeChange:w,handleDel:g,tuntap:F,handleTuntapEdit:L,handleTuntapRefresh:E,socks5:S,handleSocks5Edit:y,handleSocks5Refresh:T,tunnel:X,connections:J,handleTunnelEdit:N,handleTunnelRefresh:x,handleTunnelConnections:re,forward:D,handleForwardEdit:Q,sforward:$,handleSForwardEdit:j}}};const nt=(0,C.A)(tt,[["render",s],["__scopeId","data-v-3d1c480c"]]);var ot=nt}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/857.f520b520.js b/linker.tray.win/web/js/857.70c8f4e1.js similarity index 72% rename from linker.tray.win/web/js/857.f520b520.js rename to linker.tray.win/web/js/857.70c8f4e1.js index 92f5fba3..1459f593 100644 --- a/linker.tray.win/web/js/857.f520b520.js +++ b/linker.tray.win/web/js/857.70c8f4e1.js @@ -1 +1 @@ -"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[857],{9232:function(e,l,t){t.d(l,{W4:function(){return o},q:function(){return n},uQ:function(){return r}});var a=t(4);const n=e=>(0,a.zG)("relay/SetServers",e),o=()=>(0,a.zG)("relay/Subscribe"),r=e=>(0,a.zG)("relay/Connect",e)},743:function(e,l,t){t.d(l,{Ap:function(){return n},Co:function(){return o},DY:function(){return u},Qs:function(){return i},a9:function(){return s},eX:function(){return c},gz:function(){return d},pY:function(){return r}});var a=t(4);const n=()=>(0,a.zG)("sforwardclient/GetSecretKey"),o=e=>(0,a.zG)("sforwardclient/SetSecretKey",e),r=e=>(0,a.zG)("sforwardclient/get",e),s=()=>(0,a.zG)("sforwardclient/refresh"),d=(e="0")=>(0,a.zG)("sforwardclient/getcount",e),u=e=>(0,a.zG)("sforwardclient/remove",e),i=e=>(0,a.zG)("sforwardclient/add",e),c=e=>(0,a.zG)("sforwardclient/TestLocal",e)},920:function(e,l,t){t.d(l,{BJ:function(){return c},Ce:function(){return g},NS:function(){return r},PY:function(){return u},UB:function(){return p},Vk:function(){return i},aP:function(){return m},ir:function(){return d},lJ:function(){return o},mK:function(){return n},y2:function(){return h},yN:function(){return s}});var a=t(4);const n=(e="0")=>(0,a.zG)("updaterclient/get",e),o=e=>(0,a.zG)("updaterclient/confirm",e),r=e=>(0,a.zG)("updaterclient/exit",e),s=()=>(0,a.zG)("updaterclient/GetSecretKey"),d=e=>(0,a.zG)("updaterclient/SetSecretKey",e),u=e=>(0,a.zG)("updaterclient/SetInterval",e),i=()=>(0,a.zG)("updaterclient/getcurrent"),c=()=>(0,a.zG)("updaterclient/getserver"),h=e=>(0,a.zG)("updaterclient/confirmserver",e),m=()=>(0,a.zG)("updaterclient/exitserver"),p=()=>(0,a.zG)("updaterclient/Subscribe"),g=e=>(0,a.zG)("updaterclient/check",e)},5857:function(e,l,t){t.r(l),t.d(l,{default:function(){return oe}});var a=t(6768);const n={key:0,class:"servers-wrap"};function o(e,l,t,o,r,s){const d=(0,a.g2)("SignInServers"),u=(0,a.g2)("el-tab-pane"),i=(0,a.g2)("Groups"),c=(0,a.g2)("Async"),h=(0,a.g2)("el-tabs");return o.hasConfig?((0,a.uX)(),(0,a.CE)("div",n,[(0,a.bF)(h,{type:"border-card",style:{width:"100%"},modelValue:o.state.tab,"onUpdate:modelValue":l[0]||(l[0]=e=>o.state.tab=e)},{default:(0,a.k6)((()=>[(0,a.bF)(u,{label:"信标服务器",name:"signin"},{default:(0,a.k6)((()=>[(0,a.bF)(d)])),_:1}),(0,a.bF)(u,{label:"分组设置",name:"groups"},{default:(0,a.k6)((()=>[(0,a.bF)(i)])),_:1}),o.hasSync?((0,a.uX)(),(0,a.Wv)(u,{key:0,label:"配置同步",name:"async"},{default:(0,a.k6)((()=>[(0,a.bF)(c)])),_:1})):(0,a.Q3)("",!0)])),_:1},8,["modelValue"])])):(0,a.Q3)("",!0)}var r=t(144),s=t(3830),d=t(4232);const u={class:"flex"},i=(0,a.Lk)("span",null,"服务器地址。ip:端口 或者 域名:端口",-1),c={class:"flex"},h=(0,a.Lk)("span",null,"密钥正确时可连接服务器",-1),m={class:"t-c"};function p(e,l,t,n,o,r){const s=(0,a.g2)("el-input"),p=(0,a.g2)("el-form-item"),g=(0,a.g2)("RelayServers"),k=(0,a.g2)("SForward"),b=(0,a.g2)("Updater"),f=(0,a.g2)("el-form"),w=(0,a.g2)("el-button"),y=(0,a.g2)("el-card");return(0,a.uX)(),(0,a.CE)("div",{class:"signin-wrap",style:(0,d.Tr)({height:`${n.state.height}px`})},[(0,a.bF)(y,{shadow:"never"},{header:(0,a.k6)((()=>[(0,a.eW)("服务器相关设置")])),footer:(0,a.k6)((()=>[(0,a.Lk)("div",m,[(0,a.bF)(w,{type:"success",onClick:n.handleSave},{default:(0,a.k6)((()=>[(0,a.eW)("确定更改")])),_:1},8,["onClick"])])])),default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.bF)(f,{"label-width":"auto"},{default:(0,a.k6)((()=>[(0,a.bF)(p,{label:"服务器地址"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",u,[(0,a.bF)(s,{class:"flex-1",modelValue:n.state.list.Host,"onUpdate:modelValue":l[0]||(l[0]=e=>n.state.list.Host=e),onChange:n.handleSave},null,8,["modelValue","onChange"]),i])])),_:1}),(0,a.bF)(p,{label:"信标密钥"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",c,[(0,a.bF)(s,{class:"flex-1",type:"password","show-password":"",maxlength:"36",modelValue:n.state.list.SecretKey,"onUpdate:modelValue":l[1]||(l[1]=e=>n.state.list.SecretKey=e),onChange:n.handleSave},null,8,["modelValue","onChange"]),h])])),_:1}),(0,a.bF)(g),(0,a.bF)(k),(0,a.bF)(b)])),_:1})])])),_:1})],4)}var g=t(9299),k=t(1219);const b={class:"flex"},f=(0,a.Lk)("span",null,"密钥正确时可使用内网穿透",-1);function w(e,l,t,n,o,r){const s=(0,a.g2)("el-input"),d=(0,a.g2)("el-form-item");return(0,a.uX)(),(0,a.Wv)(d,{label:"服务器穿透密钥"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",b,[(0,a.bF)(s,{class:"flex-1",type:"password","show-password":"",modelValue:n.state.SForwardSecretKey,"onUpdate:modelValue":l[0]||(l[0]=e=>n.state.SForwardSecretKey=e),maxlength:"36",onBlur:n.handleChange},null,8,["modelValue","onBlur"]),f])])),_:1})}var y=t(743),v={setup(e){const l=(0,r.Kh)({SForwardSecretKey:""}),t=()=>{(0,y.Ap)().then((e=>{l.SForwardSecretKey=e}))},n=()=>{l.SForwardSecretKey&&(0,y.Co)(l.SForwardSecretKey).then((()=>{k.nk.success("已操作")})).catch((e=>{console.log(e),k.nk.error("操作失败")}))},o=()=>{n()};return(0,a.sV)((()=>{t()})),{state:l,handleChange:o}}},C=t(1241);const F=(0,C.A)(v,[["render",w]]);var S=F;const V={class:"flex"},_=(0,a.Lk)("span",null,"密钥正确时可更新服务端",-1);function x(e,l,t,n,o,r){const s=(0,a.g2)("el-input"),d=(0,a.g2)("el-form-item"),u=(0,a.g2)("el-input-number");return(0,a.uX)(),(0,a.CE)(a.FK,null,[(0,a.bF)(d,{label:"服务器更新密钥"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",V,[(0,a.bF)(s,{class:"flex-1",type:"password","show-password":"",modelValue:n.state.secretKey,"onUpdate:modelValue":l[0]||(l[0]=e=>n.state.secretKey=e),maxlength:"36",onBlur:n.handleChange},null,8,["modelValue","onBlur"]),_])])),_:1}),(0,a.bF)(d,{label:"客户端更新检测频率"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.Lk)("div",null,[(0,a.bF)(u,{modelValue:n.state.year,"onUpdate:modelValue":l[1]||(l[1]=e=>n.state.year=e),min:0,max:99,style:{width:"12rem"},onChange:n.handleSecChange},null,8,["modelValue","onChange"]),(0,a.eW)(" 年 "),(0,a.bF)(u,{modelValue:n.state.month,"onUpdate:modelValue":l[2]||(l[2]=e=>n.state.month=e),min:0,max:99,style:{width:"12rem"},onChange:n.handleSecChange},null,8,["modelValue","onChange"]),(0,a.eW)(" 月 "),(0,a.bF)(u,{modelValue:n.state.day,"onUpdate:modelValue":l[3]||(l[3]=e=>n.state.day=e),min:0,max:99,style:{width:"12rem"},onChange:n.handleSecChange},null,8,["modelValue","onChange"]),(0,a.eW)(" 日 ")]),(0,a.Lk)("div",null,[(0,a.bF)(u,{modelValue:n.state.hour,"onUpdate:modelValue":l[4]||(l[4]=e=>n.state.hour=e),min:0,max:99,style:{width:"12rem"},onChange:n.handleSecChange},null,8,["modelValue","onChange"]),(0,a.eW)(" 时 "),(0,a.bF)(u,{modelValue:n.state.min,"onUpdate:modelValue":l[5]||(l[5]=e=>n.state.min=e),min:0,max:99,style:{width:"12rem"},onChange:n.handleSecChange},null,8,["modelValue","onChange"]),(0,a.eW)(" 分 "),(0,a.bF)(u,{modelValue:n.state.sec,"onUpdate:modelValue":l[6]||(l[6]=e=>n.state.sec=e),min:0,max:99,style:{width:"12rem"},onChange:n.handleSecChange},null,8,["modelValue","onChange"]),(0,a.eW)(" 秒 ")])])])),_:1})],64)}var K=t(920),G={setup(e){const l=(0,s.B)(),t=(0,r.Kh)({secretKey:"",year:0,month:0,day:0,hour:0,min:1,sec:0}),n=()=>{(0,K.yN)().then((e=>{t.secretKey=e}))},o=()=>{t.secretKey&&(0,K.ir)(t.secretKey).then((()=>{k.nk.success("已操作")})).catch((e=>{console.log(e),k.nk.error("操作失败")}))},d=()=>{const e=31536e3*t.year+2592e3*t.month+86400*t.day+3600*t.hour+60*t.min+t.sec;(0,K.PY)(e).then((()=>{k.nk.success("已操作")})).catch((e=>{console.log(e),k.nk.error("操作失败")}))},u=()=>{d()},i=()=>{o()};return(0,a.sV)((()=>{n();let e=l.value.config.Common.UpdateIntervalSeconds;t.year=Math.floor(e/31536e3),e%=31536e3,t.month=Math.floor(e/2592e3),e%=2592e3,t.day=Math.floor(e/86400),e%=86400,t.hour=Math.floor(e/3600),e%=3600,t.min=Math.floor(e/60),e%=60,t.sec=e})),{state:t,handleChange:i,handleSecChange:u}}};const z=(0,C.A)(G,[["render",x]]);var B=z;const E={key:0},U={key:1},W={key:0},L={key:1},X={key:0},I={key:1};function A(e,l,t,n,o,r){const s=(0,a.g2)("el-input"),u=(0,a.g2)("el-checkbox"),i=(0,a.g2)("el-form-item"),c=(0,a.g2)("el-table-column"),h=(0,a.g2)("el-switch"),m=(0,a.g2)("el-table"),p=(0,a.g2)("el-dialog");return(0,a.uX)(),(0,a.CE)(a.FK,null,[(0,a.bF)(i,{label:"中继密钥"},{default:(0,a.k6)((()=>[(0,a.bF)(s,{type:"password","show-password":"",modelValue:n.state.list.SecretKey,"onUpdate:modelValue":l[0]||(l[0]=e=>n.state.list.SecretKey=e),maxlength:"36",onChange:n.handleSave},null,8,["modelValue","onChange"]),(0,a.bF)(u,{modelValue:n.state.list.SSL,"onUpdate:modelValue":l[1]||(l[1]=e=>n.state.list.SSL=e),label:"使用ssl",size:"large",onChange:n.handleSave},null,8,["modelValue","onChange"]),(0,a.bF)(u,{modelValue:n.state.list.Disabled,"onUpdate:modelValue":l[2]||(l[2]=e=>n.state.list.Disabled=e),label:"禁用中继",size:"large",onChange:n.handleSave},null,8,["modelValue","onChange"]),(0,a.Lk)("a",{href:"javascript:;",onClick:l[3]||(l[3]=e=>n.state.show=!0),class:(0,d.C4)(["delay a-line",{red:0==n.state.nodes.length,green:n.state.nodes.length>0}])}," 中继节点 : "+(0,d.v_)(n.state.nodes.length),3)])),_:1}),(0,a.bF)(p,{modelValue:n.state.show,"onUpdate:modelValue":l[4]||(l[4]=e=>n.state.show=e),title:"中继节点",width:"760",top:"2vh"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.bF)(m,{data:n.state.nodes,size:"small",border:"",height:"500"},{default:(0,a.k6)((()=>[(0,a.bF)(c,{property:"Name",label:"名称"}),(0,a.bF)(c,{property:"MaxGbTotal",label:"月流量",width:"160"},{default:(0,a.k6)((e=>[0==e.row.MaxGbTotal?((0,a.uX)(),(0,a.CE)("span",E,"无限制")):((0,a.uX)(),(0,a.CE)("span",U,(0,d.v_)((e.row.MaxGbTotalLastBytes/1024/1024/1024).toFixed(2))+"GB / "+(0,d.v_)(e.row.MaxGbTotal)+"GB",1))])),_:1}),(0,a.bF)(c,{property:"MaxBandwidth",label:"连接带宽",width:"80"},{default:(0,a.k6)((e=>[0==e.row.MaxBandwidth?((0,a.uX)(),(0,a.CE)("span",W,"无限制")):((0,a.uX)(),(0,a.CE)("span",L,(0,d.v_)(e.row.MaxBandwidth)+"Mbps",1))])),_:1}),(0,a.bF)(c,{property:"MaxBandwidthTotal",label:"总带宽",width:"80"},{default:(0,a.k6)((e=>[0==e.row.MaxBandwidthTotal?((0,a.uX)(),(0,a.CE)("span",X,"无限制")):((0,a.uX)(),(0,a.CE)("span",I,(0,d.v_)(e.row.MaxBandwidthTotal)+"Mbps",1))])),_:1}),(0,a.bF)(c,{property:"BandwidthRatio",label:"带宽速率",width:"66"},{default:(0,a.k6)((e=>[(0,a.Lk)("span",null,(0,d.v_)(100*e.row.BandwidthRatio)+"%",1)])),_:1}),(0,a.bF)(c,{property:"ConnectionRatio",label:"连接数",width:"60"},{default:(0,a.k6)((e=>[(0,a.Lk)("span",null,(0,d.v_)(100*e.row.ConnectionRatio)+"%",1)])),_:1}),(0,a.bF)(c,{property:"Delay",label:"延迟",width:"60"},{default:(0,a.k6)((e=>[(0,a.Lk)("span",null,(0,d.v_)(e.row.Delay)+"ms",1)])),_:1}),(0,a.bF)(c,{property:"Public",label:"公开",width:"60"},{default:(0,a.k6)((e=>[(0,a.bF)(h,{disabled:"",modelValue:e.row.Public,"onUpdate:modelValue":l=>e.row.Public=l,size:"small"},null,8,["modelValue","onUpdate:modelValue"])])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue"])],64)}var M=t(9232),P={setup(e){const l=(0,s.B)(),t=(0,r.Kh)({list:l.value.config.Client.Relay.Server,show:!1,nodes:[],timer:0});(0,a.wB)((()=>l.value.config.Client.Relay.Server),(()=>{t.list.Delay=l.value.config.Client.Relay.Server.Delay}));const n=()=>{(0,M.q)(t.list).then((()=>{k.nk.success("已操作")})).catch((e=>{console.log(e),k.nk.error("操作失败")}))},o=()=>{(0,M.W4)().then((e=>{t.nodes=e,t.timer=setTimeout(o,1e3)})).catch((()=>{t.timer=setTimeout(o,1e3)}))};return(0,a.sV)((()=>{o()})),(0,a.hi)((()=>{clearTimeout(t.timer)})),{state:t,handleSave:n}}};const T=(0,C.A)(P,[["render",A],["__scopeId","data-v-3a883663"]]);var D=T,N={components:{SForward:S,Updater:B,RelayServers:D},setup(e){const l=(0,s.B)(),t=(0,r.Kh)({list:l.value.config.Client.Server,height:(0,a.EW)((()=>l.value.height-90))}),n=()=>{(0,g.jU)(t.list).then((()=>{k.nk.success("已操作,请在右下角【信标服务器】重连")})).catch((e=>{console.log(e),k.nk.error("操作失败")}))};return{state:t,handleSave:n}}};const R=(0,C.A)(N,[["render",p]]);var $=R;function Q(e,l,t,n,o,r){const s=(0,a.g2)("el-input"),u=(0,a.g2)("el-table-column"),i=(0,a.g2)("Delete"),c=(0,a.g2)("el-icon"),h=(0,a.g2)("el-button"),m=(0,a.g2)("el-popconfirm"),p=(0,a.g2)("Plus"),g=(0,a.g2)("el-table");return(0,a.uX)(),(0,a.Wv)(g,{stripe:"",data:n.state.list,border:"",size:"small",width:"100%",height:`${n.state.height}px`,onCellDblclick:n.handleCellClick},{default:(0,a.k6)((()=>[(0,a.bF)(u,{prop:"Name",label:"名称",width:"100"},{default:(0,a.k6)((e=>[e.row.NameEditing?((0,a.uX)(),(0,a.Wv)(s,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":l=>e.row.Name=l,onBlur:l=>n.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[(0,a.eW)((0,d.v_)(e.row.Name),1)],64))])),_:1}),(0,a.bF)(u,{prop:"Id",label:"Id"},{default:(0,a.k6)((e=>[e.row.IdEditing?((0,a.uX)(),(0,a.Wv)(s,{key:0,autofocus:"",size:"small",modelValue:e.row.Id,"onUpdate:modelValue":l=>e.row.Id=l,onBlur:l=>n.handleEditBlur(e.row,"Id")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[(0,a.eW)((0,d.v_)(e.row.Id),1)],64))])),_:1}),(0,a.bF)(u,{prop:"Password",label:"密码"},{default:(0,a.k6)((e=>[e.row.PasswordEditing?((0,a.uX)(),(0,a.Wv)(s,{key:0,type:"password","show-password":"",size:"small",modelValue:e.row.Password,"onUpdate:modelValue":l=>e.row.Password=l,onBlur:l=>n.handleEditBlur(e.row,"Password")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[(0,a.eW)((0,d.v_)(e.row.Password.replace(/.{1}/g,"*")),1)],64))])),_:1}),(0,a.bF)(u,{prop:"Oper",label:"操作",width:"110"},{default:(0,a.k6)((e=>[(0,a.Lk)("div",null,[(0,a.bF)(m,{title:"删除不可逆,是否确认?",onConfirm:l=>n.handleDel(e.$index)},{reference:(0,a.k6)((()=>[(0,a.bF)(h,{type:"danger",size:"small"},{default:(0,a.k6)((()=>[(0,a.bF)(c,null,{default:(0,a.k6)((()=>[(0,a.bF)(i)])),_:1})])),_:1})])),_:2},1032,["onConfirm"]),(0,a.bF)(h,{type:"primary",size:"small",onClick:l=>n.handleAdd(e.$index)},{default:(0,a.k6)((()=>[(0,a.bF)(c,null,{default:(0,a.k6)((()=>[(0,a.bF)(p)])),_:1})])),_:2},1032,["onClick"])])])),_:1})])),_:1},8,["data","height","onCellDblclick"])}var Y=t(7477),j={components:{Delete:Y.epd,Plus:Y.FWt,Select:Y.l6P},setup(e){const l=(0,s.B)(),t=(0,r.Kh)({list:l.value.config.Client.Groups||[],height:(0,a.EW)((()=>l.value.height-90))});(0,a.wB)((()=>l.value.config.Client.Groups),(()=>{0==t.list.filter((e=>e["__editing"])).length&&(t.list=l.value.config.Client.Groups)}));const n=(e,l)=>{o(e,l.property)},o=(e,l)=>{t.list.forEach((e=>{e["NameEditing"]=!1,e["IdEditing"]=!1,e["PasswordEditing"]=!1})),e[`${l}Editing`]=!0,e["__editing"]=!0},d=(e,l)=>{e[`${l}Editing`]=!1,e["__editing"]=!1,c()},u=e=>{t.list.splice(e,1),c()},i=e=>{t.list.filter((e=>""==e.Id||""==e.Name)).length>0||(t.list.splice(e+1,0,{Name:"",Id:"",Password:""}),c())},c=()=>{(0,g.zp)(t.list).then((()=>{k.nk.success("已操作,请在右下角【信标服务器】重连")})).catch((e=>{console.log(e),k.nk.error("操作失败")}))};return{state:t,handleCellClick:n,handleEditBlur:d,handleDel:u,handleAdd:i}}};const q=(0,C.A)(j,[["render",Q]]);var H=q;const J={class:"t-c"};function O(e,l,t,n,o,r){const s=(0,a.g2)("el-checkbox"),u=(0,a.g2)("el-col"),i=(0,a.g2)("el-row"),c=(0,a.g2)("el-checkbox-group"),h=(0,a.g2)("el-button"),m=(0,a.g2)("el-card");return(0,a.uX)(),(0,a.CE)("div",{style:(0,d.Tr)({height:`${n.state.height}px`})},[(0,a.bF)(m,{shadow:"never"},{header:(0,a.k6)((()=>[(0,a.eW)("选择你需要同步的项,将这些配置同步到本组所有客户端")])),footer:(0,a.k6)((()=>[(0,a.Lk)("div",J,[(0,a.bF)(h,{type:"success",onClick:n.handleSync},{default:(0,a.k6)((()=>[(0,a.eW)("确定同步")])),_:1},8,["onClick"])])])),default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.bF)(s,{modelValue:n.state.checkAll,"onUpdate:modelValue":l[0]||(l[0]=e=>n.state.checkAll=e),indeterminate:n.state.isIndeterminate,onChange:n.handleCheckAllChange},{default:(0,a.k6)((()=>[(0,a.eW)("全选")])),_:1},8,["modelValue","indeterminate","onChange"]),(0,a.bF)(c,{modelValue:n.state.checkeds,"onUpdate:modelValue":l[1]||(l[1]=e=>n.state.checkeds=e),onChange:n.handleCheckedsChange},{default:(0,a.k6)((()=>[(0,a.bF)(i,null,{default:(0,a.k6)((()=>[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(n.state.names,(e=>((0,a.uX)(),(0,a.Wv)(u,{span:8},{default:(0,a.k6)((()=>[((0,a.uX)(),(0,a.Wv)(s,{key:e.name,label:e.label,value:e.name},{default:(0,a.k6)((()=>[(0,a.eW)((0,d.v_)(e.label),1)])),_:2},1032,["label","value"]))])),_:2},1024)))),256))])),_:1})])),_:1},8,["modelValue","onChange"])])])),_:1})],4)}var Z=t(8835),ee={label:"同步配置",name:"async",order:7,setup(e){const l=(0,s.B)(),t=(0,r.Kh)({names:[],checkAll:!1,isIndeterminate:!1,checkeds:[],height:(0,a.EW)((()=>l.value.height-90))}),n=e=>{t.checkeds=e?t.names.map((e=>e.name)):[],t.isIndeterminate=!1},o=e=>{const l=e.length;t.checkAll=l===t.names.length,t.isIndeterminate=l>0&&l{(0,Z.Iv)().then((e=>{t.names=e.map((e=>({name:e,label:d[e]})))}))}));const u=()=>{0!=t.checkeds.length?(0,Z.E1)(t.checkeds).then((e=>{k.nk.success("已操作")})):k.nk.error("至少选择一个")};return{state:t,handleCheckAllChange:n,handleCheckedsChange:o,handleSync:u}}};const le=(0,C.A)(ee,[["render",O]]);var te=le,ae={components:{SignInServers:$,Groups:H,Async:te},setup(e){const l=(0,s.B)(),t=(0,a.EW)((()=>l.value.hasAccess("Config"))),n=(0,a.EW)((()=>l.value.hasAccess("Sync"))),o=(0,r.Kh)({tab:"signin"});return{state:o,hasConfig:t,hasSync:n}}};const ne=(0,C.A)(ae,[["render",o],["__scopeId","data-v-11926c68"]]);var oe=ne}}]); \ No newline at end of file +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[857],{9232:function(e,l,t){t.d(l,{W4:function(){return o},q:function(){return n},uQ:function(){return r}});var a=t(4);const n=e=>(0,a.zG)("relay/SetServers",e),o=()=>(0,a.zG)("relay/Subscribe"),r=e=>(0,a.zG)("relay/Connect",e)},743:function(e,l,t){t.d(l,{Ap:function(){return n},Co:function(){return o},DY:function(){return u},Qs:function(){return i},a9:function(){return s},eX:function(){return c},gz:function(){return d},pY:function(){return r}});var a=t(4);const n=()=>(0,a.zG)("sforward/GetSecretKey"),o=e=>(0,a.zG)("sforward/SetSecretKey",e),r=e=>(0,a.zG)("sforward/get",e),s=()=>(0,a.zG)("sforward/refresh"),d=(e="0")=>(0,a.zG)("sforward/getcount",e),u=e=>(0,a.zG)("sforward/remove",e),i=e=>(0,a.zG)("sforward/add",e),c=e=>(0,a.zG)("sforward/TestLocal",e)},920:function(e,l,t){t.d(l,{BJ:function(){return c},Ce:function(){return g},NS:function(){return r},PY:function(){return u},UB:function(){return p},Vk:function(){return i},aP:function(){return m},ir:function(){return d},lJ:function(){return o},mK:function(){return n},y2:function(){return h},yN:function(){return s}});var a=t(4);const n=(e="0")=>(0,a.zG)("updater/get",e),o=e=>(0,a.zG)("updater/confirm",e),r=e=>(0,a.zG)("updater/exit",e),s=()=>(0,a.zG)("updater/GetSecretKey"),d=e=>(0,a.zG)("updater/SetSecretKey",e),u=e=>(0,a.zG)("updater/SetInterval",e),i=()=>(0,a.zG)("updater/getcurrent"),c=()=>(0,a.zG)("updater/getserver"),h=e=>(0,a.zG)("updater/confirmserver",e),m=()=>(0,a.zG)("updater/exitserver"),p=()=>(0,a.zG)("updater/Subscribe"),g=e=>(0,a.zG)("updater/check",e)},6857:function(e,l,t){t.r(l),t.d(l,{default:function(){return se}});var a=t(6768);const n={class:"servers-wrap"};function o(e,l,t,o,r,s){const d=(0,a.g2)("SignInServers"),u=(0,a.g2)("el-tab-pane"),i=(0,a.g2)("Groups"),c=(0,a.g2)("Async"),h=(0,a.g2)("el-tabs");return(0,a.uX)(),(0,a.CE)("div",n,[(0,a.bF)(h,{type:"border-card",style:{width:"100%"},modelValue:o.state.tab,"onUpdate:modelValue":l[0]||(l[0]=e=>o.state.tab=e)},{default:(0,a.k6)((()=>[o.hasConfig?((0,a.uX)(),(0,a.Wv)(u,{key:0,label:"信标服务器",name:"signin"},{default:(0,a.k6)((()=>[(0,a.bF)(d)])),_:1})):(0,a.Q3)("",!0),o.hasGroup?((0,a.uX)(),(0,a.Wv)(u,{key:1,label:"分组设置",name:"groups"},{default:(0,a.k6)((()=>[(0,a.bF)(i)])),_:1})):(0,a.Q3)("",!0),o.hasSync?((0,a.uX)(),(0,a.Wv)(u,{key:2,label:"配置同步",name:"async"},{default:(0,a.k6)((()=>[(0,a.bF)(c)])),_:1})):(0,a.Q3)("",!0)])),_:1},8,["modelValue"])])}var r=t(144),s=t(3830),d=t(4232);const u={class:"flex"},i=(0,a.Lk)("span",null,"服务器地址。ip:端口 或者 域名:端口",-1),c={class:"flex"},h=(0,a.Lk)("span",null,"密钥正确时可连接服务器",-1),m={class:"t-c"};function p(e,l,t,n,o,r){const s=(0,a.g2)("el-input"),p=(0,a.g2)("el-form-item"),g=(0,a.g2)("RelayServers"),k=(0,a.g2)("SForward"),f=(0,a.g2)("Updater"),b=(0,a.g2)("el-form"),w=(0,a.g2)("el-button"),y=(0,a.g2)("el-card");return(0,a.uX)(),(0,a.CE)("div",{class:"signin-wrap",style:(0,d.Tr)({height:`${n.state.height}px`})},[(0,a.bF)(y,{shadow:"never"},{header:(0,a.k6)((()=>[(0,a.eW)("服务器相关设置")])),footer:(0,a.k6)((()=>[(0,a.Lk)("div",m,[(0,a.bF)(w,{type:"success",onClick:n.handleSave},{default:(0,a.k6)((()=>[(0,a.eW)("确定更改")])),_:1},8,["onClick"])])])),default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.bF)(b,{"label-width":"auto"},{default:(0,a.k6)((()=>[(0,a.bF)(p,{label:"服务器地址"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",u,[(0,a.bF)(s,{class:"flex-1",modelValue:n.state.list.Host,"onUpdate:modelValue":l[0]||(l[0]=e=>n.state.list.Host=e),onChange:n.handleSave},null,8,["modelValue","onChange"]),i])])),_:1}),(0,a.bF)(p,{label:"信标密钥"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",c,[(0,a.bF)(s,{class:"flex-1",type:"password","show-password":"",maxlength:"36",modelValue:n.state.list.SecretKey,"onUpdate:modelValue":l[1]||(l[1]=e=>n.state.list.SecretKey=e),onChange:n.handleSave},null,8,["modelValue","onChange"]),h])])),_:1}),(0,a.bF)(g),(0,a.bF)(k),(0,a.bF)(f)])),_:1})])])),_:1})],4)}var g=t(9299),k=t(1219);const f={class:"flex"},b=(0,a.Lk)("span",null,"密钥正确时可使用内网穿透",-1);function w(e,l,t,n,o,r){const s=(0,a.g2)("el-input"),d=(0,a.g2)("el-form-item");return(0,a.uX)(),(0,a.Wv)(d,{label:"服务器穿透密钥"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",f,[(0,a.bF)(s,{class:"flex-1",type:"password","show-password":"",modelValue:n.state.SForwardSecretKey,"onUpdate:modelValue":l[0]||(l[0]=e=>n.state.SForwardSecretKey=e),maxlength:"36",onBlur:n.handleChange},null,8,["modelValue","onBlur"]),b])])),_:1})}var y=t(743),v={setup(e){const l=(0,r.Kh)({SForwardSecretKey:""}),t=()=>{(0,y.Ap)().then((e=>{l.SForwardSecretKey=e}))},n=()=>{l.SForwardSecretKey&&(0,y.Co)(l.SForwardSecretKey).then((()=>{k.nk.success("已操作")})).catch((e=>{console.log(e),k.nk.error("操作失败")}))},o=()=>{n()};return(0,a.sV)((()=>{t()})),{state:l,handleChange:o}}},C=t(1241);const S=(0,C.A)(v,[["render",w]]);var F=S;const V={class:"flex"},_=(0,a.Lk)("span",null,"密钥正确时可更新服务端",-1);function G(e,l,t,n,o,r){const s=(0,a.g2)("el-input"),d=(0,a.g2)("el-form-item"),u=(0,a.g2)("el-input-number");return(0,a.uX)(),(0,a.CE)(a.FK,null,[(0,a.bF)(d,{label:"服务器更新密钥"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",V,[(0,a.bF)(s,{class:"flex-1",type:"password","show-password":"",modelValue:n.state.secretKey,"onUpdate:modelValue":l[0]||(l[0]=e=>n.state.secretKey=e),maxlength:"36",onBlur:n.handleChange},null,8,["modelValue","onBlur"]),_])])),_:1}),(0,a.bF)(d,{label:"客户端更新检测频率"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.Lk)("div",null,[(0,a.bF)(u,{modelValue:n.state.year,"onUpdate:modelValue":l[1]||(l[1]=e=>n.state.year=e),min:0,max:99,style:{width:"12rem"},onChange:n.handleSecChange},null,8,["modelValue","onChange"]),(0,a.eW)(" 年 "),(0,a.bF)(u,{modelValue:n.state.month,"onUpdate:modelValue":l[2]||(l[2]=e=>n.state.month=e),min:0,max:99,style:{width:"12rem"},onChange:n.handleSecChange},null,8,["modelValue","onChange"]),(0,a.eW)(" 月 "),(0,a.bF)(u,{modelValue:n.state.day,"onUpdate:modelValue":l[3]||(l[3]=e=>n.state.day=e),min:0,max:99,style:{width:"12rem"},onChange:n.handleSecChange},null,8,["modelValue","onChange"]),(0,a.eW)(" 日 ")]),(0,a.Lk)("div",null,[(0,a.bF)(u,{modelValue:n.state.hour,"onUpdate:modelValue":l[4]||(l[4]=e=>n.state.hour=e),min:0,max:99,style:{width:"12rem"},onChange:n.handleSecChange},null,8,["modelValue","onChange"]),(0,a.eW)(" 时 "),(0,a.bF)(u,{modelValue:n.state.min,"onUpdate:modelValue":l[5]||(l[5]=e=>n.state.min=e),min:0,max:99,style:{width:"12rem"},onChange:n.handleSecChange},null,8,["modelValue","onChange"]),(0,a.eW)(" 分 "),(0,a.bF)(u,{modelValue:n.state.sec,"onUpdate:modelValue":l[6]||(l[6]=e=>n.state.sec=e),min:0,max:99,style:{width:"12rem"},onChange:n.handleSecChange},null,8,["modelValue","onChange"]),(0,a.eW)(" 秒 ")])])])),_:1})],64)}var x=t(920),K={setup(e){const l=(0,s.B)(),t=(0,r.Kh)({secretKey:"",year:0,month:0,day:0,hour:0,min:1,sec:0}),n=()=>{(0,x.yN)().then((e=>{t.secretKey=e}))},o=()=>{t.secretKey&&(0,x.ir)(t.secretKey).then((()=>{k.nk.success("已操作")})).catch((e=>{console.log(e),k.nk.error("操作失败")}))},d=()=>{const e=31536e3*t.year+2592e3*t.month+86400*t.day+3600*t.hour+60*t.min+t.sec;(0,x.PY)(e).then((()=>{k.nk.success("已操作")})).catch((e=>{console.log(e),k.nk.error("操作失败")}))},u=()=>{d()},i=()=>{o()};return(0,a.sV)((()=>{n();let e=l.value.config.Common.UpdateIntervalSeconds;t.year=Math.floor(e/31536e3),e%=31536e3,t.month=Math.floor(e/2592e3),e%=2592e3,t.day=Math.floor(e/86400),e%=86400,t.hour=Math.floor(e/3600),e%=3600,t.min=Math.floor(e/60),e%=60,t.sec=e})),{state:t,handleChange:i,handleSecChange:u}}};const z=(0,C.A)(K,[["render",G]]);var B=z;const E={key:0},W={key:1},U={key:0},X={key:1},L={key:0},A={key:1};function I(e,l,t,n,o,r){const s=(0,a.g2)("el-input"),u=(0,a.g2)("el-checkbox"),i=(0,a.g2)("el-form-item"),c=(0,a.g2)("el-table-column"),h=(0,a.g2)("el-switch"),m=(0,a.g2)("el-table"),p=(0,a.g2)("el-dialog");return(0,a.uX)(),(0,a.CE)(a.FK,null,[(0,a.bF)(i,{label:"中继密钥"},{default:(0,a.k6)((()=>[(0,a.bF)(s,{type:"password","show-password":"",modelValue:n.state.list.SecretKey,"onUpdate:modelValue":l[0]||(l[0]=e=>n.state.list.SecretKey=e),maxlength:"36",onChange:n.handleSave},null,8,["modelValue","onChange"]),(0,a.bF)(u,{modelValue:n.state.list.SSL,"onUpdate:modelValue":l[1]||(l[1]=e=>n.state.list.SSL=e),label:"使用ssl",size:"large",onChange:n.handleSave},null,8,["modelValue","onChange"]),(0,a.bF)(u,{modelValue:n.state.list.Disabled,"onUpdate:modelValue":l[2]||(l[2]=e=>n.state.list.Disabled=e),label:"禁用中继",size:"large",onChange:n.handleSave},null,8,["modelValue","onChange"]),(0,a.Lk)("a",{href:"javascript:;",onClick:l[3]||(l[3]=e=>n.state.show=!0),class:(0,d.C4)(["delay a-line",{red:0==n.state.nodes.length,green:n.state.nodes.length>0}])}," 中继节点 : "+(0,d.v_)(n.state.nodes.length),3)])),_:1}),(0,a.bF)(p,{modelValue:n.state.show,"onUpdate:modelValue":l[4]||(l[4]=e=>n.state.show=e),title:"中继节点",width:"760",top:"2vh"},{default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.bF)(m,{data:n.state.nodes,size:"small",border:"",height:"500"},{default:(0,a.k6)((()=>[(0,a.bF)(c,{property:"Name",label:"名称"}),(0,a.bF)(c,{property:"MaxGbTotal",label:"月流量",width:"160"},{default:(0,a.k6)((e=>[0==e.row.MaxGbTotal?((0,a.uX)(),(0,a.CE)("span",E,"无限制")):((0,a.uX)(),(0,a.CE)("span",W,(0,d.v_)((e.row.MaxGbTotalLastBytes/1024/1024/1024).toFixed(2))+"GB / "+(0,d.v_)(e.row.MaxGbTotal)+"GB",1))])),_:1}),(0,a.bF)(c,{property:"MaxBandwidth",label:"连接带宽",width:"80"},{default:(0,a.k6)((e=>[0==e.row.MaxBandwidth?((0,a.uX)(),(0,a.CE)("span",U,"无限制")):((0,a.uX)(),(0,a.CE)("span",X,(0,d.v_)(e.row.MaxBandwidth)+"Mbps",1))])),_:1}),(0,a.bF)(c,{property:"MaxBandwidthTotal",label:"总带宽",width:"80"},{default:(0,a.k6)((e=>[0==e.row.MaxBandwidthTotal?((0,a.uX)(),(0,a.CE)("span",L,"无限制")):((0,a.uX)(),(0,a.CE)("span",A,(0,d.v_)(e.row.MaxBandwidthTotal)+"Mbps",1))])),_:1}),(0,a.bF)(c,{property:"BandwidthRatio",label:"带宽速率",width:"66"},{default:(0,a.k6)((e=>[(0,a.Lk)("span",null,(0,d.v_)(100*e.row.BandwidthRatio)+"%",1)])),_:1}),(0,a.bF)(c,{property:"ConnectionRatio",label:"连接数",width:"60"},{default:(0,a.k6)((e=>[(0,a.Lk)("span",null,(0,d.v_)(100*e.row.ConnectionRatio)+"%",1)])),_:1}),(0,a.bF)(c,{property:"Delay",label:"延迟",width:"60"},{default:(0,a.k6)((e=>[(0,a.Lk)("span",null,(0,d.v_)(e.row.Delay)+"ms",1)])),_:1}),(0,a.bF)(c,{property:"Public",label:"公开",width:"60"},{default:(0,a.k6)((e=>[(0,a.bF)(h,{disabled:"",modelValue:e.row.Public,"onUpdate:modelValue":l=>e.row.Public=l,size:"small"},null,8,["modelValue","onUpdate:modelValue"])])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue"])],64)}var M=t(9232),P={setup(e){const l=(0,s.B)(),t=(0,r.Kh)({list:l.value.config.Client.Relay.Server,show:!1,nodes:[],timer:0});(0,a.wB)((()=>l.value.config.Client.Relay.Server),(()=>{t.list.Delay=l.value.config.Client.Relay.Server.Delay}));const n=()=>{(0,M.q)(t.list).then((()=>{k.nk.success("已操作")})).catch((e=>{console.log(e),k.nk.error("操作失败")}))},o=()=>{(0,M.W4)().then((e=>{t.nodes=e,t.timer=setTimeout(o,1e3)})).catch((()=>{t.timer=setTimeout(o,1e3)}))};return(0,a.sV)((()=>{o()})),(0,a.hi)((()=>{clearTimeout(t.timer)})),{state:t,handleSave:n}}};const T=(0,C.A)(P,[["render",I],["__scopeId","data-v-3a883663"]]);var N=T,D={components:{SForward:F,Updater:B,RelayServers:N},setup(e){const l=(0,s.B)(),t=(0,r.Kh)({list:l.value.config.Client.Server,height:(0,a.EW)((()=>l.value.height-90))}),n=()=>{(0,g.jU)(t.list).then((()=>{k.nk.success("已操作,请在右下角【信标服务器】重连")})).catch((e=>{console.log(e),k.nk.error("操作失败")}))};return{state:t,handleSave:n}}};const R=(0,C.A)(D,[["render",p]]);var $=R;function Q(e,l,t,n,o,r){const s=(0,a.g2)("el-input"),u=(0,a.g2)("el-table-column"),i=(0,a.g2)("Delete"),c=(0,a.g2)("el-icon"),h=(0,a.g2)("el-button"),m=(0,a.g2)("el-popconfirm"),p=(0,a.g2)("Plus"),g=(0,a.g2)("el-table");return(0,a.uX)(),(0,a.Wv)(g,{stripe:"",data:n.state.list,border:"",size:"small",width:"100%",height:`${n.state.height}px`,onCellDblclick:n.handleCellClick},{default:(0,a.k6)((()=>[(0,a.bF)(u,{prop:"Name",label:"名称",width:"100"},{default:(0,a.k6)((e=>[e.row.NameEditing?((0,a.uX)(),(0,a.Wv)(s,{key:0,autofocus:"",size:"small",modelValue:e.row.Name,"onUpdate:modelValue":l=>e.row.Name=l,onBlur:l=>n.handleEditBlur(e.row,"Name")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[(0,a.eW)((0,d.v_)(e.row.Name),1)],64))])),_:1}),(0,a.bF)(u,{prop:"Id",label:"Id"},{default:(0,a.k6)((e=>[e.row.IdEditing?((0,a.uX)(),(0,a.Wv)(s,{key:0,autofocus:"",size:"small",modelValue:e.row.Id,"onUpdate:modelValue":l=>e.row.Id=l,onBlur:l=>n.handleEditBlur(e.row,"Id")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[(0,a.eW)((0,d.v_)(e.row.Id),1)],64))])),_:1}),(0,a.bF)(u,{prop:"Password",label:"密码"},{default:(0,a.k6)((e=>[e.row.PasswordEditing?((0,a.uX)(),(0,a.Wv)(s,{key:0,type:"password","show-password":"",size:"small",modelValue:e.row.Password,"onUpdate:modelValue":l=>e.row.Password=l,onBlur:l=>n.handleEditBlur(e.row,"Password")},null,8,["modelValue","onUpdate:modelValue","onBlur"])):((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[(0,a.eW)((0,d.v_)(e.row.Password.replace(/.{1}/g,"*")),1)],64))])),_:1}),(0,a.bF)(u,{prop:"Oper",label:"操作",width:"110"},{default:(0,a.k6)((e=>[(0,a.Lk)("div",null,[(0,a.bF)(m,{title:"删除不可逆,是否确认?",onConfirm:l=>n.handleDel(e.$index)},{reference:(0,a.k6)((()=>[(0,a.bF)(h,{type:"danger",size:"small"},{default:(0,a.k6)((()=>[(0,a.bF)(c,null,{default:(0,a.k6)((()=>[(0,a.bF)(i)])),_:1})])),_:1})])),_:2},1032,["onConfirm"]),(0,a.bF)(h,{type:"primary",size:"small",onClick:l=>n.handleAdd(e.$index)},{default:(0,a.k6)((()=>[(0,a.bF)(c,null,{default:(0,a.k6)((()=>[(0,a.bF)(p)])),_:1})])),_:2},1032,["onClick"])])])),_:1})])),_:1},8,["data","height","onCellDblclick"])}var Y=t(7477),j={components:{Delete:Y.epd,Plus:Y.FWt,Select:Y.l6P},setup(e){const l=(0,s.B)(),t=(0,r.Kh)({list:l.value.config.Client.Groups||[],height:(0,a.EW)((()=>l.value.height-90))});(0,a.wB)((()=>l.value.config.Client.Groups),(()=>{0==t.list.filter((e=>e["__editing"])).length&&(t.list=l.value.config.Client.Groups)}));const n=(e,l)=>{o(e,l.property)},o=(e,l)=>{t.list.forEach((e=>{e["NameEditing"]=!1,e["IdEditing"]=!1,e["PasswordEditing"]=!1})),e[`${l}Editing`]=!0,e["__editing"]=!0},d=(e,l)=>{e[`${l}Editing`]=!1,e["__editing"]=!1,c()},u=e=>{t.list.splice(e,1),c()},i=e=>{t.list.filter((e=>""==e.Id||""==e.Name)).length>0||(t.list.splice(e+1,0,{Name:"",Id:"",Password:""}),c())},c=()=>{(0,g.zp)(t.list).then((()=>{k.nk.success("已操作,请在右下角【信标服务器】重连")})).catch((e=>{console.log(e),k.nk.error("操作失败")}))};return{state:t,handleCellClick:n,handleEditBlur:d,handleDel:u,handleAdd:i}}};const q=(0,C.A)(j,[["render",Q]]);var H=q;const J={class:"t-c"};function O(e,l,t,n,o,r){const s=(0,a.g2)("el-checkbox"),u=(0,a.g2)("el-col"),i=(0,a.g2)("el-row"),c=(0,a.g2)("el-checkbox-group"),h=(0,a.g2)("el-button"),m=(0,a.g2)("el-card");return(0,a.uX)(),(0,a.CE)("div",{style:(0,d.Tr)({height:`${n.state.height}px`})},[(0,a.bF)(m,{shadow:"never"},{header:(0,a.k6)((()=>[(0,a.eW)("选择你需要同步的项,将这些配置同步到本组所有客户端")])),footer:(0,a.k6)((()=>[(0,a.Lk)("div",J,[(0,a.bF)(h,{type:"success",onClick:n.handleSync},{default:(0,a.k6)((()=>[(0,a.eW)("确定同步")])),_:1},8,["onClick"])])])),default:(0,a.k6)((()=>[(0,a.Lk)("div",null,[(0,a.bF)(s,{modelValue:n.state.checkAll,"onUpdate:modelValue":l[0]||(l[0]=e=>n.state.checkAll=e),indeterminate:n.state.isIndeterminate,onChange:n.handleCheckAllChange},{default:(0,a.k6)((()=>[(0,a.eW)("全选")])),_:1},8,["modelValue","indeterminate","onChange"]),(0,a.bF)(c,{modelValue:n.state.checkeds,"onUpdate:modelValue":l[1]||(l[1]=e=>n.state.checkeds=e),onChange:n.handleCheckedsChange},{default:(0,a.k6)((()=>[(0,a.bF)(i,null,{default:(0,a.k6)((()=>[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(n.state.names,(e=>((0,a.uX)(),(0,a.Wv)(u,{span:8},{default:(0,a.k6)((()=>[((0,a.uX)(),(0,a.Wv)(s,{key:e.name,label:e.label,value:e.name},{default:(0,a.k6)((()=>[(0,a.eW)((0,d.v_)(e.label),1)])),_:2},1032,["label","value"]))])),_:2},1024)))),256))])),_:1})])),_:1},8,["modelValue","onChange"])])])),_:1})],4)}var Z=t(4);const ee=()=>(0,Z.zG)("sync/Names"),le=e=>(0,Z.zG)("sync/Sync",e);var te={label:"同步配置",name:"async",order:7,setup(e){const l=(0,s.B)(),t=(0,r.Kh)({names:[],checkAll:!1,isIndeterminate:!1,checkeds:[],height:(0,a.EW)((()=>l.value.height-90))}),n=e=>{t.checkeds=e?t.names.map((e=>e.name)):[],t.isIndeterminate=!1},o=e=>{const l=e.length;t.checkAll=l===t.names.length,t.isIndeterminate=l>0&&l{ee().then((e=>{t.names=e.map((e=>({name:e,label:d[e]})))}))}));const u=()=>{0!=t.checkeds.length?le(t.checkeds).then((e=>{k.nk.success("已操作")})):k.nk.error("至少选择一个")};return{state:t,handleCheckAllChange:n,handleCheckedsChange:o,handleSync:u}}};const ae=(0,C.A)(te,[["render",O]]);var ne=ae,oe={components:{SignInServers:$,Groups:H,Async:ne},setup(e){const l=(0,s.B)(),t=(0,a.EW)((()=>l.value.hasAccess("Config"))),n=(0,a.EW)((()=>l.value.hasAccess("Sync"))),o=(0,a.EW)((()=>l.value.hasAccess("Group"))),d=(0,r.Kh)({tab:"signin"});return{state:d,hasConfig:t,hasSync:n,hasGroup:o}}};const re=(0,C.A)(oe,[["render",o],["__scopeId","data-v-57813473"]]);var se=re}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/952.d90fc618.js b/linker.tray.win/web/js/952.d90fc618.js new file mode 100644 index 00000000..61d47129 --- /dev/null +++ b/linker.tray.win/web/js/952.d90fc618.js @@ -0,0 +1 @@ +"use strict";(self["webpackChunklinker_web"]=self["webpackChunklinker_web"]||[]).push([[952],{5096:function(e,t,a){a.d(t,{A:function(){return p}});var l=a(6768);const o=e=>((0,l.Qi)("data-v-4892cd3c"),e=e(),(0,l.jt)(),e),n=o((()=>(0,l.Lk)("input",{type:"file",id:"file-input"},null,-1)));function s(e,t,a,o,s,r){const i=(0,l.g2)("PictureRounded"),d=(0,l.g2)("el-icon");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.Lk)("a",{href:"javascript:;",onClick:t[0]||(t[0]=(...e)=>o.handleBg&&o.handleBg(...e))},[(0,l.bF)(d,null,{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1})]),n],64)}var r=a(7477),i=a(2933),d={components:{PictureRounded:r.syp},props:["name"],setup(e){const t=`bg-${e.name}`,a=()=>{localStorage.getItem(t)?i.s.confirm("清除背景?","Warning",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{n()})).catch((()=>{})):document.getElementById("file-input").click()},o=e=>{const t=e.target.files[0];if(t)try{const e=new FileReader;e.onload=function(e){n(e.target.result)},e.readAsDataURL(t)}catch(a){}e.target.value=""},n=e=>{e?(document.body.className="sunny",localStorage.setItem(t,e),document.body.style=`background-image:url(${e})`):(document.body.className="",document.body.style="",localStorage.setItem(t,""))};return(0,l.sV)((()=>{document.getElementById("file-input").addEventListener("change",o),n(localStorage.getItem(t))})),{handleBg:a}}},c=a(1241);const u=(0,c.A)(d,[["render",s],["__scopeId","data-v-4892cd3c"]]);var p=u},3847:function(e,t,a){a.d(t,{A:function(){return Ye}});var l=a(6768),o=a(4232),n=a.p+"img/coin.6431311b.svg",s=a.p+"img/wechat.5c371c5d.jpg",r=a.p+"img/alipay.ff9b1e7c.jpg";const i=e=>((0,l.Qi)("data-v-2a629595"),e=e(),(0,l.jt)(),e),d={class:"status-wrap flex"},c={class:"copy"},u=i((()=>(0,l.Lk)("img",{src:n,alt:"memory"},null,-1))),p=i((()=>(0,l.Lk)("span",null,"赞助",-1))),g=[u,p],v={href:"https://github.com/snltty/linker",target:"_blank"},f=i((()=>(0,l.Lk)("div",{class:"flex-1"},null,-1))),m={class:"export"},h={class:"api"},y={class:"server"},k=i((()=>(0,l.Lk)("div",{class:"pay"},[(0,l.Lk)("img",{src:s,alt:""}),(0,l.Lk)("img",{src:r,alt:""})],-1)));function w(e,t,a,n,s,r){const i=(0,l.g2)("Export"),u=(0,l.g2)("Api"),p=(0,l.g2)("Server"),w=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.CE)("div",d,[(0,l.Lk)("div",c,[(0,l.Lk)("a",{href:"javascript:;",class:"memory",title:"赞助一笔,让作者饱餐一顿",onClick:t[0]||(t[0]=e=>n.state.showPay=!0)},g),(0,l.Lk)("a",v,"©linker "+(0,o.v_)(n.self.Version),1)]),f,(0,l.Lk)("div",m,[(0,l.bF)(i,{config:n.config},null,8,["config"])]),(0,l.Lk)("div",h,[(0,l.bF)(u,{config:n.config},null,8,["config"])]),(0,l.Lk)("div",y,[(0,l.bF)(p,{config:n.config},null,8,["config"])]),(0,l.bF)(w,{modelValue:n.state.showPay,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.showPay=e),title:"赞助linker",width:"300",top:"1vh"},{default:(0,l.k6)((()=>[k])),_:1},8,["modelValue"])])}var b=a(144);const S={href:"javascript:;",title:"此设备的管理接口"};function B(e,t,a,n,s,r){const i=(0,l.g2)("Tools"),d=(0,l.g2)("el-icon"),c=(0,l.g2)("el-popconfirm");return n.config?((0,l.uX)(),(0,l.CE)("div",{key:0,class:(0,o.C4)(["status-api-wrap",{connected:n.connected}])},[(0,l.bF)(c,{"confirm-button-text":"清除","cancel-button-text":"更改",title:"确定你的操作?",onCancel:n.handleShow,onConfirm:n.handleResetConnect},{reference:(0,l.k6)((()=>[(0,l.Lk)("a",S,[(0,l.bF)(d,{size:"16"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1}),(0,l.eW)(" 管理接口 ")])])),_:1},8,["onCancel","onConfirm"])],2)):(0,l.Q3)("",!0)}var F=a(3830),C=a(4),_=a(7477),V={components:{Tools:_.S0q},props:["config"],setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.api.connected)),o=()=>{localStorage.setItem("api-cache",""),window.location.reload()},n=()=>{(0,C.e3)(),(0,C.a1)(`ws${"https:"===window.location.protocol?"s":""}://${window.location.hostname}:12345`,"snltty")};return{config:e.config,connected:a,handleShow:n,handleResetConnect:o}}},x=a(1241);const T=(0,x.A)(V,[["render",B],["__scopeId","data-v-1d3d9c26"]]);var L=T;const R={class:"status-server-wrap"};function I(e,t,a,o,n,s){const r=(0,l.g2)("ServerConfig"),i=(0,l.g2)("ServerVersion"),d=(0,l.g2)("ServerFlow");return(0,l.uX)(),(0,l.CE)("div",R,[(0,l.bF)(r,{config:o.config},null,8,["config"]),(0,l.bF)(i,{config:o.config},null,8,["config"]),o.config&&o.hasFlow?((0,l.uX)(),(0,l.Wv)(d,{key:0,config:o.config},null,8,["config"])):(0,l.Q3)("",!0)])}const P=e=>((0,l.Qi)("data-v-72376126"),e=e(),(0,l.jt)(),e),W=P((()=>(0,l.Lk)("span",null,"信标服务器",-1))),E={class:"dialog-footer t-c"};function D(e,t,a,n,s,r){const i=(0,l.g2)("Promotion"),d=(0,l.g2)("el-icon"),c=(0,l.g2)("el-input"),u=(0,l.g2)("el-form-item"),p=(0,l.g2)("el-option"),g=(0,l.g2)("el-select"),v=(0,l.g2)("el-form"),f=(0,l.g2)("el-button"),m=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.CE)(l.FK,null,[(0,l.Lk)("a",{href:"javascript:;",class:(0,o.C4)({connected:n.state.connected}),title:"更改你的连接设置",onClick:t[0]||(t[0]=(...e)=>n.handleConfig&&n.handleConfig(...e))},[(0,l.bF)(d,{size:"16"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1}),(0,l.eW)(),W],2),(0,l.bF)(m,{modelValue:n.state.show,"onUpdate:modelValue":t[4]||(t[4]=e=>n.state.show=e),title:"连接设置",width:"300","append-to-body":""},{footer:(0,l.k6)((()=>[(0,l.Lk)("div",E,[(0,l.bF)(f,{onClick:t[3]||(t[3]=e=>n.state.show=!1),loading:n.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1},8,["loading"]),(0,l.bF)(f,{type:"primary",onClick:n.handleSave,loading:n.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("确定保存")])),_:1},8,["onClick","loading"])])])),default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(v,{model:n.state.form,rules:n.state.rules,"label-width":"6rem"},{default:(0,l.k6)((()=>[n.hasRenameSelf?((0,l.uX)(),(0,l.Wv)(u,{key:0,label:"机器名",prop:"name"},{default:(0,l.k6)((()=>[(0,l.bF)(c,{modelValue:n.state.form.name,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.form.name=e),maxlength:"32","show-word-limit":""},null,8,["modelValue"])])),_:1})):(0,l.Q3)("",!0),n.hasGroup?((0,l.uX)(),(0,l.Wv)(u,{key:1,label:"分组名",prop:"groupid"},{default:(0,l.k6)((()=>[(0,l.bF)(g,{modelValue:n.state.groupid,"onUpdate:modelValue":t[2]||(t[2]=e=>n.state.groupid=e),onChange:n.handleGroupChange},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(n.state.form.groups,(e=>((0,l.uX)(),(0,l.Wv)(p,{key:e.Id,label:e.Name,value:e.Id},null,8,["label","value"])))),128))])),_:1},8,["modelValue","onChange"])])),_:1})):(0,l.Q3)("",!0)])),_:1},8,["model","rules"])])])),_:1},8,["modelValue"])],64)}var z=a(9299),K=a(1219),$={components:{Promotion:_.Yk4,CirclePlus:_.HxT},props:["config"],setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.hasAccess("RenameSelf"))),o=(0,l.EW)((()=>t.value.hasAccess("Group"))),n=(0,b.Kh)({show:!1,loading:!1,connected:(0,l.EW)((()=>t.value.signin.Connected)),groupid:t.value.config.Client.Group.Id,form:{name:t.value.config.Client.Name,groups:t.value.config.Client.Groups},rules:{}}),s=()=>{e.config&&(o.value||a.value)&&(n.form.name=t.value.config.Client.Name,n.form.groups=t.value.config.Client.Groups,n.groupid=t.value.config.Client.Group.Id,n.show=!0)},r=e=>{const t=n.form.groups.map(((e,t)=>(e.$index=t,e))).filter((t=>t.Id==e))[0].$index,a=n.form.groups[t];n.form.groups[t]=n.form.groups[0],n.form.groups[0]=a},i=()=>{n.loading=!0,(0,z.rd)(n.form).then((()=>{n.loading=!1,n.show=!1,K.nk.success("已操作"),setTimeout((()=>{window.location.reload()}),1e3)})).catch((e=>{console.log(e),n.loading=!1,K.nk.error("操作失败!")}))};return{config:e.config,hasRenameSelf:a,hasGroup:o,state:n,handleConfig:s,handleSave:i,handleGroupChange:r}}};const A=(0,x.A)($,[["render",D],["__scopeId","data-v-72376126"]]);var X=A;const O={key:0,class:"flow-wrap"},U={href:"javascript:;",title:"本服务器\r\n在线数/7天内上线数"},j={href:"javascript:;",title:"所有服务器\r\n在线数/7天内上线数/服务端数"};function G(e,t,a,n,s,r){const i=(0,l.g2)("el-table-column"),d=(0,l.g2)("el-button"),c=(0,l.g2)("el-table"),u=(0,l.g2)("el-dialog"),p=(0,l.g2)("ServerFlowMessenger"),g=(0,l.g2)("ServerFlowSForward"),v=(0,l.g2)("ServerFlowRelay");return(0,l.uX)(),(0,l.CE)(l.FK,null,[n.config?((0,l.uX)(),(0,l.CE)("div",O,[(0,l.Lk)("p",null,[(0,l.eW)("在线 "),(0,l.Lk)("a",U,(0,o.v_)(n.state.overallOnline),1),(0,l.Lk)("a",j,(0,o.v_)(n.state.serverOnline),1)]),(0,l.Lk)("p",null,[(0,l.eW)("上传 "),(0,l.Lk)("a",{href:"javascript:;",title:"本服务器\r\n发送速率",onClick:t[0]||(t[0]=(...e)=>n.handleShow&&n.handleShow(...e))},(0,o.v_)(n.state.overallSendtSpeed)+"/s",1)]),(0,l.Lk)("p",null,[(0,l.eW)("下载 "),(0,l.Lk)("a",{href:"javascript:;",title:"本服务器\r\n接收速率",onClick:t[1]||(t[1]=(...e)=>n.handleShow&&n.handleShow(...e))},(0,o.v_)(n.state.overallReceiveSpeed)+"/s",1)])])):(0,l.Q3)("",!0),(0,l.bF)(u,{title:n.state.time,"destroy-on-close":"",modelValue:n.state.show,"onUpdate:modelValue":t[2]||(t[2]=e=>n.state.show=e),width:"540"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(c,{data:n.state.list,border:"",size:"small",width:"100%"},{default:(0,l.k6)((()=>[(0,l.bF)(i,{prop:"text",label:"类别",width:"80"}),(0,l.bF)(i,{prop:"sendtBytes",label:"已上传",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.sendtBytesText),1)])),_:1}),(0,l.bF)(i,{prop:"sendtSpeed",label:"上传速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.sendtSpeedText)+"/s",1)])),_:1}),(0,l.bF)(i,{prop:"receiveBytes",label:"已下载",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.receiveBytesText),1)])),_:1}),(0,l.bF)(i,{prop:"receiveSpeed",label:"下载速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.receiveSpeedText)+"/s",1)])),_:1}),(0,l.bF)(i,{prop:"oper",label:"操作",width:"64"},{default:(0,l.k6)((e=>[e.row.detail?((0,l.uX)(),(0,l.Wv)(d,{key:0,size:"small",onClick:t=>n.handleShowDetail(e.row.id)},{default:(0,l.k6)((()=>[(0,l.eW)("详情")])),_:2},1032,["onClick"])):(0,l.Q3)("",!0)])),_:1})])),_:1},8,["data"])])])),_:1},8,["title","modelValue"]),n.state.details.Messenger?((0,l.uX)(),(0,l.Wv)(p,{key:1,config:n.config,modelValue:n.state.details.Messenger,"onUpdate:modelValue":t[3]||(t[3]=e=>n.state.details.Messenger=e)},null,8,["config","modelValue"])):(0,l.Q3)("",!0),n.state.details.SForward?((0,l.uX)(),(0,l.Wv)(g,{key:2,config:n.config,modelValue:n.state.details.SForward,"onUpdate:modelValue":t[4]||(t[4]=e=>n.state.details.SForward=e)},null,8,["config","modelValue"])):(0,l.Q3)("",!0),n.state.details.Relay?((0,l.uX)(),(0,l.Wv)(v,{key:3,config:n.config,modelValue:n.state.details.Relay,"onUpdate:modelValue":t[5]||(t[5]=e=>n.state.details.Relay=e)},null,8,["config","modelValue"])):(0,l.Q3)("",!0)],64)}a(4114);const M=()=>(0,C.zG)("flow/GetFlows"),Q=()=>(0,C.zG)("flow/GetMessengerFlows"),N=e=>(0,C.zG)("flow/GetSForwardFlows",e),Y=e=>(0,C.zG)("flow/GetRelayFlows",e);function q(e,t,a,n,s,r){const i=(0,l.g2)("el-table-column"),d=(0,l.g2)("el-table"),c=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(c,{title:"信标流量",class:"options-center",top:"1vh","destroy-on-close":"",modelValue:n.state.show,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.show=e),width:"680"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.bF)(d,{data:n.state.list,stripe:"",border:"",size:"small",width:"100%",height:"60vh"},{default:(0,l.k6)((()=>[(0,l.bF)(i,{prop:"id",label:"信标id",width:"200"}),(0,l.bF)(i,{prop:"sendtBytes",label:"已上传",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.sendtBytesText),1)])),_:1}),(0,l.bF)(i,{prop:"sendtSpeed",label:"上传速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.sendtSpeedText)+"/s",1)])),_:1}),(0,l.bF)(i,{prop:"receiveBytes",label:"已下载",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.receiveBytesText),1)])),_:1}),(0,l.bF)(i,{prop:"receiveSpeed",label:"下载速度",sortable:""},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.receiveSpeedText)+"/s",1)])),_:1})])),_:1},8,["data"])])])),_:1},8,["modelValue"])}var H={props:["modelValue","config"],emits:["update:modelValue"],setup(e,{emit:t}){const a=(0,b.Kh)({show:!0,timer:0,list:[],old:null});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const o={0:"登入信标",1:"客户端列表",2:"客户端删除",4:"客户端改名(转发)",7:"获取服务器版本",8:"客户端搜索ids",9:"客户端id列表",10:"客户端排序",11:"客户端在线",12:"生成客户端id",13:"登入信标V_1_3_1",2001:"外网端口(转发)",2002:"外网端口(转发)",2003:"开始打洞(转发)",2004:"开始打洞(转发)",2005:"打洞失败(转发)",2006:"打洞失败(转发)",2007:"打洞成功(转发)",2008:"打洞成功(转发)",2009:"隧道配置(转发)",2010:"隧道配置(转发)",2012:"隧道同步(转发)",2101:"中继通知(转发)",2102:"中继通知(转发)",2103:"中继请求",2105:"中继连通测试",2201:"运行网卡(转发)",2203:"停止网卡(转发)",2204:"更新网卡",2205:"更新网卡(转发)",2208:"配置网卡网络",2209:"获取网卡网络",2210:"分配IP",2211:"网卡变化",2212:"网卡变化(转发)",2213:"IP续约",2214:"网卡端口转发检测",2215:"网卡端口转发检测(转发)",2301:"添加内网穿透",2302:"移除内网穿透",2303:"通知内网穿透(转发)",2304:"通知内网穿透UDP(转发)",2305:"获取穿透列表(转发)",2401:"测试端口转发(转发)",2403:"获取端口转发(转发)",2507:"同步配置",2508:"同步配置(转发)",2601:"更新信息(转发)",2602:"更新信息(转发)",2603:"确认更新(转发)",2604:"确认更新(转发)",2605:"重启(转发)",2606:"重启",2607:"服务器更新信息",2608:"确认服务器更新",2609:"服务器重启",2610:"订阅更新信息(转发)",2611:"订阅更新信息(转发)",2612:"检查更新",2613:"检查更新(转发)",2701:"服务器流量",2702:"服务器信标流量",2703:"服务器中继流量",2704:"服务器内网穿透流量",2807:"同步配置",2808:"同步配置(转发)",2900:"运行socks5",2901:"运行socks5(转发)",2902:"停止socks5",2903:"停止socks5(转发)",2904:"更新socks5",2905:"更新socks5(转发)",3003:"获取权限",3004:"获取权限(转发)",3005:"更新权限",3006:"更新权限(转发)"},n=()=>{Q().then((e=>{const t=a.old||e,l=[];for(let a in e){const n=e[a],r=t[a],i=`[${a}]${o[`${a}`]||"未知"}`;l.push({id:i,sendtBytes:n.SendtBytes,sendtBytesText:s(n.SendtBytes),sendtSpeed:n.SendtBytes-r.SendtBytes,sendtSpeedText:s(n.SendtBytes-r.SendtBytes),receiveBytes:n.ReceiveBytes,receiveBytesText:s(n.ReceiveBytes),receiveSpeed:n.ReceiveBytes-r.ReceiveBytes,receiveSpeedText:s(n.ReceiveBytes-r.ReceiveBytes)})}a.list=l.filter((e=>!!e.id)),a.old=e,a.timer=setTimeout(n,1e3)})).catch((e=>{a.timer=setTimeout(n,1e3)}))},s=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`};return(0,l.sV)((()=>{n()})),(0,l.hi)((()=>{clearTimeout(a.timer)})),{config:e.config,state:a}}};const J=(0,x.A)(H,[["render",q],["__scopeId","data-v-2183bbe0"]]);var Z=J;const ee={class:"head"},te={class:"page t-c"},ae={class:"page-wrap"};function le(e,t,a,n,s,r){const i=(0,l.g2)("el-input"),d=(0,l.g2)("el-table-column"),c=(0,l.g2)("el-table"),u=(0,l.g2)("el-pagination"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{title:"内网穿透流量",class:"options-center",top:"1vh","destroy-on-close":"",modelValue:n.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.show=e),width:"680"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",ee,[(0,l.bF)(i,{modelValue:n.state.page.Key,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.page.Key=e),placeholder:"域名/端口搜索"},null,8,["modelValue"])]),(0,l.bF)(c,{data:n.state.list,stripe:"",border:"",size:"small",width:"100%",height:"60vh",onSortChange:n.handleSort},{default:(0,l.k6)((()=>[(0,l.bF)(d,{prop:"Key",label:"域名/端口",width:"200"}),(0,l.bF)(d,{prop:"SendtBytes",label:"已上传",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.SendtBytesText),1)])),_:1}),(0,l.bF)(d,{prop:"DiffSendtBytes",label:"上传速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.DiffSendtBytesText)+"/s",1)])),_:1}),(0,l.bF)(d,{prop:"ReceiveBytes",label:"已下载",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.ReceiveBytesText),1)])),_:1}),(0,l.bF)(d,{prop:"DiffReceiveBytes",label:"下载速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.DiffReceiveBytesText)+"/s",1)])),_:1})])),_:1},8,["data","onSortChange"]),(0,l.Lk)("div",te,[(0,l.Lk)("div",ae,[(0,l.bF)(u,{small:"",background:"",layout:"total,prev,pager, next",total:n.state.page.Count,"page-size":n.state.page.PageSize,"current-page":n.state.page.Page,onCurrentChange:n.handlePageChange},null,8,["total","page-size","current-page","onCurrentChange"])])])])])),_:1},8,["modelValue"])}var oe={props:["modelValue","config"],emits:["update:modelValue"],setup(e,{emit:t}){const a=(0,b.Kh)({show:!0,timer:0,list:[],page:{Key:"",Page:1,PageSize:15,Count:0,Order:1,OrderType:0}});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const o=()=>{N({Key:a.page.Key,Page:a.page.Page,PageSize:a.page.PageSize,Order:a.page.Order,OrderType:a.page.OrderType}).then((e=>{try{a.page.Page=e.Page,a.page.PageSize=e.PageSize,a.page.Count=e.Count;const t=[];for(let a=0;a{a.timer=setTimeout(o,1e3)}))},n=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`},s=e=>{e&&(a.page.Page=e)},r=e=>{const t={ascending:1,descending:0}[e.order],l={SendtBytes:1,DiffSendtBytes:2,ReceiveBytes:3,DiffReceiveBytes:4}[e.prop];a.page.Order=l,a.page.OrderType=t};return(0,l.sV)((()=>{o()})),(0,l.hi)((()=>{clearTimeout(a.timer)})),{config:e.config,state:a,handlePageChange:s,handleSort:r}}};const ne=(0,x.A)(oe,[["render",le],["__scopeId","data-v-3e577fa7"]]);var se=ne;const re={class:"head"},ie={class:"page t-c"},de={class:"page-wrap"};function ce(e,t,a,n,s,r){const i=(0,l.g2)("el-input"),d=(0,l.g2)("el-table-column"),c=(0,l.g2)("el-table"),u=(0,l.g2)("el-pagination"),p=(0,l.g2)("el-dialog");return(0,l.uX)(),(0,l.Wv)(p,{title:"中继流量",class:"options-center",top:"1vh","destroy-on-close":"",modelValue:n.state.show,"onUpdate:modelValue":t[1]||(t[1]=e=>n.state.show=e),width:"680"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",null,[(0,l.Lk)("div",re,[(0,l.bF)(i,{modelValue:n.state.page.Key,"onUpdate:modelValue":t[0]||(t[0]=e=>n.state.page.Key=e),placeholder:"名字搜索"},null,8,["modelValue"])]),(0,l.bF)(c,{data:n.state.list,stripe:"",border:"",size:"small",width:"100%",height:"60vh",onSortChange:n.handleSort},{default:(0,l.k6)((()=>[(0,l.bF)(d,{prop:"FromName",label:"发起端",width:"120"}),(0,l.bF)(d,{prop:"ToName",label:"目标端",width:"120"}),(0,l.bF)(d,{prop:"SendtBytes",label:"已上传",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.SendtBytesText),1)])),_:1}),(0,l.bF)(d,{prop:"DiffSendtBytes",label:"上传速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.DiffSendtBytesText)+"/s",1)])),_:1}),(0,l.bF)(d,{prop:"ReceiveBytes",label:"已下载",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.ReceiveBytesText),1)])),_:1}),(0,l.bF)(d,{prop:"DiffReceiveBytes",label:"下载速度",sortable:"custom"},{default:(0,l.k6)((e=>[(0,l.Lk)("span",null,(0,o.v_)(e.row.DiffReceiveBytesText)+"/s",1)])),_:1})])),_:1},8,["data","onSortChange"]),(0,l.Lk)("div",ie,[(0,l.Lk)("div",de,[(0,l.bF)(u,{small:"",background:"",layout:"total,prev,pager, next",total:n.state.page.Count,"page-size":n.state.page.PageSize,"current-page":n.state.page.Page,onCurrentChange:n.handlePageChange},null,8,["total","page-size","current-page","onCurrentChange"])])])])])),_:1},8,["modelValue"])}var ue={props:["modelValue","config"],emits:["update:modelValue"],setup(e,{emit:t}){const a=(0,b.Kh)({show:!0,timer:0,list:[],page:{Key:"",Page:1,PageSize:15,Count:0,Order:1,OrderType:0}});(0,l.wB)((()=>a.show),(e=>{e||setTimeout((()=>{t("update:modelValue",e)}),300)}));const o=()=>{Y({Key:a.page.Key,Page:a.page.Page,PageSize:a.page.PageSize,Order:a.page.Order,OrderType:a.page.OrderType}).then((e=>{try{a.page.Page=e.Page,a.page.PageSize=e.PageSize,a.page.Count=e.Count;const t=[];for(let a=0;a{a.timer=setTimeout(o,1e3)}))},n=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`},s=e=>{e&&(a.page.Page=e)},r=e=>{const t={ascending:1,descending:0}[e.order],l={SendtBytes:1,DiffSendtBytes:2,ReceiveBytes:3,DiffReceiveBytes:4}[e.prop];a.page.Order=l,a.page.OrderType=t};return(0,l.sV)((()=>{o()})),(0,l.hi)((()=>{clearTimeout(a.timer)})),{config:e.config,state:a,handlePageChange:s,handleSort:r}}};const pe=(0,x.A)(ue,[["render",ce],["__scopeId","data-v-7dbf3a4a"]]);var ge=pe,ve={props:["config"],components:{ServerFlowMessenger:Z,ServerFlowSForward:se,ServerFlowRelay:ge},setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.hasAccess("SForwardFlow"))),o=(0,l.EW)((()=>t.value.hasAccess("RelayFlow"))),n=(0,l.EW)((()=>t.value.hasAccess("SigninFlow"))),s=(0,b.Kh)({show:!1,timer:0,overallSendtSpeed:"0000.00KB",overallReceiveSpeed:"0000.00KB",overallOnline:"0/0",serverOnline:"",time:"",list:[],old:null,details:{Messenger:!1,SForward:!1,Relay:!1}}),r=()=>{s.show=!0},i=e=>{s.details[e]=!0},d={External:{text:"外网端口",detail:!1},RelayReport:{text:"中继节点",detail:!1},Relay:{text:"中继",detail:o.value},Messenger:{text:"信标",detail:n.value},SForward:{text:"内网穿透",detail:a.value},flow:{text:"在线报告",detail:!1}},c=()=>{M().then((e=>{const t=s.old||e;if(e.Items["_"]&&(s.overallOnline=`${e.Items["_"].SendtBytes}/${e.Items["_"].ReceiveBytes}`,delete e.Items["_"]),e.Items["flow"]&&e.Items["flow"].ReceiveBytes>0){const t=(BigInt(e.Items["flow"].ReceiveBytes)>>BigInt(32)).toString(),a=(BigInt(e.Items["flow"].ReceiveBytes)&BigInt(4294967295)).toString(),l=e.Items["flow"].SendtBytes;s.serverOnline=`、${t}/${a}/${l}`,delete e.Items["flow"]}let a=0,l=0,o=0,n=0;for(let s in t.Items)a+=t.Items[s].ReceiveBytes,l+=t.Items[s].SendtBytes;for(let s in e.Items)o+=e.Items[s].ReceiveBytes,n+=e.Items[s].SendtBytes;s.overallSendtSpeed=u(n-l),s.overallReceiveSpeed=u(o-a),s.time=`从 ${e.Start}启动 至今`;const r=[];for(let s in e.Items){const a=e.Items[s],l=t.Items[s],o=d[`${s}`]||{text:`未知${s}`,detail:!1};r.push({id:s,text:o.text,detail:o.detail,sendtBytes:a.SendtBytes,sendtBytesText:u(a.SendtBytes),sendtSpeed:a.SendtBytes-l.SendtBytes,sendtSpeedText:u(a.SendtBytes-l.SendtBytes),receiveBytes:a.ReceiveBytes,receiveBytesText:u(a.ReceiveBytes),receiveSpeed:a.ReceiveBytes-l.ReceiveBytes,receiveSpeedText:u(a.ReceiveBytes-l.ReceiveBytes)})}s.list=r.filter((e=>!!e.id)),s.old=e,s.timer=setTimeout(c,1e3)})).catch((e=>{s.timer=setTimeout(c,1e3)}))},u=e=>{let t=0;while(e>=1024)e/=1024,t++;return`${e.toFixed(2)}${["B","KB","MB","GB","TB"][t]}`};return(0,l.sV)((()=>{c()})),(0,l.hi)((()=>{clearTimeout(s.timer)})),{hasSForwardFlow:a,config:e.config,state:s,handleShow:r,handleShowDetail:i}}};const fe=(0,x.A)(ve,[["render",G],["__scopeId","data-v-630048e8"]]);var me=fe;const he=["title"],ye={key:0,class:"progress"},ke={key:1,class:"progress"};function we(e,t,a,n,s,r){const i=(0,l.g2)("Loading"),d=(0,l.g2)("el-icon"),c=(0,l.g2)("Download"),u=(0,l.g2)("CircleCheck");return(0,l.uX)(),(0,l.CE)("a",{href:"javascript:;",title:"服务端的程序版本",onClick:t[0]||(t[0]=(...e)=>n.handleUpdate&&n.handleUpdate(...e)),class:(0,o.C4)(["download",n.updateColor()])},[(0,l.Lk)("span",null,(0,o.v_)(n.state.version),1),n.updaterCurrent.Version?((0,l.uX)(),(0,l.CE)(l.FK,{key:0},[1==n.updaterCurrent.Status?((0,l.uX)(),(0,l.Wv)(d,{key:0,size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1})):2==n.updaterServer.Status?((0,l.uX)(),(0,l.Wv)(d,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1})):3==n.updaterServer.Status||5==n.updaterServer.Status?((0,l.uX)(),(0,l.CE)(l.FK,{key:2},[(0,l.bF)(d,{size:"14",class:"loading"},{default:(0,l.k6)((()=>[(0,l.bF)(i)])),_:1}),0==n.updaterServer.Length?((0,l.uX)(),(0,l.CE)("span",ye,"0%")):((0,l.uX)(),(0,l.CE)("span",ke,(0,o.v_)(parseInt(n.updaterServer.Current/n.updaterServer.Length*100))+"%",1))],64)):6==n.updaterServer.Status?((0,l.uX)(),(0,l.Wv)(d,{key:3,size:"14",class:"yellow"},{default:(0,l.k6)((()=>[(0,l.bF)(u)])),_:1})):(0,l.Q3)("",!0)],64)):((0,l.uX)(),(0,l.Wv)(d,{key:1,size:"14"},{default:(0,l.k6)((()=>[(0,l.bF)(c)])),_:1}))],10,he)}var be=a(2933),Se=a(920),Be={components:{Promotion:_.Yk4,Download:_.f5X,Loading:_.Rhj,CircleCheck:_.rW7,ServerFlow:me},props:["config"],setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.hasAccess("UpdateServer"))),o=(0,b.KR)({Version:"",Msg:[],DateTime:"",Status:0,Length:0,Current:0}),n=(0,b.KR)({Version:"",Status:0,Length:0,Current:0}),s=(0,l.EW)((()=>`${o.value.Version}->${o.value.DateTime}\n${o.value.Msg.map(((e,t)=>`${t+1}、${e}`)).join("\n")}`)),r=(0,b.Kh)({show:!1,loading:!1,connected:(0,l.EW)((()=>t.value.signin.Connected)),version:(0,l.EW)((()=>t.value.signin.Version))}),i=()=>{(0,Se.Vk)().then((e=>{o.value.DateTime=e.DateTime,o.value.Version=e.Version,o.value.Status=e.Status,o.value.Length=e.Length,o.value.Current=e.Current,o.value.Msg=e.Msg,setTimeout((()=>{i()}),1e3)})).catch((()=>{setTimeout((()=>{i()}),1e3)}))},d=()=>{(0,Se.BJ)().then((e=>{n.value.Version=e.Version,n.value.Status=e.Status,n.value.Length=e.Length,n.value.Current=e.Current,n.value.Status>2&&n.value.Status<6&&setTimeout((()=>{d()}),1e3)})).catch((()=>{setTimeout((()=>{d()}),1e3)}))},c=()=>o.value.Version?n.value.Status<=2?r.version!=o.value.Version?`不是最新版本(${o.value.Version}),建议更新\n${s.value}`:`是最新版本,但我无法阻止你喜欢更新\n${s.value}`:{3:"正在下载",4:"已下载",5:"正在解压",6:"已解压,请重启"}[n.value.Status]:"未检测到更新",u=()=>r.version!=o.value.Version?"yellow":"green",p=()=>{e.config&&a.value&&(o.value.Version?[0,1,3,5].indexOf(n.value.Status)>=0?K.nk.error("操作中,请稍后!"):6!=n.value.Status?2==o.value.Status&&be.s.confirm("确定更新服务端吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,Se.y2)(o.value.Version).then((()=>{setTimeout((()=>{d()}),1e3)}))})).catch((()=>{})):be.s.confirm("确定关闭服务端吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{(0,Se.aP)()})).catch((()=>{})):K.nk.error("未检测到更新"))};return(0,l.sV)((()=>{i(),d()})),{config:e.config,state:r,updaterCurrent:o,updaterServer:n,handleUpdate:p,updateText:c,updateColor:u}}};const Fe=(0,x.A)(Be,[["render",we],["__scopeId","data-v-70063cba"]]);var Ce=Fe,_e={components:{ServerConfig:X,ServerFlow:me,ServerVersion:Ce},props:["config"],setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.hasAccess("Flow"))),o=(0,b.Kh)({show:!1,loading:!1});return{config:e.config,hasFlow:a,state:o}}};const Ve=(0,x.A)(_e,[["render",I],["__scopeId","data-v-2d85a782"]]);var xe=Ve;const Te=e=>((0,l.Qi)("data-v-2c769584"),e=e(),(0,l.jt)(),e),Le={key:0,class:"status-export-wrap"},Re={class:"port-wrap"},Ie=Te((()=>(0,l.Lk)("div",{class:"text"}," 导出配置,作为子设备运行,如果使用docker,容器映射configs文件夹即可 ",-1))),Pe={class:"body"},We={class:"card-header"},Ee={class:"flex"},De={title:"这将生成唯一ID,多台设备使用产生冲突,挤压下线"},ze={style:{"margin-left":"2rem"}},Ke=Te((()=>(0,l.Lk)("span",null,"设备名 : ",-1))),$e=Te((()=>(0,l.Lk)("span",null,"管理密码 : ",-1)));function Ae(e,t,a,o,n,s){const r=(0,l.g2)("Share"),i=(0,l.g2)("el-icon"),d=(0,l.g2)("el-checkbox"),c=(0,l.g2)("el-input"),u=(0,l.g2)("Access"),p=(0,l.g2)("el-card"),g=(0,l.g2)("el-button"),v=(0,l.g2)("el-dialog");return o.config&&o.hasExport?((0,l.uX)(),(0,l.CE)("div",Le,[(0,l.Lk)("a",{href:"javascript:;",title:"此设备的管理接口",onClick:t[0]||(t[0]=e=>o.state.show=!0)},[(0,l.bF)(i,{size:"16"},{default:(0,l.k6)((()=>[(0,l.bF)(r)])),_:1}),(0,l.eW)(" 导出配置 ")]),(0,l.bF)(v,{class:"options-center",title:"导出配置","destroy-on-close":"",modelValue:o.state.show,"onUpdate:modelValue":t[5]||(t[5]=e=>o.state.show=e),center:"",width:"580",top:"1vh"},{footer:(0,l.k6)((()=>[(0,l.bF)(g,{plain:"",onClick:t[4]||(t[4]=e=>o.state.show=!1),loading:o.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("取消")])),_:1},8,["loading"]),(0,l.bF)(g,{type:"success",plain:"",onClick:o.handleExport,loading:o.state.loading},{default:(0,l.k6)((()=>[(0,l.eW)("确定导出")])),_:1},8,["onClick","loading"])])),default:(0,l.k6)((()=>[(0,l.Lk)("div",Re,[Ie,(0,l.Lk)("div",Pe,[(0,l.bF)(p,{shadow:"never"},{header:(0,l.k6)((()=>[(0,l.Lk)("div",We,[(0,l.Lk)("div",Ee,[(0,l.Lk)("div",De,[(0,l.bF)(d,{disabled:o.onlyNode,modelValue:o.state.single,"onUpdate:modelValue":t[1]||(t[1]=e=>o.state.single=e),label:"单设备"},null,8,["disabled","modelValue"])]),(0,l.Lk)("div",ze,[Ke,(0,l.bF)(c,{disabled:!o.state.single,modelValue:o.state.name,"onUpdate:modelValue":t[2]||(t[2]=e=>o.state.name=e),maxlength:"32","show-word-limit":"",style:{width:"15rem"}},null,8,["disabled","modelValue"])]),(0,l.Lk)("div",null,[$e,(0,l.bF)(c,{type:"password","show-password":"",disabled:o.onlyNode,modelValue:o.state.apipassword,"onUpdate:modelValue":t[3]||(t[3]=e=>o.state.apipassword=e),maxlength:"36","show-word-limit":"",style:{width:"15rem"}},null,8,["disabled","modelValue"])])])])])),default:(0,l.k6)((()=>[(0,l.bF)(u,{ref:"accessDom",machineid:o.machineId},null,8,["machineid"])])),_:1})])])])),_:1},8,["modelValue"])])):(0,l.Q3)("",!0)}var Xe=a(8835),Oe=a(6158),Ue={components:{Share:_.SYj,Access:Oe.A},props:["config"],setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.hasAccess("Export"))),o=(0,l.EW)((()=>t.value.config.Client.OnlyNode)),n=(0,l.EW)((()=>t.value.config.Client.Id)),s=(0,b.Kh)({show:!1,loading:!1,single:!0,name:"",apipassword:t.value.config.Client.CApi.ApiPassword}),r=(0,b.KR)(null),i=()=>{if(!a.value)return;const e={access:r.value.getValue(),single:s.single,name:s.name,apipassword:s.apipassword};if(e.single){if(!e.name)return void K.nk.error("请输入设备名")}else e.name="";if(!e.single||s.name)return e;K.nk.error("请输入管理密码")},d=()=>{const e=document.createElement("a");s.single?e.download=`client-node-export-${s.name}.zip`:e.download="client-node-export.zip",e.href="/client-node-export.zip",document.body.appendChild(e),e.click(),document.body.removeChild(e)},c=()=>{const e=i();e&&(s.loading=!0,(0,Xe.P$)(e).then((()=>{s.loading=!1,s.show=!1,K.nk.success("导出成功"),d()})).catch((()=>{s.loading=!1})))};return{config:e.config,onlyNode:o,hasExport:a,machineId:n,state:s,accessDom:r,handleExport:c}}};const je=(0,x.A)(Ue,[["render",Ae],["__scopeId","data-v-2c769584"]]);var Ge=je,Me=a(167),Qe={components:{Api:L,Server:xe,Export:Ge,UpdaterBtn:Me.A},props:["config"],setup(e){const t=(0,F.B)(),a=(0,l.EW)((()=>t.value.self)),o=(0,b.Kh)({showPay:!1});return{state:o,config:e.config,self:a}}};const Ne=(0,x.A)(Qe,[["render",w],["__scopeId","data-v-2a629595"]]);var Ye=Ne}}]); \ No newline at end of file diff --git a/linker.tray.win/web/js/app.1a3b60a6.js b/linker.tray.win/web/js/app.1a3b60a6.js deleted file mode 100644 index 5006627b..00000000 --- a/linker.tray.win/web/js/app.1a3b60a6.js +++ /dev/null @@ -1 +0,0 @@ -(function(){"use strict";var e={8835:function(e,n,t){t.d(n,{E1:function(){return s},Iv:function(){return u},P$:function(){return c},ai:function(){return i},zj:function(){return r}});var o=t(4);const r=()=>(0,o.zG)("configclient/get"),i=e=>(0,o.zG)("configclient/install",e),c=e=>(0,o.zG)("configclient/export",e),u=()=>(0,o.zG)("configclient/SyncNames"),s=e=>(0,o.zG)("configclient/Sync",e)},4:function(e,n,t){t.d(n,{a1:function(){return v},e3:function(){return b},jH:function(){return C},zG:function(){return y}});t(4114),t(6573),t(8100),t(7936);var o=t(1219);let r=0,i=null,c="",u=1,s="";const a={},l={connected:!1,connecting:!1},d=()=>{const e=Date.now();for(let n in a){const t=a[n];e-t.time>t.timeout&&(t.reject("超时~"),delete a[n])}setTimeout(d,1e3)};d();const f={subs:{},add:function(e,n){"function"==typeof n&&(this.subs[e]||(this.subs[e]=[]),this.subs[e].push(n))},remove(e,n){let t=this.subs[e]||[];for(let o=t.length-1;o>=0;o--)t[o]==n&&t.splice(o,1)},push(e,n){let t=this.subs[e]||[];for(let o=t.length-1;o>=0;o--)t[o](n)}},p=()=>{l.connected=!0,l.connecting=!1,f.push(w,l.connected)},h=e=>{l.connected=!1,l.connecting=!1,f.push(w,l.connected),setTimeout((()=>{v()}),1e3)},g=e=>{if("string"!=typeof e.data)return void e.data.arrayBuffer().then((n=>{const t=new DataView(n).getInt8(),o=new FileReader;o.readAsText(e.data.slice(4,4+t),"utf8"),o.onload=()=>{let r=JSON.parse(o.result);r.Content={Name:r.Content,Img:e.data.slice(4+t,e.data.length),ArrayBuffer:n},m(r)}}));let n=JSON.parse(e.data);m(n)},m=e=>{let n=a[e.RequestId];n?(0==e.Code?n.resolve(e.Content):1==e.Code?n.reject(e.Content):255==e.Code?(n.reject(e.Content),n.errHandle||o.nk.error(`${n.path}:${e.Content}`)):f.push(e.Path,e.Content),delete a[e.RequestId]):f.push(e.Path,e.Content)},v=(e=c,n=s)=>{if(s=n,c=e,l.connecting||l.connected)return;null!=i&&i.close(),l.connecting=!0;const t=n||"snltty";i=new WebSocket(c,[t]),i.iddd=++u,i.onopen=p,i.onclose=h,i.onmessage=g},b=()=>{i&&i.close()},y=(e,n={},t=!1,o=15e3)=>new Promise(((c,u)=>{let s=++r;try{a[s]={resolve:c,reject:u,errHandle:t,path:e,time:Date.now(),timeout:o};let r=JSON.stringify({Path:e,RequestId:s,Content:"string"==typeof n?n:JSON.stringify(n)});l.connected&&1==i.readyState?i.send(r):u("网络错误~")}catch(d){console.log(d),u("网络错误~"),delete a[s]}})),w=Symbol(),C=e=>{f.add(w,e)}},9299:function(e,n,t){t.d(n,{BS:function(){return a},SZ:function(){return c},Se:function(){return l},VN:function(){return u},gC:function(){return d},jU:function(){return i},nD:function(){return s},rd:function(){return r},zp:function(){return f}});var o=t(4);const r=e=>(0,o.zG)("signInclient/set",e),i=e=>(0,o.zG)("signInclient/setservers",e),c=()=>(0,o.zG)("signInclient/info"),u=e=>(0,o.zG)("signInclient/setorder",e),s=e=>(0,o.zG)("signInclient/List",e),a=e=>(0,o.zG)("signInclient/ids",e),l=e=>(0,o.zG)("signInclient/del",e),d=e=>(0,o.zG)("signInclient/setname",e),f=e=>(0,o.zG)("signInclient/SetGroups",e)},3616:function(e,n,t){var o=t(5130),r=t(6768);function i(e,n,t,o,i,c){const u=(0,r.g2)("router-view"),s=(0,r.g2)("Api");return(0,r.uX)(),(0,r.CE)("div",null,[o.configed?((0,r.uX)(),(0,r.Wv)(u,{key:0})):(0,r.Q3)("",!0),(0,r.bF)(s)])}var c=t(3830);const u={class:"port-wrap t-c"},s={class:"pdt-10"};function a(e,n,t,o,i,c){const a=(0,r.g2)("el-input"),l=(0,r.g2)("el-button"),d=(0,r.g2)("el-dialog");return(0,r.uX)(),(0,r.Wv)(d,{class:"options-center",title:"管理接口","destroy-on-close":"",modelValue:o.showPort,"onUpdate:modelValue":n[2]||(n[2]=e=>o.showPort=e),center:"","show-close":!1,"close-on-click-modal":!1,"align-center":"",width:"200"},{footer:(0,r.k6)((()=>[(0,r.bF)(l,{type:"success",onClick:o.handleConnect1,plain:""},{default:(0,r.k6)((()=>[(0,r.eW)("确 定")])),_:1},8,["onClick"])])),default:(0,r.k6)((()=>[(0,r.Lk)("div",u,[(0,r.Lk)("div",null,[(0,r.eW)(" 接口 : "),(0,r.bF)(a,{modelValue:o.state.api,"onUpdate:modelValue":n[0]||(n[0]=e=>o.state.api=e),style:{width:"70%"}},null,8,["modelValue"])]),(0,r.Lk)("div",s,[(0,r.eW)(" 秘钥 : "),(0,r.bF)(a,{type:"password",modelValue:o.state.psd,"onUpdate:modelValue":n[1]||(n[1]=e=>o.state.psd=e),style:{width:"70%"}},null,8,["modelValue"])])])])),_:1},8,["modelValue"])}var l=t(1387),d=t(144),f=t(4),p=t(9299),h=t(8835),g=t(7477),m={components:{Tools:g.S0q},props:["config"],setup(e){const n=(0,c.B)(),t=(0,l.rd)(),o=(0,l.lq)(),i={api:`${window.location.hostname}:1803`,psd:"snltty"},u=JSON.parse(localStorage.getItem("api-cache")||JSON.stringify(i)),s=(0,d.Kh)({api:u.api,psd:u.psd,showPort:!1}),a=(0,r.EW)((()=>0==n.value.api.connected&&s.showPort)),g=()=>{u.api=s.api,u.psd=s.psd,localStorage.setItem("api-cache",JSON.stringify(u)),(0,f.e3)();const e=`ws${"https:"===window.location.protocol?"s":""}://${s.api}`;(0,f.a1)(e,s.psd)},m=()=>{g(),window.location.reload()},v=()=>{(0,h.zj)().then((e=>{n.value.config.Common=e.Common,n.value.config.Client=e.Client,n.value.config.Server=e.Server,n.value.config.Running=e.Running,n.value.config.configed=!0,setTimeout((()=>{v()}),1e3)})).catch((e=>{setTimeout((()=>{v()}),1e3)}))},b=()=>{(0,p.SZ)().then((e=>{n.value.signin.Connected=e.Connected,n.value.signin.Connecting=e.Connecting,n.value.signin.Version=e.Version,setTimeout((()=>{b()}),1e3)})).catch((e=>{setTimeout((()=>{b()}),1e3)}))};return(0,r.sV)((()=>{setTimeout((()=>{s.showPort=!0}),500),(0,f.jH)((e=>{e&&(v(),b())})),t.isReady().then((()=>{s.api=o.query.api?`${window.location.hostname}:${o.query.api}`:s.api,s.psd=o.query.psd||s.psd,g()}))})),{state:s,showPort:a,handleConnect1:m}}},v=t(1241);const b=(0,v.A)(m,[["render",a],["__scopeId","data-v-08751c59"]]);var y=b,w={components:{Api:y},setup(e){const n=(0,c.v)(),t=(0,r.EW)((()=>n.value.config.configed));return{configed:t}}};const C=(0,v.A)(w,[["render",i]]);var S=C;const k=[{path:"/",name:"Full",component:()=>Promise.all([t.e(39),t.e(642),t.e(734)]).then(t.bind(t,8933)),redirect:"/full/index.html",children:[{path:"/full/index.html",name:"FullIndex",component:()=>Promise.all([t.e(39),t.e(848),t.e(855)]).then(t.bind(t,8163))},{path:"/full/servers.html",name:"FullServers",component:()=>t.e(857).then(t.bind(t,5857))},{path:"/full/transport.html",name:"FullTransport",component:()=>t.e(225).then(t.bind(t,3225))},{path:"/full/action.html",name:"FullAction",component:()=>t.e(402).then(t.bind(t,402))},{path:"/full/logger.html",name:"FullLogger",component:()=>t.e(352).then(t.bind(t,352))}]},{path:"/net/index.html",name:"Network",component:()=>Promise.all([t.e(39),t.e(642),t.e(848),t.e(966)]).then(t.bind(t,673))},{path:"/no-permission.html",name:"NoPermission",component:()=>t.e(31).then(t.bind(t,4083))}],P=(0,l.aE)({history:(0,l.Bt)(),routes:k});var A=P,B=t(6161);t(4188),t(2355),t(1862);const I=(0,o.Ef)(S);I.use(B.A,{size:"default"}).use(A).mount("#app")},3830:function(e,n,t){t.d(n,{B:function(){return s},v:function(){return u}});var o=t(4),r=t(144),i=t(6768);const c=Symbol(),u=()=>{const e=(0,r.KR)({api:{connected:!1},height:0,config:{Common:{},Client:{Servers:[],Accesss:{}},Server:{},Running:{Relay:{Servers:[]},Tuntap:{IP:"",PrefixLength:24},Client:{Servers:[]},AutoSyncs:{}},configed:!1},signin:{Connected:!1,Connecting:!1,Version:"v1.0.0.0"},bufferSize:["1KB","2KB","4KB","8KB","16KB","32KB","64KB","128KB","256KB","512KB","1024KB"],updater:{},self:{},hasAccess(e){if(void 0==this.config.Client.Accesss[e])return!1;const n=this.config.Client.Accesss[e].Value||-1,t=this.config.Client.Access||-1;return t>=0&&(0==t||+(BigInt(t)&BigInt(n)).toString()==n)}});return(0,o.jH)((n=>{e.value.api.connected=n})),(0,i.Gt)(c,e),e},s=()=>(0,i.WQ)(c)}},n={};function t(o){var r=n[o];if(void 0!==r)return r.exports;var i=n[o]={exports:{}};return e[o].call(i.exports,i,i.exports,t),i.exports}t.m=e,function(){var e=[];t.O=function(n,o,r,i){if(!o){var c=1/0;for(l=0;l=i)&&Object.keys(t.O).every((function(e){return t.O[e](o[s])}))?o.splice(s--,1):(u=!1,i0&&e[l-1][2]>i;l--)e[l]=e[l-1];e[l]=[o,r,i]}}(),function(){t.n=function(e){var n=e&&e.__esModule?function(){return e["default"]}:function(){return e};return t.d(n,{a:n}),n}}(),function(){t.d=function(e,n){for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})}}(),function(){t.f={},t.e=function(e){return Promise.all(Object.keys(t.f).reduce((function(n,o){return t.f[o](e,n),n}),[]))}}(),function(){t.u=function(e){return"js/"+e+"."+{31:"01e549ae",39:"695c2adf",225:"8a3da4f8",352:"678c694a",402:"024283d6",642:"8d1a79df",734:"bccc9e7e",848:"33bffbdc",855:"46fe678b",857:"f520b520",966:"bd0145e0"}[e]+".js"}}(),function(){t.miniCssF=function(e){return"css/"+e+"."+{31:"64181b05",225:"4f041b3c",352:"56e27aad",402:"bc681d99",734:"19603134",855:"f4293598",857:"4e351ac8",966:"149bc7b3"}[e]+".css"}}(),function(){t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)}}(),function(){var e={},n="linker.web:";t.l=function(o,r,i,c){if(e[o])e[o].push(r);else{var u,s;if(void 0!==i)for(var a=document.getElementsByTagName("script"),l=0;l(0,o.zG)("config/get"),i=e=>(0,o.zG)("config/install",e),c=e=>(0,o.zG)("config/export",e)},4:function(e,n,t){t.d(n,{a1:function(){return v},e3:function(){return b},jH:function(){return C},zG:function(){return y}});t(4114),t(6573),t(8100),t(7936);var o=t(1219);let r=0,i=null,c="",u=1,s="";const a={},l={connected:!1,connecting:!1},d=()=>{const e=Date.now();for(let n in a){const t=a[n];e-t.time>t.timeout&&(t.reject("超时~"),delete a[n])}setTimeout(d,1e3)};d();const f={subs:{},add:function(e,n){"function"==typeof n&&(this.subs[e]||(this.subs[e]=[]),this.subs[e].push(n))},remove(e,n){let t=this.subs[e]||[];for(let o=t.length-1;o>=0;o--)t[o]==n&&t.splice(o,1)},push(e,n){let t=this.subs[e]||[];for(let o=t.length-1;o>=0;o--)t[o](n)}},p=()=>{l.connected=!0,l.connecting=!1,f.push(w,l.connected)},h=e=>{l.connected=!1,l.connecting=!1,f.push(w,l.connected),setTimeout((()=>{v()}),1e3)},g=e=>{if("string"!=typeof e.data)return void e.data.arrayBuffer().then((n=>{const t=new DataView(n).getInt8(),o=new FileReader;o.readAsText(e.data.slice(4,4+t),"utf8"),o.onload=()=>{let r=JSON.parse(o.result);r.Content={Name:r.Content,Img:e.data.slice(4+t,e.data.length),ArrayBuffer:n},m(r)}}));let n=JSON.parse(e.data);m(n)},m=e=>{let n=a[e.RequestId];n?(0==e.Code?n.resolve(e.Content):1==e.Code?n.reject(e.Content):255==e.Code?(n.reject(e.Content),n.errHandle||o.nk.error(`${n.path}:${e.Content}`)):f.push(e.Path,e.Content),delete a[e.RequestId]):f.push(e.Path,e.Content)},v=(e=c,n=s)=>{if(s=n,c=e,l.connecting||l.connected)return;null!=i&&i.close(),l.connecting=!0;const t=n||"snltty";i=new WebSocket(c,[t]),i.iddd=++u,i.onopen=p,i.onclose=h,i.onmessage=g},b=()=>{i&&i.close()},y=(e,n={},t=!1,o=15e3)=>new Promise(((c,u)=>{let s=++r;try{a[s]={resolve:c,reject:u,errHandle:t,path:e,time:Date.now(),timeout:o};let r=JSON.stringify({Path:e,RequestId:s,Content:"string"==typeof n?n:JSON.stringify(n)});l.connected&&1==i.readyState?i.send(r):u("网络错误~")}catch(d){console.log(d),u("网络错误~"),delete a[s]}})),w=Symbol(),C=e=>{f.add(w,e)}},9299:function(e,n,t){t.d(n,{BS:function(){return a},SZ:function(){return c},Se:function(){return l},VN:function(){return u},gC:function(){return d},jU:function(){return i},nD:function(){return s},rd:function(){return r},zp:function(){return f}});var o=t(4);const r=e=>(0,o.zG)("signIn/set",e),i=e=>(0,o.zG)("signIn/setservers",e),c=()=>(0,o.zG)("signIn/info"),u=e=>(0,o.zG)("signIn/setorder",e),s=e=>(0,o.zG)("signIn/List",e),a=e=>(0,o.zG)("signIn/ids",e),l=e=>(0,o.zG)("signIn/del",e),d=e=>(0,o.zG)("signIn/setname",e),f=e=>(0,o.zG)("signIn/SetGroups",e)},3616:function(e,n,t){var o=t(5130),r=t(6768);function i(e,n,t,o,i,c){const u=(0,r.g2)("router-view"),s=(0,r.g2)("Api");return(0,r.uX)(),(0,r.CE)("div",null,[o.configed?((0,r.uX)(),(0,r.Wv)(u,{key:0})):(0,r.Q3)("",!0),(0,r.bF)(s)])}var c=t(3830);const u={class:"port-wrap t-c"},s={class:"pdt-10"};function a(e,n,t,o,i,c){const a=(0,r.g2)("el-input"),l=(0,r.g2)("el-button"),d=(0,r.g2)("el-dialog");return(0,r.uX)(),(0,r.Wv)(d,{class:"options-center",title:"管理接口","destroy-on-close":"",modelValue:o.showPort,"onUpdate:modelValue":n[2]||(n[2]=e=>o.showPort=e),center:"","show-close":!1,"close-on-click-modal":!1,"align-center":"",width:"200"},{footer:(0,r.k6)((()=>[(0,r.bF)(l,{type:"success",onClick:o.handleConnect1,plain:""},{default:(0,r.k6)((()=>[(0,r.eW)("确 定")])),_:1},8,["onClick"])])),default:(0,r.k6)((()=>[(0,r.Lk)("div",u,[(0,r.Lk)("div",null,[(0,r.eW)(" 接口 : "),(0,r.bF)(a,{modelValue:o.state.api,"onUpdate:modelValue":n[0]||(n[0]=e=>o.state.api=e),style:{width:"70%"}},null,8,["modelValue"])]),(0,r.Lk)("div",s,[(0,r.eW)(" 秘钥 : "),(0,r.bF)(a,{type:"password",modelValue:o.state.psd,"onUpdate:modelValue":n[1]||(n[1]=e=>o.state.psd=e),style:{width:"70%"}},null,8,["modelValue"])])])])),_:1},8,["modelValue"])}var l=t(1387),d=t(144),f=t(4),p=t(9299),h=t(8835),g=t(7477),m={components:{Tools:g.S0q},props:["config"],setup(e){const n=(0,c.B)(),t=(0,l.rd)(),o=(0,l.lq)(),i={api:`${window.location.hostname}:1803`,psd:"snltty"},u=JSON.parse(localStorage.getItem("api-cache")||JSON.stringify(i)),s=(0,d.Kh)({api:u.api,psd:u.psd,showPort:!1}),a=(0,r.EW)((()=>0==n.value.api.connected&&s.showPort)),g=()=>{u.api=s.api,u.psd=s.psd,localStorage.setItem("api-cache",JSON.stringify(u)),(0,f.e3)();const e=`ws${"https:"===window.location.protocol?"s":""}://${s.api}`;(0,f.a1)(e,s.psd)},m=()=>{g(),window.location.reload()},v=()=>{(0,h.zj)().then((e=>{n.value.config.Common=e.Common,n.value.config.Client=e.Client,n.value.config.Server=e.Server,n.value.config.Running=e.Running,n.value.config.configed=!0,setTimeout((()=>{v()}),1e3)})).catch((e=>{setTimeout((()=>{v()}),1e3)}))},b=()=>{(0,p.SZ)().then((e=>{n.value.signin.Connected=e.Connected,n.value.signin.Connecting=e.Connecting,n.value.signin.Version=e.Version,setTimeout((()=>{b()}),1e3)})).catch((e=>{setTimeout((()=>{b()}),1e3)}))};return(0,r.sV)((()=>{setTimeout((()=>{s.showPort=!0}),500),(0,f.jH)((e=>{e&&(v(),b())})),t.isReady().then((()=>{s.api=o.query.api?`${window.location.hostname}:${o.query.api}`:s.api,s.psd=o.query.psd||s.psd,g()}))})),{state:s,showPort:a,handleConnect1:m}}},v=t(1241);const b=(0,v.A)(m,[["render",a],["__scopeId","data-v-08751c59"]]);var y=b,w={components:{Api:y},setup(e){const n=(0,c.v)(),t=(0,r.EW)((()=>n.value.config.configed));return{configed:t}}};const C=(0,v.A)(w,[["render",i]]);var S=C;const k=[{path:"/",name:"Full",component:()=>Promise.all([t.e(316),t.e(952),t.e(321)]).then(t.bind(t,1177)),redirect:"/full/index.html",children:[{path:"/full/index.html",name:"FullIndex",component:()=>Promise.all([t.e(316),t.e(848),t.e(276)]).then(t.bind(t,217))},{path:"/full/servers.html",name:"FullServers",component:()=>t.e(857).then(t.bind(t,6857))},{path:"/full/transport.html",name:"FullTransport",component:()=>t.e(225).then(t.bind(t,3225))},{path:"/full/action.html",name:"FullAction",component:()=>t.e(57).then(t.bind(t,2057))},{path:"/full/logger.html",name:"FullLogger",component:()=>t.e(352).then(t.bind(t,352))}]},{path:"/net/index.html",name:"Network",component:()=>Promise.all([t.e(316),t.e(952),t.e(848),t.e(836)]).then(t.bind(t,673))},{path:"/no-permission.html",name:"NoPermission",component:()=>t.e(31).then(t.bind(t,4083))}],P=(0,l.aE)({history:(0,l.Bt)(),routes:k});var A=P,B=t(6161);t(4188),t(2355),t(1862);const j=(0,o.Ef)(S);j.use(B.A,{size:"default"}).use(A).mount("#app")},3830:function(e,n,t){t.d(n,{B:function(){return s},v:function(){return u}});var o=t(4),r=t(144),i=t(6768);const c=Symbol(),u=()=>{const e=(0,r.KR)({api:{connected:!1},height:0,config:{Common:{},Client:{Servers:[],Accesss:{}},Server:{},Running:{Relay:{Servers:[]},Tuntap:{IP:"",PrefixLength:24},Client:{Servers:[]},AutoSyncs:{}},configed:!1},signin:{Connected:!1,Connecting:!1,Version:"v1.0.0.0"},bufferSize:["1KB","2KB","4KB","8KB","16KB","32KB","64KB","128KB","256KB","512KB","1024KB"],updater:{},self:{},hasAccess(e){if(void 0==this.config.Client.Accesss[e])return!1;const n=this.config.Client.Accesss[e].Value||-1,t=this.config.Client.Access||-1;return t>=0&&(0==t||+(BigInt(t)&BigInt(n)).toString()==n)}});return(0,o.jH)((n=>{e.value.api.connected=n})),(0,i.Gt)(c,e),e},s=()=>(0,i.WQ)(c)}},n={};function t(o){var r=n[o];if(void 0!==r)return r.exports;var i=n[o]={exports:{}};return e[o].call(i.exports,i,i.exports,t),i.exports}t.m=e,function(){var e=[];t.O=function(n,o,r,i){if(!o){var c=1/0;for(l=0;l=i)&&Object.keys(t.O).every((function(e){return t.O[e](o[s])}))?o.splice(s--,1):(u=!1,i0&&e[l-1][2]>i;l--)e[l]=e[l-1];e[l]=[o,r,i]}}(),function(){t.n=function(e){var n=e&&e.__esModule?function(){return e["default"]}:function(){return e};return t.d(n,{a:n}),n}}(),function(){t.d=function(e,n){for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})}}(),function(){t.f={},t.e=function(e){return Promise.all(Object.keys(t.f).reduce((function(n,o){return t.f[o](e,n),n}),[]))}}(),function(){t.u=function(e){return"js/"+e+"."+{31:"01e549ae",57:"d154f935",225:"8a3da4f8",276:"b7efbea0",316:"71786489",321:"3587d77b",352:"053f3b66",836:"449ec0b0",848:"3d739e8d",857:"70c8f4e1",952:"d90fc618"}[e]+".js"}}(),function(){t.miniCssF=function(e){return"css/"+e+"."+{31:"64181b05",57:"713ee644",225:"4f041b3c",276:"fd6fa25b",321:"9591b134",352:"56e27aad",836:"52e8e95a",857:"4af25108"}[e]+".css"}}(),function(){t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)}}(),function(){var e={},n="linker.web:";t.l=function(o,r,i,c){if(e[o])e[o].push(r);else{var u,s;if(void 0!==i)for(var a=document.getElementsByTagName("script"),l=0;l { } export const testTargetForwardInfo = (machineid) => { - return sendWebsocketMsg('forward/TestTarget', machineid); + return sendWebsocketMsg('forward/Test', machineid); } \ No newline at end of file diff --git a/linker.web/src/assets/alipay.jpg b/linker.web/src/assets/alipay.jpg deleted file mode 100644 index 5b6b46f9..00000000 Binary files a/linker.web/src/assets/alipay.jpg and /dev/null differ diff --git a/linker.web/src/assets/qr.jpg b/linker.web/src/assets/qr.jpg new file mode 100644 index 00000000..3ab41219 Binary files /dev/null and b/linker.web/src/assets/qr.jpg differ diff --git a/linker.web/src/assets/wechat.jpg b/linker.web/src/assets/wechat.jpg deleted file mode 100644 index 95afcb90..00000000 Binary files a/linker.web/src/assets/wechat.jpg and /dev/null differ diff --git a/linker.web/src/views/full/devices/ForwardEdit.vue b/linker.web/src/views/full/devices/ForwardEdit.vue index d91417a8..6f5b22b3 100644 --- a/linker.web/src/views/full/devices/ForwardEdit.vue +++ b/linker.web/src/views/full/devices/ForwardEdit.vue @@ -126,8 +126,8 @@