From fca062f75a61a11989b0feb3bb34752933f8967b Mon Sep 17 00:00:00 2001 From: liqi Date: Fri, 7 Apr 2023 18:13:37 +0800 Subject: [PATCH] add arm64 download path for core --- v2rayN/v2rayN/Handler/LazyConfig.cs | 8 ++++++++ v2rayN/v2rayN/Handler/UpdateHandle.cs | 7 +++++++ v2rayN/v2rayN/Mode/CoreInfo.cs | 2 ++ 3 files changed, 17 insertions(+) diff --git a/v2rayN/v2rayN/Handler/LazyConfig.cs b/v2rayN/v2rayN/Handler/LazyConfig.cs index 9a2a3ec1..ab9b35c7 100644 --- a/v2rayN/v2rayN/Handler/LazyConfig.cs +++ b/v2rayN/v2rayN/Handler/LazyConfig.cs @@ -202,6 +202,7 @@ namespace v2rayN.Handler coreReleaseApiUrl = Global.NUrl.Replace(Global.githubUrl, Global.githubApiUrl), coreDownloadUrl32 = Global.NUrl + "/download/{0}/v2rayN.zip", coreDownloadUrl64 = Global.NUrl + "/download/{0}/v2rayN.zip", + coreDownloadUrlArm64= Global.NUrl + "/download/{0}/v2rayN.zip" }); coreInfos.Add(new CoreInfo @@ -213,6 +214,7 @@ namespace v2rayN.Handler coreReleaseApiUrl = Global.v2flyCoreUrl.Replace(Global.githubUrl, Global.githubApiUrl), coreDownloadUrl32 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", coreDownloadUrl64 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", + coreDownloadUrlArm64= Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", match = "V2Ray", versionArg = "-version", redirectInfo = true, @@ -227,6 +229,7 @@ namespace v2rayN.Handler coreReleaseApiUrl = Global.SagerNetCoreUrl.Replace(Global.githubUrl, Global.githubApiUrl), coreDownloadUrl32 = Global.SagerNetCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", coreDownloadUrl64 = Global.SagerNetCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", + coreDownloadUrlArm64 = Global.SagerNetCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", match = "V2Ray", versionArg = "version", redirectInfo = true, @@ -241,6 +244,7 @@ namespace v2rayN.Handler coreReleaseApiUrl = Global.v2flyCoreUrl.Replace(Global.githubUrl, Global.githubApiUrl), coreDownloadUrl32 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", coreDownloadUrl64 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", + coreDownloadUrlArm64 = Global.v2flyCoreUrl + "/download/{0}/v2ray-windows-{1}.zip", match = "V2Ray", versionArg = "version", redirectInfo = true, @@ -255,6 +259,7 @@ namespace v2rayN.Handler coreReleaseApiUrl = Global.xrayCoreUrl.Replace(Global.githubUrl, Global.githubApiUrl), coreDownloadUrl32 = Global.xrayCoreUrl + "/download/{0}/Xray-windows-{1}.zip", coreDownloadUrl64 = Global.xrayCoreUrl + "/download/{0}/Xray-windows-{1}.zip", + coreDownloadUrlArm64 = Global.xrayCoreUrl + "/download/{0}/Xray-windows-{1}.zip", match = "Xray", versionArg = "-version", redirectInfo = true, @@ -269,6 +274,7 @@ namespace v2rayN.Handler coreReleaseApiUrl = Global.clashCoreUrl.Replace(Global.githubUrl, Global.githubApiUrl), coreDownloadUrl32 = Global.clashCoreUrl + "/download/{0}/clash-windows-386-{0}.zip", coreDownloadUrl64 = Global.clashCoreUrl + "/download/{0}/clash-windows-amd64-{0}.zip", + coreDownloadUrlArm64 = Global.clashCoreUrl + "/download/{0}/clash-windows-arm64-{0}.zip", match = "v", versionArg = "-v", redirectInfo = true, @@ -283,6 +289,7 @@ namespace v2rayN.Handler coreReleaseApiUrl = Global.clashMetaCoreUrl.Replace(Global.githubUrl, Global.githubApiUrl), coreDownloadUrl32 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-386-{0}.zip", coreDownloadUrl64 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-amd64-compatible-{0}.zip", + coreDownloadUrlArm64 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-arm64-{0}.zip", match = "v", versionArg = "-v", redirectInfo = true, @@ -297,6 +304,7 @@ namespace v2rayN.Handler coreReleaseApiUrl = Global.hysteriaCoreUrl.Replace(Global.githubUrl, Global.githubApiUrl), coreDownloadUrl32 = Global.hysteriaCoreUrl + "/download/{0}/hysteria-windows-386.exe", coreDownloadUrl64 = Global.hysteriaCoreUrl + "/download/{0}/hysteria-windows-amd64.exe", + coreDownloadUrlArm64 = Global.hysteriaCoreUrl + "/download/{0}/hysteria-windows-arm64.exe", redirectInfo = true, }); diff --git a/v2rayN/v2rayN/Handler/UpdateHandle.cs b/v2rayN/v2rayN/Handler/UpdateHandle.cs index ded256c3..07624474 100644 --- a/v2rayN/v2rayN/Handler/UpdateHandle.cs +++ b/v2rayN/v2rayN/Handler/UpdateHandle.cs @@ -2,6 +2,7 @@ using Splat; using System.Diagnostics; using System.IO; +using System.Runtime.InteropServices; using System.Text; using System.Text.RegularExpressions; using System.Windows; @@ -443,6 +444,12 @@ namespace v2rayN.Handler curVersion = "v" + getCoreVersion(type); message = string.Format(ResUI.IsLatestCore, curVersion); string osBit = Environment.Is64BitProcess ? "64" : "32"; + + if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64) + { + osBit = "arm64-v8a"; + } + url = string.Format(coreInfo.coreDownloadUrl64, version, osBit); break; } diff --git a/v2rayN/v2rayN/Mode/CoreInfo.cs b/v2rayN/v2rayN/Mode/CoreInfo.cs index e7bbd95b..6d2cfd07 100644 --- a/v2rayN/v2rayN/Mode/CoreInfo.cs +++ b/v2rayN/v2rayN/Mode/CoreInfo.cs @@ -17,6 +17,8 @@ public string coreDownloadUrl64 { get; set; } + public string coreDownloadUrlArm64 { get; set; } + public string match { get; set; } public string versionArg { get; set; }