summary refs log tree commit diff
path: root/util
diff options
context:
space:
mode:
authorKagurazakaNyaa <i@kagurazakanyaa.com>2021-10-24 02:17:07 +0800
committerKagurazakaNyaa <i@kagurazakanyaa.com>2021-10-24 02:17:07 +0800
commit8ded9a20f9f045703671a478b0ceb8a579b0c727 (patch)
tree4d05cb8317089d46d2f69da999da0ce92427c1e8 /util
parentchange docker build (diff)
downloadserver-8ded9a20f9f045703671a478b0ceb8a579b0c727.tar.xz
Proxy support for external network access
Diffstat (limited to 'util')
-rw-r--r--util/src/util/AutoUpdate.ts7
1 files changed, 5 insertions, 2 deletions
diff --git a/util/src/util/AutoUpdate.ts b/util/src/util/AutoUpdate.ts
index cafc7bdb..531bd8b7 100644
--- a/util/src/util/AutoUpdate.ts
+++ b/util/src/util/AutoUpdate.ts
@@ -1,5 +1,6 @@
 import "missing-native-js-functions";
 import fetch from "node-fetch";
+import ProxyAgent from 'proxy-agent';
 import readline from "readline";
 import fs from "fs/promises";
 import path from "path";
@@ -52,7 +53,8 @@ async function download(url: string, dir: string) {
 	try {
 		// TODO: use file stream instead of buffer (to prevent crash because of high memory usage for big files)
 		// TODO check file hash
-		const response = await fetch(url);
+		const agent = new ProxyAgent();
+		const response = await fetch(url, { agent });
 		const buffer = await response.buffer();
 		const tempDir = await fs.mkdtemp("fosscord");
 		fs.writeFile(path.join(tempDir, "Fosscord.zip"), buffer);
@@ -72,7 +74,8 @@ async function getCurrentVersion(dir: string) {
 
 async function getLatestVersion(url: string) {
 	try {
-		const response = await fetch(url);
+		const agent = new ProxyAgent();
+		const response = await fetch(url, { agent });
 		const content = await response.json();
 		return content.version;
 	} catch (error) {