Files
dms/download.js
T
2026-08-11 10:03:40 +08:00

31 lines
866 B
JavaScript

// Download electron prebuild tarball via node (follows redirects)
const https = require('https');
const fs = require('fs');
const path = require('path');
const url = process.argv[2];
const out = process.argv[3];
function download(u, cb) {
https.get(u, { headers: { 'User-Agent': 'node' } }, (res) => {
if ([301, 302, 303, 307, 308].includes(res.statusCode)) {
return download(res.headers.location, cb);
}
if (res.statusCode !== 200) {
return cb(new Error('HTTP ' + res.statusCode));
}
const ws = fs.createWriteStream(out);
res.pipe(ws);
ws.on('finish', () => ws.close(() => cb(null)));
ws.on('error', cb);
}).on('error', cb);
}
download(url, (err) => {
if (err) {
console.error('download failed:', err.message);
process.exit(1);
}
console.log('downloaded:', out, fs.statSync(out).size, 'bytes');
});