瀏覽代碼

Update CDN Hosts

SukkaW 2 年之前
父節點
當前提交
cc4fd08893
共有 2 個文件被更改,包括 8 次插入7 次删除
  1. 7 7
      Build/build-speedtest-domainset.ts
  2. 1 0
      Source/domainset/cdn.conf

+ 7 - 7
Build/build-speedtest-domainset.ts

@@ -21,6 +21,7 @@ const querySpeedtestApi = async (keyword: string): Promise<Array<string | null>>
     s.acquire()
   ]))[0];
 
+  let timer = null;
   try {
     const randomUserAgent = topUserAgents[Math.floor(Math.random() * topUserAgents.length)];
     const key = `fetch speedtest endpoints: ${keyword}`;
@@ -29,7 +30,7 @@ const querySpeedtestApi = async (keyword: string): Promise<Array<string | null>>
 
     // AbortSignal.timeout() is not supported by bun.
     const controller = new AbortController();
-    const timer = setTimeout(() => controller.abort(), 4000);
+    timer = setTimeout(() => controller.abort(), 4000);
 
     const res = await fetchWithRetry(`https://www.speedtest.net/api/js/servers?engine=js&search=${keyword}&limit=100`, {
       headers: {
@@ -50,24 +51,23 @@ const querySpeedtestApi = async (keyword: string): Promise<Array<string | null>>
       },
       signal: controller.signal
     });
-
-    clearTimeout(timer);
-
     if (!res.ok) {
       throw new Error(`${res.statusText}\n${await res.text()}`);
     }
 
     const json = await res.json<Array<{ url: string }>>();
 
-    s.release();
-
     console.timeEnd(key);
 
     return json.map(({ url }) => tldts.getHostname(url, { detectIp: false }));
   } catch (e) {
-    s.release();
     console.log(e);
     return [];
+  } finally {
+    if (timer) {
+      clearTimeout(timer);
+    }
+    s.release();
   }
 };
 

+ 1 - 0
Source/domainset/cdn.conf

@@ -2296,3 +2296,4 @@ static-effect.reg.ru
 .espncdn.com
 cdn.matterhorn.app
 lumiere-a.akamaihd.net
+static.namebeta.com