diff --git a/postinstall.cjs b/postinstall.cjs index c975e17a..d73b9ad0 100644 --- a/postinstall.cjs +++ b/postinstall.cjs @@ -13,26 +13,36 @@ const downloadAria2 = async () => { const file = process.platform === "win32" ? "aria2-1.37.0-win-64bit-build1.zip" - : "aria2-1.37.0-aarch64-linux-android-build1.zip"; + : "aria2-1.37.0-1-x86_64.pkg.tar.zst"; + + const downloadUrl = + process.platform === "win32" + ? `https://github.com/aria2/aria2/releases/download/release-1.37.0/${file}` + : "https://archlinux.org/packages/extra/x86_64/aria2/download/"; console.log(`Downloading ${file}...`); - const response = await axios.get( - `https://github.com/aria2/aria2/releases/download/release-1.37.0/${file}`, - { responseType: "stream" } - ); + const response = await axios.get(downloadUrl, { responseType: "stream" }); const stream = response.data.pipe(fs.createWriteStream(file)); stream.on("finish", async () => { console.log(`Downloaded ${file}, extracting...`); - await exec(`npx extract-zip ${file}`); - console.log("Extracted. Renaming folder..."); + if (process.platform === "win32") { + await exec(`npx extract-zip ${file}`); + console.log("Extracted. Renaming folder..."); - fs.renameSync(file.replace(".zip", ""), "aria2"); + fs.renameSync(file.replace(".zip", ""), "aria2"); + } else { + await exec(`tar --zstd -xvf ${file} usr/bin/aria2c`); + console.log("Extracted. Copying binary file..."); + await exec(`mkdir aria2`); + await exec(`cp ./usr/bin/aria2c ./aria2/aria2c`); + await exec(`rm -r ./usr`); + } - console.log(`Extracted ${file}, removing zip file...`); + console.log(`Extracted ${file}, removing compressed downloaded file...`); fs.rmSync(file); }); };