From d83b404fc3d91f1eb85e1b8a780ddcdb8eefefef Mon Sep 17 00:00:00 2001 From: GyDi <segydi@foxmail.com> Date: Sun, 17 Apr 2022 00:37:21 +0800 Subject: [PATCH] chore: check script proxy agent supports --- package.json | 1 + scripts/check.mjs | 14 ++++++++++++++ yarn.lock | 17 ++++++++++++++++- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 2e28958..c6bf2fc 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "@vitejs/plugin-react": "^1.2.0", "adm-zip": "^0.5.9", "fs-extra": "^10.0.0", + "https-proxy-agent": "^5.0.1", "husky": "^7.0.0", "node-fetch": "^3.2.0", "pretty-quick": "^3.1.3", diff --git a/scripts/check.mjs b/scripts/check.mjs index 6015b7c..ec26cba 100644 --- a/scripts/check.mjs +++ b/scripts/check.mjs @@ -3,6 +3,7 @@ import zlib from "zlib"; import path from "path"; import AdmZip from "adm-zip"; import fetch from "node-fetch"; +import proxyAgent from "https-proxy-agent"; import { execSync } from "child_process"; const cwd = process.cwd(); @@ -153,7 +154,20 @@ async function resolveMmdb() { async function downloadFile(url, path) { console.log(`[INFO]: downloading from "${url}"`); + 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); + } + const response = await fetch(url, { + ...options, method: "GET", headers: { "Content-Type": "application/octet-stream" }, }); diff --git a/yarn.lock b/yarn.lock index 884a31e..0e4b808 100644 --- a/yarn.lock +++ b/yarn.lock @@ -828,6 +828,13 @@ adm-zip@^0.5.9: resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.9.tgz#b33691028333821c0cf95c31374c5462f2905a83" integrity sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg== +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + ahooks-v3-count@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ahooks-v3-count/-/ahooks-v3-count-1.0.0.tgz#ddeb392e009ad6e748905b3cbf63a9fd8262ca80" @@ -1075,7 +1082,7 @@ dayjs@^1.11.0, dayjs@^1.9.1: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.0.tgz#009bf7ef2e2ea2d5db2e6583d2d39a4b5061e805" integrity sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug== -debug@^4.1.0: +debug@4, debug@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -1416,6 +1423,14 @@ html-parse-stringify@^3.0.1: dependencies: void-elements "3.1.0" +https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" -- GitLab