feat: add fnOS packaging, storage workflows and release pipeline

This commit is contained in:
2026-08-11 18:05:49 +08:00
parent c5922f9b08
commit 95932f0199
181 changed files with 24024 additions and 1164 deletions
@@ -0,0 +1,31 @@
using System.Security.Cryptography;
using System.Text;
using dy.net.model.entity;
namespace dy.net.storage
{
public static class StorageConfigurationFingerprint
{
public static string Create(WebDavSettings settings)
{
if (settings == null) return string.Empty;
var canonical = string.Join("\n",
(settings.Endpoint ?? string.Empty).Trim().TrimEnd('/'),
StoragePath.NormalizeRemote(settings.BasePath),
(settings.UserName ?? string.Empty).Trim());
return Convert.ToHexString(SHA256.HashData(Encoding.UTF8.GetBytes(canonical))).ToLowerInvariant();
}
public static string Create(OpenListSettings settings)
{
if (settings == null) return string.Empty;
var canonical = string.Join("\n",
OpenListClient.NormalizeBaseUrl(settings.Endpoint),
StoragePath.NormalizeRemote(settings.BasePath),
Path.GetFullPath(settings.LocalStagingPath ?? string.Empty),
StoragePath.NormalizeRemote(settings.SourcePath),
(settings.UserName ?? string.Empty).Trim());
return Convert.ToHexString(SHA256.HashData(Encoding.UTF8.GetBytes(canonical))).ToLowerInvariant();
}
}
}