diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 0b83dd24..05d29835 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -57,9 +57,9 @@ jobs: docker tag snltty/linker-musl-x64:latest snltty/linker-musl:amd64 && \ docker push snltty/linker-musl:amd64 && \ docker manifest create snltty/linker-musl:latest snltty/linker-musl:amd64 snltty/linker-musl:arm64 snltty/linker-musl:arm && \ - docker manifest create snltty/linker-musl:v1.6.3 snltty/linker-musl:amd64 snltty/linker-musl:arm64 snltty/linker-musl:arm && \ + docker manifest create snltty/linker-musl:v1.6.4 snltty/linker-musl:amd64 snltty/linker-musl:arm64 snltty/linker-musl:arm && \ docker manifest push snltty/linker-musl:latest && \ - docker manifest push snltty/linker-musl:v1.6.3 && \ + docker manifest push snltty/linker-musl:v1.6.4 && \ docker pull --platform linux/arm/v7 snltty/linker-debian-arm:latest && \ docker tag snltty/linker-debian-arm:latest snltty/linker-debian:arm && \ docker push snltty/linker-debian:arm && \ @@ -70,6 +70,6 @@ jobs: docker tag snltty/linker-debian-x64:latest snltty/linker-debian:amd64 && \ docker push snltty/linker-debian:amd64 && \ docker manifest create snltty/linker-debian:latest snltty/linker-debian:amd64 snltty/linker-debian:arm64 snltty/linker-debian:arm && \ - docker manifest create snltty/linker-debian:v1.6.3 snltty/linker-debian:amd64 snltty/linker-debian:arm64 snltty/linker-debian:arm && \ + docker manifest create snltty/linker-debian:v1.6.4 snltty/linker-debian:amd64 snltty/linker-debian:arm64 snltty/linker-debian:arm && \ docker manifest push snltty/linker-debian:latest && \ - docker manifest push snltty/linker-debian:v1.6.3 \ No newline at end of file + docker manifest push snltty/linker-debian:v1.6.4 \ No newline at end of file diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 640f33e7..ef245a4f 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -33,8 +33,8 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.ACTIONS_TOKEN }} with: - tag_name: v1.6.3 - release_name: v1.6.3.${{ steps.date.outputs.today }} + tag_name: v1.6.4 + release_name: v1.6.4.${{ steps.date.outputs.today }} draft: false prerelease: false body: "1. 优化UI,显示网络计算IP数\r\n2. 修复内网穿透不停止直接删除导致的无法再次添加的问题\r\n3. 优化网卡的端口转发\r\n4. 修复网络掩码计算错误\r\n5. 测试中,不要更,不要更,不要更" @@ -47,7 +47,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-win-x86.zip - target-path: /downloads/linker/v1.6.3/linker-win-x86.zip + target-path: /downloads/linker/v1.6.4/linker-win-x86.zip - name: upload-win-x86 id: upload-win-x86 uses: actions/upload-release-asset@master @@ -67,7 +67,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-win-x64.zip - target-path: /downloads/linker/v1.6.3/linker-win-x64.zip + target-path: /downloads/linker/v1.6.4/linker-win-x64.zip - name: upload-win-x64 id: upload-win-x64 uses: actions/upload-release-asset@master @@ -87,7 +87,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-win-arm64.zip - target-path: /downloads/linker/v1.6.3/linker-win-arm64.zip + target-path: /downloads/linker/v1.6.4/linker-win-arm64.zip - name: upload-win-arm64 id: upload-win-arm64 uses: actions/upload-release-asset@master @@ -107,7 +107,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-linux-x64.zip - target-path: /downloads/linker/v1.6.3/linker-linux-x64.zip + target-path: /downloads/linker/v1.6.4/linker-linux-x64.zip - name: upload-linux-x64 id: upload-linux-x64 uses: actions/upload-release-asset@master @@ -127,7 +127,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-linux-arm.zip - target-path: /downloads/linker/v1.6.3/linker-linux-arm.zip + target-path: /downloads/linker/v1.6.4/linker-linux-arm.zip - name: upload-linux-arm id: upload-linux-arm uses: actions/upload-release-asset@master @@ -147,7 +147,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-linux-arm64.zip - target-path: /downloads/linker/v1.6.3/linker-linux-arm64.zip + target-path: /downloads/linker/v1.6.4/linker-linux-arm64.zip - name: upload-linux-arm64 id: upload-linux-arm64 uses: actions/upload-release-asset@master @@ -167,7 +167,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-linux-musl-x64.zip - target-path: /downloads/linker/v1.6.3/linker-linux-musl-x64.zip + target-path: /downloads/linker/v1.6.4/linker-linux-musl-x64.zip - name: upload-linux-musl-x64 id: upload-linux-musl-x64 uses: actions/upload-release-asset@master @@ -187,7 +187,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-linux-musl-arm.zip - target-path: /downloads/linker/v1.6.3/linker-linux-musl-arm.zip + target-path: /downloads/linker/v1.6.4/linker-linux-musl-arm.zip - name: upload-linux-musl-arm id: upload-linux-musl-arm uses: actions/upload-release-asset@master @@ -207,7 +207,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-linux-musl-arm64.zip - target-path: /downloads/linker/v1.6.3/linker-linux-musl-arm64.zip + target-path: /downloads/linker/v1.6.4/linker-linux-musl-arm64.zip - name: upload-linux-musl-arm64 id: upload-linux-musl-arm64 uses: actions/upload-release-asset@master @@ -227,7 +227,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-osx-x64.zip - target-path: /downloads/linker/v1.6.3/linker-osx-x64.zip + target-path: /downloads/linker/v1.6.4/linker-osx-x64.zip - name: upload-osx-x64 id: upload-osx-x64 uses: actions/upload-release-asset@master @@ -247,7 +247,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-osx-arm64.zip - target-path: /downloads/linker/v1.6.3/linker-osx-arm64.zip + target-path: /downloads/linker/v1.6.4/linker-osx-arm64.zip - name: upload-osx-arm64 id: upload-osx-arm64 uses: actions/upload-release-asset@master @@ -277,7 +277,7 @@ jobs: key-secret: ${{ secrets.ALIYUN_OSS_SECRET }} bucket: ide-qbcode asset-path: ./public/publish-zip/linker-windows-route.zip - target-path: /downloads/linker/v1.6.3/linker-windows-route.zip + target-path: /downloads/linker/v1.6.4/linker-windows-route.zip - name: upload-version-oss id: upload-version-oss uses: tvrcgo/oss-action@v0.1.1 diff --git a/.github/workflows/nuget.yml b/.github/workflows/nuget.yml index aedde9ae..dc3e8df3 100644 --- a/.github/workflows/nuget.yml +++ b/.github/workflows/nuget.yml @@ -24,12 +24,14 @@ jobs: dotnet build ./linker.libs -c release dotnet build ./linker.tunnel -c release dotnet build ./linker.tun -c release + dotnet build ./linker.messenger -c release - name: Pack run: | dotnet pack ./linker.libs -c release dotnet pack ./linker.tunnel -c release dotnet pack ./linker.tun -c release + dotnet pack ./linker.messenger -c release - name: Install Nuget uses: nuget/setup-nuget@v1 @@ -38,6 +40,7 @@ jobs: - name: Push run: | - nuget push ./linker.tunnel/bin/release/linker.tunnel.1.6.3.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol - nuget push ./linker.libs/bin/release/linker.libs.1.6.3.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol - nuget push ./linker.tun/bin/release/linker.tun.1.6.3.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol + nuget push ./linker.tunnel/bin/release/linker.tunnel.1.6.4.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol + nuget push ./linker.libs/bin/release/linker.libs.1.6.4.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol + nuget push ./linker.tun/bin/release/linker.tun.1.6.4.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol + nuget push ./linker.messenger/bin/release/linker.messenger.1.6.4.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol diff --git a/linker.gen/InterfaceSourceGenerator.cs b/linker.gen/InterfaceSourceGenerator.cs index f4bfd9df..41339203 100644 --- a/linker.gen/InterfaceSourceGenerator.cs +++ b/linker.gen/InterfaceSourceGenerator.cs @@ -12,18 +12,18 @@ namespace linker.gen public class InterfaceSourceGenerator : IIncrementalGenerator { private List generators = new List { - new GeneratorInfo{ ClassName="FlowTypesLoader", ClassNameSpace="linker.plugins.flow", InterfaceName="linker.plugins.flow.IFlow" }, - new GeneratorInfo{ ClassName="RelayTypesLoader", ClassNameSpace="linker.plugins.relay.client", InterfaceName="linker.plugins.relay.client.transport.ITransport" }, - new GeneratorInfo{ ClassName="RelayValidatorTypeLoader", ClassNameSpace="linker.plugins.relay.server.validator", InterfaceName="linker.plugins.relay.server.validator.IRelayValidator" }, - new GeneratorInfo{ ClassName="SignInArgsTypesLoader", ClassNameSpace="linker.plugins.signIn.args", InterfaceName="linker.plugins.signIn.args.ISignInArgs" }, - new GeneratorInfo{ ClassName="ResolverTypesLoader", ClassNameSpace="linker.plugins.resolver", InterfaceName="linker.plugins.resolver.IResolver" }, - new GeneratorInfo{ ClassName="TunnelExcludeIPTypesLoader", ClassNameSpace="linker.plugins.tunnel.excludeip", InterfaceName="linker.plugins.tunnel.excludeip.ITunnelExcludeIP" }, - new GeneratorInfo{ ClassName="StartupTransfer", ClassNameSpace="linker.startup", InterfaceName="linker.startup.IStartup", Instance=true }, - new GeneratorInfo{ ClassName="MessengerResolverTypesLoader", ClassNameSpace="linker.plugins.messenger", InterfaceName="linker.plugins.messenger.IMessenger"}, - new GeneratorInfo{ ClassName="ApiClientTypesLoader", ClassNameSpace="linker.plugins.capi", InterfaceName="linker.plugins.capi.IApiClientController"}, - new GeneratorInfo{ ClassName="ConfigSyncTypesLoader", ClassNameSpace="linker.plugins.config", InterfaceName="linker.plugins.config.IConfigSync"}, - new GeneratorInfo{ ClassName="DecenterTypesLoader", ClassNameSpace="linker.plugins.decenter", InterfaceName="linker.plugins.decenter.IDecenter"}, - new GeneratorInfo{ ClassName="RouteExcludeIPTypesLoader", ClassNameSpace="linker.plugins.route", InterfaceName="linker.plugins.route.IRouteExcludeIP" }, + new GeneratorInfo{ ClassName="linker.plugins.flow.FlowTypesLoader", InterfaceName="linker.plugins.flow.IFlow" }, + new GeneratorInfo{ ClassName="linker.plugins.relay.client.RelayTypesLoader", InterfaceName="linker.plugins.relay.client.transport.ITransport" }, + new GeneratorInfo{ ClassName="linker.plugins.relay.server.validator.RelayValidatorTypeLoader", InterfaceName="linker.plugins.relay.server.validator.IRelayValidator" }, + new GeneratorInfo{ ClassName="linker.plugins.signIn.args.SignInArgsTypesLoader", InterfaceName="linker.plugins.signIn.args.ISignInArgs" }, + new GeneratorInfo{ ClassName="linker.plugins.resolver.ResolverTypesLoader", InterfaceName="linker.plugins.resolver.IResolver" }, + new GeneratorInfo{ ClassName="linker.plugins.tunnel.excludeip.TunnelExcludeIPTypesLoader", InterfaceName="linker.plugins.tunnel.excludeip.ITunnelExcludeIP" }, + new GeneratorInfo{ ClassName="linker.startup.StartupTransfer", InterfaceName="linker.startup.IStartup", Instance=true }, + new GeneratorInfo{ ClassName="linker.plugins.messenger.MessengerResolverTypesLoader", InterfaceName="linker.messenger.IMessenger"}, + new GeneratorInfo{ ClassName="linker.plugins.capi.ApiClientTypesLoader",InterfaceName="linker.plugins.capi.IApiClientController"}, + new GeneratorInfo{ ClassName="linker.plugins.config.ConfigSyncTypesLoader", InterfaceName="linker.plugins.config.IConfigSync"}, + new GeneratorInfo{ ClassName="linker.plugins.decenter.DecenterTypesLoader", InterfaceName="linker.plugins.decenter.IDecenter"}, + new GeneratorInfo{ ClassName="linker.plugins.route.RouteExcludeIPTypesLoader", InterfaceName="linker.plugins.route.IRouteExcludeIP" }, }; public void Initialize(IncrementalGeneratorInitializationContext context) @@ -74,14 +74,16 @@ namespace linker.gen } } + var spaces = info.ClassName.Split('.'); + var source = $@" using System; using System.Collections.Generic; {string.Join("\r\n", namespaces)} - namespace {info.ClassNameSpace} + namespace {string.Join(".", spaces.Take(spaces.Count() - 1))} {{ - public partial class {info.ClassName} + public partial class {spaces.LastOrDefault()} {{ public static List GetSourceGeneratorTypes() {{ @@ -110,7 +112,6 @@ namespace linker.gen public sealed class GeneratorInfo { public string ClassName { get; set; } - public string ClassNameSpace { get; set; } public string InterfaceName { get; set; } public bool Instance { get; set; } } diff --git a/linker.libs/linker.libs.csproj b/linker.libs/linker.libs.csproj index 0a1dea11..6e666653 100644 --- a/linker.libs/linker.libs.csproj +++ b/linker.libs/linker.libs.csproj @@ -14,9 +14,9 @@ snltty https://github.com/snltty/linker https://github.com/snltty/linker - 1.6.3 - 1.6.3 - 1.6.3 + 1.6.4 + 1.6.4 + 1.6.4 full diff --git a/linker/plugins/messenger/IConnection.cs b/linker.messenger/IConnection.cs similarity index 99% rename from linker/plugins/messenger/IConnection.cs rename to linker.messenger/IConnection.cs index 330d15c0..dbbef5eb 100644 --- a/linker/plugins/messenger/IConnection.cs +++ b/linker.messenger/IConnection.cs @@ -6,7 +6,7 @@ using System.Net.Security; using System.Net.Sockets; using System.Text; -namespace linker.plugins.messenger +namespace linker.messenger { public interface IConnectionReceiveCallback { diff --git a/linker.messenger/IMessenger.cs b/linker.messenger/IMessenger.cs new file mode 100644 index 00000000..0443ff44 --- /dev/null +++ b/linker.messenger/IMessenger.cs @@ -0,0 +1,17 @@ +namespace linker.messenger +{ + public interface IMessenger + { + } + + [AttributeUsage(AttributeTargets.Method)] + public sealed class MessengerIdAttribute : Attribute + { + public ushort Id { get; set; } + public MessengerIdAttribute(ushort id) + { + Id = id; + } + } + +} diff --git a/linker/plugins/messenger/MessengerResolver.cs b/linker.messenger/MessengerResolver.cs similarity index 92% rename from linker/plugins/messenger/MessengerResolver.cs rename to linker.messenger/MessengerResolver.cs index ba6b725e..aac6aa15 100644 --- a/linker/plugins/messenger/MessengerResolver.cs +++ b/linker.messenger/MessengerResolver.cs @@ -6,37 +6,20 @@ using System.Reflection; using System.Security.Authentication; using System.Security.Cryptography.X509Certificates; using linker.libs.extends; -using linker.plugins.resolver; -namespace linker.plugins.messenger +namespace linker.messenger { public interface IMessengerResolver { public void Initialize(string certificate, string password); public Task BeginReceiveClient(Socket socket); + public Task BeginReceiveClient(Socket socket, bool sendFlag, byte flag); public void LoadMessenger(List list); public Task Resolve(Socket socket, Memory memory); public Task Resolve(Socket socket, IPEndPoint ep, Memory memory); } - public sealed class MessengerResolverResolver : IResolver - { - public ResolverType Type => ResolverType.Messenger; - - private readonly IMessengerResolver messengerResolver; - public MessengerResolverResolver(IMessengerResolver messengerResolver) - { - this.messengerResolver = messengerResolver; - } - public async Task Resolve(Socket socket, Memory memory) - { - await messengerResolver.Resolve(socket, memory); - } - public async Task Resolve(Socket socket, IPEndPoint ep, Memory memory) - { - await messengerResolver.Resolve(socket, ep, memory); - } - } + /// /// 消息处理总线 @@ -70,11 +53,9 @@ namespace linker.plugins.messenger } } - public virtual void AddReceive(ushort id, ulong bytes) { } public virtual void AddSendt(ushort id, ulong bytes) { } - public async Task Resolve(Socket socket, Memory memory) { try @@ -98,6 +79,10 @@ namespace linker.plugins.messenger } public async Task BeginReceiveClient(Socket socket) + { + return await BeginReceiveClient(socket,false,0); + } + public async Task BeginReceiveClient(Socket socket,bool sendFlag,byte flag) { try { @@ -106,7 +91,10 @@ namespace linker.plugins.messenger return null; } socket.KeepAlive(); - await socket.SendAsync(new byte[] { (byte)ResolverType.Messenger }).ConfigureAwait(false); + if (sendFlag) + { + await socket.SendAsync(new byte[] { flag }).ConfigureAwait(false); + } NetworkStream networkStream = new NetworkStream(socket, false); SslStream sslStream = new SslStream(networkStream, true, new RemoteCertificateValidationCallback(ValidateServerCertificate), null); await sslStream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions diff --git a/linker/plugins/messenger/MessengerSender.cs b/linker.messenger/MessengerSender.cs similarity index 99% rename from linker/plugins/messenger/MessengerSender.cs rename to linker.messenger/MessengerSender.cs index 540bbadc..9cbb9503 100644 --- a/linker/plugins/messenger/MessengerSender.cs +++ b/linker.messenger/MessengerSender.cs @@ -1,7 +1,7 @@ using linker.libs; using System.Collections.Concurrent; -namespace linker.plugins.messenger +namespace linker.messenger { public interface IMessengerSender { diff --git a/linker/plugins/messenger/MessengerWrap.cs b/linker.messenger/MessengerWrap.cs similarity index 99% rename from linker/plugins/messenger/MessengerWrap.cs rename to linker.messenger/MessengerWrap.cs index 5d3a7fd0..00ff0e65 100644 --- a/linker/plugins/messenger/MessengerWrap.cs +++ b/linker.messenger/MessengerWrap.cs @@ -2,7 +2,7 @@ using System.Buffers; using System.ComponentModel; -namespace linker.plugins.messenger +namespace linker.messenger { /// /// 请求数据包 diff --git a/linker.messenger/linker.messenger.csproj b/linker.messenger/linker.messenger.csproj new file mode 100644 index 00000000..ce3ff6a8 --- /dev/null +++ b/linker.messenger/linker.messenger.csproj @@ -0,0 +1,37 @@ + + + + net8.0 + enable + disable + true + false + true + True + linker messenger + snltty + snltty + linker messenger + snltty + https://github.com/snltty/linker + https://github.com/snltty/linker + linker messenger + 1.6.4 + 1.6.4 + 1.6.4 + + + + full + true + + + none + false + True + + + + + + diff --git a/linker.signin/linker.signin.csproj b/linker.signin/linker.signin.csproj new file mode 100644 index 00000000..a426a048 --- /dev/null +++ b/linker.signin/linker.signin.csproj @@ -0,0 +1,42 @@ + + + + + net8.0 + enable + disable + true + false + true + True + linker signin + snltty + snltty + linker signin + snltty + https://github.com/snltty/linker + https://github.com/snltty/linker + linker signin + 1.6.4 + 1.6.4 + 1.6.4 + + + + full + true + + + none + false + True + + + + + + + + + + diff --git a/linker.sln b/linker.sln index 98186aa4..1271cbba 100644 --- a/linker.sln +++ b/linker.sln @@ -17,6 +17,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "linker.tun.test", "linker.t EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "linker.gen", "linker.gen\linker.gen.csproj", "{031C3589-72BB-4A3F-B1A5-BC0665FDF01B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "linker.messenger", "linker.messenger\linker.messenger.csproj", "{2B0BFDBB-8C5F-4E47-8309-2A764C2567C2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "linker.signin", "linker.signin\linker.signin.csproj", "{5B1F4754-D1B6-426B-B310-8C21F26879D2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -111,6 +115,30 @@ Global {031C3589-72BB-4A3F-B1A5-BC0665FDF01B}.Release|x64.Build.0 = Release|Any CPU {031C3589-72BB-4A3F-B1A5-BC0665FDF01B}.Release|x86.ActiveCfg = Release|Any CPU {031C3589-72BB-4A3F-B1A5-BC0665FDF01B}.Release|x86.Build.0 = Release|Any CPU + {2B0BFDBB-8C5F-4E47-8309-2A764C2567C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2B0BFDBB-8C5F-4E47-8309-2A764C2567C2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2B0BFDBB-8C5F-4E47-8309-2A764C2567C2}.Debug|x64.ActiveCfg = Debug|Any CPU + {2B0BFDBB-8C5F-4E47-8309-2A764C2567C2}.Debug|x64.Build.0 = Debug|Any CPU + {2B0BFDBB-8C5F-4E47-8309-2A764C2567C2}.Debug|x86.ActiveCfg = Debug|Any CPU + {2B0BFDBB-8C5F-4E47-8309-2A764C2567C2}.Debug|x86.Build.0 = Debug|Any CPU + {2B0BFDBB-8C5F-4E47-8309-2A764C2567C2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2B0BFDBB-8C5F-4E47-8309-2A764C2567C2}.Release|Any CPU.Build.0 = Release|Any CPU + {2B0BFDBB-8C5F-4E47-8309-2A764C2567C2}.Release|x64.ActiveCfg = Release|Any CPU + {2B0BFDBB-8C5F-4E47-8309-2A764C2567C2}.Release|x64.Build.0 = Release|Any CPU + {2B0BFDBB-8C5F-4E47-8309-2A764C2567C2}.Release|x86.ActiveCfg = Release|Any CPU + {2B0BFDBB-8C5F-4E47-8309-2A764C2567C2}.Release|x86.Build.0 = Release|Any CPU + {5B1F4754-D1B6-426B-B310-8C21F26879D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5B1F4754-D1B6-426B-B310-8C21F26879D2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5B1F4754-D1B6-426B-B310-8C21F26879D2}.Debug|x64.ActiveCfg = Debug|Any CPU + {5B1F4754-D1B6-426B-B310-8C21F26879D2}.Debug|x64.Build.0 = Debug|Any CPU + {5B1F4754-D1B6-426B-B310-8C21F26879D2}.Debug|x86.ActiveCfg = Debug|Any CPU + {5B1F4754-D1B6-426B-B310-8C21F26879D2}.Debug|x86.Build.0 = Debug|Any CPU + {5B1F4754-D1B6-426B-B310-8C21F26879D2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5B1F4754-D1B6-426B-B310-8C21F26879D2}.Release|Any CPU.Build.0 = Release|Any CPU + {5B1F4754-D1B6-426B-B310-8C21F26879D2}.Release|x64.ActiveCfg = Release|Any CPU + {5B1F4754-D1B6-426B-B310-8C21F26879D2}.Release|x64.Build.0 = Release|Any CPU + {5B1F4754-D1B6-426B-B310-8C21F26879D2}.Release|x86.ActiveCfg = Release|Any CPU + {5B1F4754-D1B6-426B-B310-8C21F26879D2}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/linker.tray.win/default.aproj b/linker.tray.win/default.aproj index acff0623..5479be2c 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 1a504705..4dc04fa9 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.tun/linker.tun.csproj b/linker.tun/linker.tun.csproj index 28724af7..d9c72c29 100644 --- a/linker.tun/linker.tun.csproj +++ b/linker.tun/linker.tun.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker tun - 1.6.3 - 1.6.3 - 1.6.3 + 1.6.4 + 1.6.4 + 1.6.4 diff --git a/linker.tunnel/linker.tunnel.csproj b/linker.tunnel/linker.tunnel.csproj index 2677e7af..bf470c38 100644 --- a/linker.tunnel/linker.tunnel.csproj +++ b/linker.tunnel/linker.tunnel.csproj @@ -16,9 +16,9 @@ https://github.com/snltty/linker https://github.com/snltty/linker linker tunnel - 1.6.3 - 1.6.3 - 1.6.3 + 1.6.4 + 1.6.4 + 1.6.4 diff --git a/linker.web/src/assets/style.css b/linker.web/src/assets/style.css index 562b3ee3..a3e74c70 100644 --- a/linker.web/src/assets/style.css +++ b/linker.web/src/assets/style.css @@ -32,32 +32,6 @@ a.a-line { ; } -span.point { - 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 { - background-color: #01c901; - border: 1px solid #049538; -} - -span.point.relay { - background-color: #e3e811; - border: 1px solid #b3c410; -} - -span.point.node { - background-color: #09dda9; - border: 1px solid #0cac90; -} - .flex { display: flex; diff --git a/linker.web/src/views/full/action/Index.vue b/linker.web/src/views/full/action/Index.vue index 70f23659..e156200a 100644 --- a/linker.web/src/views/full/action/Index.vue +++ b/linker.web/src/views/full/action/Index.vue @@ -22,7 +22,7 @@ export default { setup(props) { const globalData = injectGlobalData(); const state = reactive({ - list:globalData.value.config.Client.Action.Args[globalData.value.config.Client.ServerInfo.Host] || '' + list:globalData.value.config.Client.Action.Args[globalData.value.config.Client.Server.Host] || '' }); const handleSave = ()=>{ try{ @@ -35,7 +35,7 @@ export default { return; } const json = {}; - json[globalData.value.config.Client.ServerInfo.Host] = state.list; + json[globalData.value.config.Client.Server.Host] = state.list; setArgs(json).then(()=>{ ElMessage.success('已操作'); }).catch((err)=>{ diff --git a/linker.web/src/views/full/devices/ConnectionShow.vue b/linker.web/src/views/full/devices/ConnectionShow.vue new file mode 100644 index 00000000..6f661146 --- /dev/null +++ b/linker.web/src/views/full/devices/ConnectionShow.vue @@ -0,0 +1,64 @@ + + + + + \ No newline at end of file diff --git a/linker.web/src/views/full/devices/Forward.vue b/linker.web/src/views/full/devices/Forward.vue index 4c5edda2..3211e517 100644 --- a/linker.web/src/views/full/devices/Forward.vue +++ b/linker.web/src/views/full/devices/Forward.vue @@ -4,20 +4,7 @@