From ca71c795cedf2e6dcfb331d9e568e426118c225d Mon Sep 17 00:00:00 2001 From: snltty Date: Fri, 21 Nov 2025 11:22:29 +0800 Subject: [PATCH] 196 --- shells/version.txt | 2 +- src/linker.messenger.tuntap/TuntapDecenter.cs | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/shells/version.txt b/shells/version.txt index 0b597ee6..b4ec1f9a 100644 --- a/shells/version.txt +++ b/shells/version.txt @@ -1,5 +1,5 @@ v1.9.6 -2025-11-21 10:43:23 +2025-11-21 11:22:29 1. 一些累计更新,一些BUG修复 2. 优化客户端数据同步,减少服务器流量 3. 去除cdkey,改为发电解锁中继速度 diff --git a/src/linker.messenger.tuntap/TuntapDecenter.cs b/src/linker.messenger.tuntap/TuntapDecenter.cs index ae025494..fd65729c 100644 --- a/src/linker.messenger.tuntap/TuntapDecenter.cs +++ b/src/linker.messenger.tuntap/TuntapDecenter.cs @@ -142,6 +142,25 @@ namespace linker.messenger.tuntap } version = _version; }, 3000); + + TimerHelper.SetIntervalLong(async () => + { + IEnumerable unAvailables = tuntapInfos.Values.Where(c => c.Available == false).Select(c => c.MachineId); + if (unAvailables.Any()) + { + List offlines = await signInClientTransfer.GetOfflines(unAvailables.ToList()).ConfigureAwait(false); + + IEnumerable onlines = unAvailables.Except(offlines); + if (onlines.Any()) + { + foreach (var item in tuntapInfos.Values.Where(c => onlines.Contains(c.MachineId))) + { + item.Available = true; + } + ProcData(); + } + } + }, 30000); } }