This commit is contained in:
snltty
2025-06-18 17:05:57 +08:00
parent 56e00cc879
commit 311155ea4d
8 changed files with 86 additions and 15 deletions

View File

@@ -220,6 +220,16 @@ jobs:
asset_path: ./public/publish-zip/linker-linux-musl-arm64.zip
asset_name: linker-linux-musl-arm64.zip
asset_content_type: application/zip
- name: upload-version-oss
id: upload-version-oss
uses: tvrcgo/oss-action@v0.1.1
with:
region: oss-cn-shenzhen
key-id: ${{ secrets.ALIYUN_OSS_ID }}
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
bucket: ide-qbcode
asset-path: ./public/version.txt
target-path: /downloads/linker/version.txt
- name: upload-install-service-oss
id: upload-install-service-oss
uses: tvrcgo/oss-action@v0.1.1

View File

@@ -86,7 +86,7 @@ function writeUpload(data, tagName) {
});
};
}
/*
data.jobs.build.steps.push({
name: `upload-version-oss`,
id: `upload-version-oss`,
@@ -100,7 +100,7 @@ function writeUpload(data, tagName) {
'target-path': `/downloads/linker/version.txt`
}
});
*/
data.jobs.build.steps.push({
name: `upload-install-service-oss`,
id: `upload-install-service-oss`,

View File

@@ -52,12 +52,10 @@ namespace linker.messenger.serializer.memorypack
MemoryPackFormatterProvider.Register(new UpdaterConfirmServerInfoFormatter());
MemoryPackFormatterProvider.Register(new UpdaterClientInfoFormatter());
MemoryPackFormatterProvider.Register(new UpdaterClientInfo170Formatter());
MemoryPackFormatterProvider.Register(new UpdaterInfoFormatter());
MemoryPackFormatterProvider.Register(new UpdaterInfo170Formatter());
MemoryPackFormatterProvider.Register(new Updater184InfoFormatter());
MemoryPackFormatterProvider.Register(new UpdaterSyncInfoFormatter());
MemoryPackFormatterProvider.Register(new RelayTestInfoFormatter());
MemoryPackFormatterProvider.Register(new RelayTestInfo170Formatter());

View File

@@ -401,6 +401,59 @@ namespace linker.messenger.serializer.memorypack
value = wrapped.info;
}
}
[MemoryPackable]
public readonly partial struct SerializableUpdaterSyncInfo
{
[MemoryPackIgnore]
public readonly UpdaterSyncInfo info;
[MemoryPackInclude]
string SecretKey => info.SecretKey;
[MemoryPackInclude]
bool Sync2Server => info.Sync2Server;
[MemoryPackConstructor]
SerializableUpdaterSyncInfo(string secretKey, bool sync2Server)
{
var info = new UpdaterSyncInfo { SecretKey = secretKey, Sync2Server = sync2Server };
this.info = info;
}
public SerializableUpdaterSyncInfo(UpdaterSyncInfo info)
{
this.info = info;
}
}
public class UpdaterSyncInfoFormatter : MemoryPackFormatter<UpdaterSyncInfo>
{
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref UpdaterSyncInfo value)
{
if (value == null)
{
writer.WriteNullObjectHeader();
return;
}
writer.WritePackable(new SerializableUpdaterSyncInfo(value));
}
public override void Deserialize(ref MemoryPackReader reader, scoped ref UpdaterSyncInfo value)
{
if (reader.PeekIsNull())
{
reader.Advance(1); // skip null block
value = null;
return;
}
var wrapped = reader.ReadPackable<SerializableUpdaterSyncInfo>();
value = wrapped.info;
}
}
}

View File

@@ -273,7 +273,7 @@ namespace linker.messenger.store.file
if (configExportInfo.Group) client.Groups = new SignInClientGroupInfo[] { client.Groups[0] };
else client.Groups = new SignInClientGroupInfo[] { };
if (configExportInfo.Updater) client.Updater = new linker.messenger.updater.UpdaterConfigClientInfo { SecretKey = client.Updater.SecretKey };
if (configExportInfo.Updater) client.Updater = new linker.messenger.updater.UpdaterConfigClientInfo { SecretKey = client.Updater.SecretKey, Sync2Server = client.Updater.Sync2Server };
else client.Updater = new linker.messenger.updater.UpdaterConfigClientInfo { };

View File

@@ -10,16 +10,10 @@ namespace linker.messenger.store.file
}
public partial class ConfigClientInfo
{
/// <summary>
/// 服务器穿透配置
/// </summary>
public UpdaterConfigClientInfo Updater { get; set; } = new UpdaterConfigClientInfo();
}
public partial class ConfigServerInfo
{
/// <summary>
/// 服务器穿透配置
/// </summary>
public UpdaterConfigServerInfo Updater { get; set; } = new UpdaterConfigServerInfo();
}
}

View File

@@ -18,14 +18,30 @@ namespace linker.messenger.updater
}
public Memory<byte> GetData()
{
return serializer.Serialize(updaterClientStore.Info);
return serializer.Serialize(new UpdaterSyncInfo
{
SecretKey = updaterClientStore.Info.SecretKey,
Sync2Server = updaterClientStore.Info.Sync2Server
});
}
public void SetData(Memory<byte> data)
{
UpdaterConfigClientInfo info = serializer.Deserialize<UpdaterConfigClientInfo>(data.Span);
UpdaterSyncInfo info = serializer.Deserialize<UpdaterSyncInfo>(data.Span);
updaterClientStore.SetSecretKey(info.SecretKey);
updaterClientStore.SetSync2Server(info.Sync2Server);
}
}
public sealed partial class UpdaterSyncInfo
{
/// <summary>
/// 密钥
/// </summary>
public string SecretKey { get; set; } = Helper.GlobalString;
/// <summary>
/// 与服务器同步
/// </summary>
public bool Sync2Server { get; set; } = false;
}
}

View File

@@ -1,5 +1,5 @@
v1.8.4
2025-06-18 16:23:22
2025-06-18 17:05:57
1. 一些累计更新
2. 优化数据同步,可选择同步到指定客户端
3. 增加选项,客户端自动更新到服务器版本