From 67310c0c44ca4df6a26e6ac920b09d0bdea6a16c Mon Sep 17 00:00:00 2001 From: snltty <1069410172@qq.com> Date: Sun, 31 Aug 2025 14:36:54 +0800 Subject: [PATCH] 191 --- .github/workflows/dotnet.yml | 2 +- .../transport/RelayClientTransportSelfHost.cs | 2 +- .../messenger/RelayMessenger.cs | 25 +++++++++++++------ .../server/IRelayServerNodeStore.cs | 12 ++++----- .../server/RelayServerMasterTransfer.cs | 1 - .../Entry.cs | 6 ++--- .../RelaySerializer.cs | 1 + .../messenger/SForwardMessenger.cs | 16 ++++++++---- .../ConfigApiController.cs | 6 ++--- .../relay/RelayServerNodeStore.cs | 4 +-- src/linker/linker.csproj | 5 ++-- version.txt | 7 +++--- 12 files changed, 51 insertions(+), 36 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 76787fde..e19018f7 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -37,7 +37,7 @@ jobs: release_name: v1.9.1.${{ steps.date.outputs.today }} draft: false prerelease: false - body: "1. 一些累计更新\r\n2. 服务器转发多节点\r\n3. 虚拟网卡下伪造ACK为TCP-in-TCP隧道提速\r\n4. 一些代码优化、修复一些错误\r\n5. 新增一个UDP同时打开的打洞协议,优化了一下TCP同时打开的打洞协议\r\n6. 其它一些小改变" + body: "1. 一些累计更新\r\n2. 服务器转发多节点\r\n3. 虚拟网卡下伪造ACK为TCP-in-TCP隧道提速\r\n4. 新增一个UDP同时打开的打洞协议,优化了一下TCP同时打开的打洞协议\r\n5. 一些代码优化,修复一些错误,其它一些小改变" - name: publish projects run: ./publish.bat "C:\\Android\\android-sdk" - name: upload-win-x86-oss diff --git a/src/linker.messenger.relay/client/transport/RelayClientTransportSelfHost.cs b/src/linker.messenger.relay/client/transport/RelayClientTransportSelfHost.cs index 016f1490..dc101e3d 100644 --- a/src/linker.messenger.relay/client/transport/RelayClientTransportSelfHost.cs +++ b/src/linker.messenger.relay/client/transport/RelayClientTransportSelfHost.cs @@ -618,7 +618,7 @@ namespace linker.messenger.relay.client.transport MessageResponeInfo resp = await messengerSender.SendReply(new MessageRequestWrap { Connection = signInClientState.Connection, - MessengerId = (ushort)RelayMessengerIds.RelayTest170, + MessengerId = (ushort)RelayMessengerIds.RelayTest188, Payload = serializer.Serialize(relayTestInfo), Timeout = 2000 }).ConfigureAwait(false); diff --git a/src/linker.messenger.relay/messenger/RelayMessenger.cs b/src/linker.messenger.relay/messenger/RelayMessenger.cs index 42a0aa0a..d7881e3e 100644 --- a/src/linker.messenger.relay/messenger/RelayMessenger.cs +++ b/src/linker.messenger.relay/messenger/RelayMessenger.cs @@ -234,18 +234,30 @@ namespace linker.messenger.relay.messenger [MessengerId((ushort)RelayMessengerIds.NodeReport)] public void NodeReport(IConnection connection) { - relayServerReportResolver.Add(connection.ReceiveRequestWrap.Payload.Length, 0); - RelayServerNodeReportInfo170 info = serializer.Deserialize(connection.ReceiveRequestWrap.Payload.Span); - relayServerTransfer.SetNodeReport(connection, info); + try + { + relayServerReportResolver.Add(connection.ReceiveRequestWrap.Payload.Length, 0); + RelayServerNodeReportInfo170 info = serializer.Deserialize(connection.ReceiveRequestWrap.Payload.Span); + relayServerTransfer.SetNodeReport(connection, info); + } + catch (Exception) + { + } connection.Write(serializer.Serialize(VersionHelper.Version)); } [MessengerId((ushort)RelayMessengerIds.NodeReport188)] public void NodeReport188(IConnection connection) { - relayServerReportResolver.Add(connection.ReceiveRequestWrap.Payload.Length, 0); - RelayServerNodeReportInfo188 info = serializer.Deserialize(connection.ReceiveRequestWrap.Payload.Span); - relayServerTransfer.SetNodeReport(connection, info); + try + { + relayServerReportResolver.Add(connection.ReceiveRequestWrap.Payload.Length, 0); + RelayServerNodeReportInfo188 info = serializer.Deserialize(connection.ReceiveRequestWrap.Payload.Span); + relayServerTransfer.SetNodeReport(connection, info); + } + catch (Exception) + { + } connection.Write(serializer.Serialize(VersionHelper.Version)); } @@ -310,7 +322,6 @@ namespace linker.messenger.relay.messenger } } - /// /// 重启 /// diff --git a/src/linker.messenger.relay/server/IRelayServerNodeStore.cs b/src/linker.messenger.relay/server/IRelayServerNodeStore.cs index 96c99465..b7906099 100644 --- a/src/linker.messenger.relay/server/IRelayServerNodeStore.cs +++ b/src/linker.messenger.relay/server/IRelayServerNodeStore.cs @@ -84,7 +84,7 @@ namespace linker.messenger.relay.server public bool AllowTcp { get; set; } = true; public bool AllowUdp { get; set; } - public bool Sync2Server { get; set; } + public bool Sync2Server { get; set; } } public partial class RelayServerNodeUpdateWrapInfo @@ -106,16 +106,16 @@ namespace linker.messenger.relay.server public string Url { get; set; } = "https://linker-doc.snltty.com"; public bool AllowTcp { get; set; } = true; - public bool AllowUdp { get; set; } = false; + public bool AllowUdp { get; set; } } - public sealed partial class RelayServerNodeUpdateWrapInfo188 + public partial class RelayServerNodeUpdateWrapInfo188 { public RelayServerNodeUpdateInfo188 Info { get; set; } } - public sealed partial class RelayServerNodeUpdateInfo188 : RelayServerNodeUpdateInfo + public partial class RelayServerNodeUpdateInfo188 : RelayServerNodeUpdateInfo { - public bool Sync2Server { get; set; } = false; + public bool Sync2Server { get; set; } } @@ -161,7 +161,7 @@ namespace linker.messenger.relay.server public List Nodes { get; set; } = new List(); } - public partial class RelayAskResultInfo170: RelayAskResultInfo + public partial class RelayAskResultInfo170 : RelayAskResultInfo { public new List Nodes { get; set; } = new List(); } diff --git a/src/linker.messenger.relay/server/RelayServerMasterTransfer.cs b/src/linker.messenger.relay/server/RelayServerMasterTransfer.cs index 9f5e5c77..0d1f11fa 100644 --- a/src/linker.messenger.relay/server/RelayServerMasterTransfer.cs +++ b/src/linker.messenger.relay/server/RelayServerMasterTransfer.cs @@ -101,7 +101,6 @@ namespace linker.messenger.relay.server LastTicks = info.LastTicks, Url = info.Url, Connection = connection - }); } public void SetNodeReport(IConnection connection, RelayServerNodeReportInfo188 info) diff --git a/src/linker.messenger.serializer.memorypack/Entry.cs b/src/linker.messenger.serializer.memorypack/Entry.cs index e5ef285c..fb500b0c 100644 --- a/src/linker.messenger.serializer.memorypack/Entry.cs +++ b/src/linker.messenger.serializer.memorypack/Entry.cs @@ -25,7 +25,7 @@ namespace linker.messenger.serializer.memorypack MemoryPackFormatterProvider.Register(new SignInConfigSetNameInfoFormatter()); MemoryPackFormatterProvider.Register(new SignInNamesResponseItemInfoFormatter()); MemoryPackFormatterProvider.Register(new SignInUserIdsResponseItemInfoFormatter()); - + MemoryPackFormatterProvider.Register(new SignInPushArgInfoFormatter()); @@ -79,7 +79,7 @@ namespace linker.messenger.serializer.memorypack MemoryPackFormatterProvider.Register(new RelayTrafficUpdateInfoFormatter()); MemoryPackFormatterProvider.Register(new RelayCdkeyInfoFormatter()); - + @@ -121,7 +121,7 @@ namespace linker.messenger.serializer.memorypack MemoryPackFormatterProvider.Register(new SForwardServerNodeReportInfoFormatter()); MemoryPackFormatterProvider.Register(new SForwardCdkeyInfoFormatter()); MemoryPackFormatterProvider.Register(new SForwardTrafficUpdateInfoFormatter()); - + MemoryPackFormatterProvider.Register(new ForwardInfoFormatter()); MemoryPackFormatterProvider.Register(new ForwardAddForwardInfoFormatter()); diff --git a/src/linker.messenger.serializer.memorypack/RelaySerializer.cs b/src/linker.messenger.serializer.memorypack/RelaySerializer.cs index 3918d2a7..88dd21af 100644 --- a/src/linker.messenger.serializer.memorypack/RelaySerializer.cs +++ b/src/linker.messenger.serializer.memorypack/RelaySerializer.cs @@ -1291,4 +1291,5 @@ namespace linker.messenger.serializer.memorypack value = wrapped.info; } } + } diff --git a/src/linker.messenger.sforward/messenger/SForwardMessenger.cs b/src/linker.messenger.sforward/messenger/SForwardMessenger.cs index 57163081..d390ecb4 100644 --- a/src/linker.messenger.sforward/messenger/SForwardMessenger.cs +++ b/src/linker.messenger.sforward/messenger/SForwardMessenger.cs @@ -59,8 +59,14 @@ namespace linker.plugins.sforward.messenger [MessengerId((ushort)SForwardMessengerIds.NodeReport)] public void NodeReport(IConnection connection) { - SForwardServerNodeReportInfo info = serializer.Deserialize(connection.ReceiveRequestWrap.Payload.Span); - sForwardServerMasterTransfer.SetNodeReport(connection, info); + try + { + SForwardServerNodeReportInfo info = serializer.Deserialize(connection.ReceiveRequestWrap.Payload.Span); + sForwardServerMasterTransfer.SetNodeReport(connection, info); + } + catch (Exception) + { + } connection.Write(serializer.Serialize(VersionHelper.Version)); } @@ -175,7 +181,7 @@ namespace linker.plugins.sforward.messenger public void Add191(IConnection connection) { SForwardAddInfo191 sForwardAddInfo = serializer.Deserialize(connection.ReceiveRequestWrap.Payload.Span); - SForwardAddResultInfo result = new SForwardAddResultInfo { Success = true, BufferSize = 3}; + SForwardAddResultInfo result = new SForwardAddResultInfo { Success = true, BufferSize = 3 }; try { Add(sForwardAddInfo, result); @@ -654,7 +660,7 @@ namespace linker.plugins.sforward.messenger { Connection = sign.Connection, MessengerId = (ushort)SForwardMessengerIds.Proxy, - Payload = serializer.Serialize(new SForwardProxyInfo { Domain = host, RemotePort = port, Id = id, BufferSize = 3}) + Payload = serializer.Serialize(new SForwardProxyInfo { Domain = host, RemotePort = port, Id = id, BufferSize = 3 }) }).ConfigureAwait(false); } return false; @@ -674,7 +680,7 @@ namespace linker.plugins.sforward.messenger { Connection = sign.Connection, MessengerId = (ushort)SForwardMessengerIds.Proxy, - Payload = serializer.Serialize(new SForwardProxyInfo { RemotePort = port, Id = id, BufferSize =3}) + Payload = serializer.Serialize(new SForwardProxyInfo { RemotePort = port, Id = id, BufferSize = 3 }) }).ConfigureAwait(false); } return false; diff --git a/src/linker.messenger.store.file/ConfigApiController.cs b/src/linker.messenger.store.file/ConfigApiController.cs index 7877215f..caf9d48c 100644 --- a/src/linker.messenger.store.file/ConfigApiController.cs +++ b/src/linker.messenger.store.file/ConfigApiController.cs @@ -303,10 +303,10 @@ namespace linker.messenger.store.file client.CApi, client.AccessBits, client.FullAccess, - Groups = new SignInClientGroupInfo[] { config.Data.Client.Groups[0] }, - Servers = new SignInClientServerInfo[] { config.Data.Client.Servers[0] }, + Groups = new SignInClientGroupInfo[] { client.Group }, + Servers = new SignInClientServerInfo[] { client.Server }, client.Updater, - Relay = new { Servers = new RelayServerInfo[] { client.Relay.Servers[0] } }, + Relay = new { Servers = new RelayServerInfo[] { client.Relay.Server } }, client.Tunnel, }, common, new { Install = true, Modes = new string[] { "client" } }); } diff --git a/src/linker.messenger.store.file/relay/RelayServerNodeStore.cs b/src/linker.messenger.store.file/relay/RelayServerNodeStore.cs index 5c72d27b..25ed1963 100644 --- a/src/linker.messenger.store.file/relay/RelayServerNodeStore.cs +++ b/src/linker.messenger.store.file/relay/RelayServerNodeStore.cs @@ -39,7 +39,7 @@ namespace linker.messenger.store.file.relay } public void SetMaxGbTotalLastBytes(long value) { - config.Data.Server.Relay.Distributed.Node.MaxGbTotalLastBytes=value; + config.Data.Server.Relay.Distributed.Node.MaxGbTotalLastBytes = value; } public void SetMaxGbTotalMonth(int month) @@ -47,6 +47,6 @@ namespace linker.messenger.store.file.relay config.Data.Server.Relay.Distributed.Node.MaxGbTotalMonth = month; } - + } } diff --git a/src/linker/linker.csproj b/src/linker/linker.csproj index d3c47e17..90f2dac6 100644 --- a/src/linker/linker.csproj +++ b/src/linker/linker.csproj @@ -23,9 +23,8 @@ 1. 一些累计更新 2. 服务器转发多节点 3. 虚拟网卡下伪造ACK为TCP-in-TCP隧道提速 -4. 一些代码优化、修复一些错误 -5. 新增一个UDP同时打开的打洞协议,优化了一下TCP同时打开的打洞协议 -6. 其它一些小改变 +4. 新增一个UDP同时打开的打洞协议,优化了一下TCP同时打开的打洞协议 +5. 一些代码优化,修复一些错误,其它一些小改变 snltty https://github.com/snltty/linker https://github.com/snltty/linker diff --git a/version.txt b/version.txt index 5ec25a13..8e1866ef 100644 --- a/version.txt +++ b/version.txt @@ -1,8 +1,7 @@ v1.9.1 -2025-08-31 01:38:15 +2025-08-31 14:36:54 1. 一些累计更新 2. 服务器转发多节点 3. 虚拟网卡下伪造ACK为TCP-in-TCP隧道提速 -4. 一些代码优化、修复一些错误 -5. 新增一个UDP同时打开的打洞协议,优化了一下TCP同时打开的打洞协议 -6. 其它一些小改变 \ No newline at end of file +4. 新增一个UDP同时打开的打洞协议,优化了一下TCP同时打开的打洞协议 +5. 一些代码优化,修复一些错误,其它一些小改变 \ No newline at end of file