浏览代码

chore: Use Latest and compatible core

MystiPanda 1 年之前
父节点
当前提交
bc29c80d44
共有 1 个文件被更改,包括 45 次插入12 次删除
  1. 45 12
      scripts/check.mjs

+ 45 - 12
scripts/check.mjs

@@ -48,7 +48,7 @@ const SIDECAR_HOST = target
       .match(/(?<=host: ).+(?=\s*)/g)[0];
 
 /* ======= clash meta alpha======= */
-const VERSION_URL =
+const META_ALPHA_VERSION_URL =
   "https://github.com/MetaCubeX/mihomo/releases/download/Prerelease-Alpha/version.txt";
 const META_ALPHA_URL_PREFIX = `https://github.com/MetaCubeX/mihomo/releases/download/Prerelease-Alpha`;
 let META_ALPHA_VERSION;
@@ -57,7 +57,7 @@ const META_ALPHA_MAP = {
   "win32-x64": "mihomo-windows-amd64-compatible",
   "win32-ia32": "mihomo-windows-386",
   "win32-arm64": "mihomo-windows-arm64",
-  "darwin-x64": "mihomo-darwin-amd64",
+  "darwin-x64": "mihomo-darwin-amd64-cgo",
   "darwin-arm64": "mihomo-darwin-arm64",
   "linux-x64": "mihomo-linux-amd64-compatible",
   "linux-ia32": "mihomo-linux-386",
@@ -65,8 +65,8 @@ const META_ALPHA_MAP = {
   "linux-arm": "mihomo-linux-armv7",
 };
 
-// Fetch the latest release version from the version.txt file
-async function getLatestVersion() {
+// Fetch the latest alpha release version from the version.txt file
+async function getLatestAlphaVersion() {
   const options = {};
 
   const httpProxy =
@@ -79,25 +79,30 @@ async function getLatestVersion() {
     options.agent = proxyAgent(httpProxy);
   }
   try {
-    const response = await fetch(VERSION_URL, { ...options, method: "GET" });
+    const response = await fetch(META_ALPHA_VERSION_URL, {
+      ...options,
+      method: "GET",
+    });
     let v = await response.text();
     META_ALPHA_VERSION = v.trim(); // Trim to remove extra whitespaces
-    console.log(`Latest release version: ${META_ALPHA_VERSION}`);
+    console.log(`Latest alpha version: ${META_ALPHA_VERSION}`);
   } catch (error) {
-    console.error("Error fetching latest release version:", error.message);
+    console.error("Error fetching latest alpha version:", error.message);
     process.exit(1);
   }
 }
 
 /* ======= clash meta stable ======= */
+const META_VERSION_URL =
+  "https://github.com/MetaCubeX/mihomo/releases/latest/download/version.txt";
 const META_URL_PREFIX = `https://github.com/MetaCubeX/mihomo/releases/download`;
-let META_VERSION = "v1.17.0";
+let META_VERSION;
 
 const META_MAP = {
   "win32-x64": "mihomo-windows-amd64-compatible",
   "win32-ia32": "mihomo-windows-386",
   "win32-arm64": "mihomo-windows-arm64",
-  "darwin-x64": "mihomo-darwin-amd64",
+  "darwin-x64": "mihomo-darwin-amd64-cgo",
   "darwin-arm64": "mihomo-darwin-arm64",
   "linux-x64": "mihomo-linux-amd64-compatible",
   "linux-ia32": "mihomo-linux-386",
@@ -105,6 +110,33 @@ const META_MAP = {
   "linux-arm": "mihomo-linux-armv7",
 };
 
+// Fetch the latest release version from the version.txt file
+async function getLatestReleaseVersion() {
+  const options = {};
+
+  const httpProxy =
+    process.env.HTTP_PROXY ||
+    process.env.http_proxy ||
+    process.env.HTTPS_PROXY ||
+    process.env.https_proxy;
+
+  if (httpProxy) {
+    options.agent = proxyAgent(httpProxy);
+  }
+  try {
+    const response = await fetch(META_VERSION_URL, {
+      ...options,
+      method: "GET",
+    });
+    let v = await response.text();
+    META_VERSION = v.trim(); // Trim to remove extra whitespaces
+    console.log(`Latest release version: ${META_VERSION}`);
+  } catch (error) {
+    console.error("Error fetching latest release version:", error.message);
+    process.exit(1);
+  }
+}
+
 /*
  * check available
  */
@@ -327,15 +359,16 @@ const tasks = [
   // { name: "clash", func: resolveClash, retry: 5 },
   {
     name: "clash-meta-alpha",
-    func: () => getLatestVersion().then(() => resolveSidecar(clashMetaAlpha())),
+    func: () =>
+      getLatestAlphaVersion().then(() => resolveSidecar(clashMetaAlpha())),
     retry: 5,
   },
   {
     name: "clash-meta",
-    func: () => resolveSidecar(clashMeta()),
+    func: () =>
+      getLatestReleaseVersion().then(() => resolveSidecar(clashMeta())),
     retry: 5,
   },
-  // { name: "wintun", func: resolveWintun, retry: 5, winOnly: true },
   { name: "service", func: resolveService, retry: 5, winOnly: true },
   { name: "install", func: resolveInstall, retry: 5, winOnly: true },
   { name: "uninstall", func: resolveUninstall, retry: 5, winOnly: true },