diff --git a/SPTInstaller/Models/Mirrors/Downloaders/HttpMirrorDownloader.cs b/SPTInstaller/Models/Mirrors/Downloaders/HttpMirrorDownloader.cs index 5a7ca2d..584fe1b 100644 --- a/SPTInstaller/Models/Mirrors/Downloaders/HttpMirrorDownloader.cs +++ b/SPTInstaller/Models/Mirrors/Downloaders/HttpMirrorDownloader.cs @@ -10,6 +10,11 @@ public class HttpMirrorDownloader : MirrorDownloaderBase public override async Task Download(IProgress progress) { - return await DownloadCacheHelper.DownloadFileAsync("patcher.zip", MirrorInfo.Link, progress); + var file = await DownloadCacheHelper.DownloadFileAsync("patcher.zip", MirrorInfo.Link, progress); + + if (file == null) + return null; + + return FileHashHelper.CheckHash(file, MirrorInfo.Hash) ? file : null; } } diff --git a/SPTInstaller/Models/Mirrors/Downloaders/MegaMirrorDownloader.cs b/SPTInstaller/Models/Mirrors/Downloaders/MegaMirrorDownloader.cs index e4d08c1..fb79e35 100644 --- a/SPTInstaller/Models/Mirrors/Downloaders/MegaMirrorDownloader.cs +++ b/SPTInstaller/Models/Mirrors/Downloaders/MegaMirrorDownloader.cs @@ -22,7 +22,12 @@ public class MegaMirrorDownloader : MirrorDownloaderBase { using var megaDownloadStream = await megaClient.DownloadAsync(new Uri(MirrorInfo.Link), progress); - return await DownloadCacheHelper.DownloadFileAsync("patcher.zip", megaDownloadStream); + var file = await DownloadCacheHelper.DownloadFileAsync("patcher.zip", megaDownloadStream); + + if (file == null) + return null; + + return FileHashHelper.CheckHash(file, MirrorInfo.Hash) ? file : null; } catch {