Files
QZMusic-Web/qzmusic-web/deploy-plugins.cjs

51 lines
2.1 KiB
JavaScript

const { Client } = require('ssh2');
const conn = new Client();
const HOST = '171.80.3.149';
const PORT = 631;
const USER = 'root';
const PASS = 'aicyRTPZ3868';
const cmds = [
'mkdir -p /opt/QZMusic-Web/dist/plugins',
// download all plugins using curl from Alist server
'curl -sL -o /opt/QZMusic-Web/dist/plugins/zq_kw_v3-fix1.js "http://171.80.3.149:5244/sd/c6VNt7hG/%E9%9F%B3%E6%BA%90/QZ-Music_v2/%E5%AE%98%E6%96%B9/v3/zq_kw_v3-fix1.js?pwd=music"',
'curl -sL -o /opt/QZMusic-Web/dist/plugins/zq_wy_v3.js "http://171.80.3.149:5244/sd/c6VNt7hG/%E9%9F%B3%E6%BA%90/QZ-Music_v2/%E5%AE%98%E6%96%B9/v3/zq_wy_v3.js?pwd=music"',
'curl -sL -o /opt/QZMusic-Web/dist/plugins/zq_tx_v3-fix1.js "http://171.80.3.149:5244/sd/c6VNt7hG/%E9%9F%B3%E6%BA%90/QZ-Music_v2/%E5%AE%98%E6%96%B9/v3/zq_tx_v3-fix1.js?pwd=music"',
'curl -sL -o /opt/QZMusic-Web/dist/plugins/zq_kg.js "http://171.80.3.149:5244/sd/c6VNt7hG/%E9%9F%B3%E6%BA%90/QZ-Music_v2/%E5%AE%98%E6%96%B9/v3/zq_kg.js?pwd=music"',
'curl -sL -o /opt/QZMusic-Web/dist/plugins/zq_mg_v3.js "http://171.80.3.149:5244/sd/c6VNt7hG/%E9%9F%B3%E6%BA%90/QZ-Music_v2/%E5%AE%98%E6%96%B9/v3/zq_mg_v3.js?pwd=music"',
'ls -la /opt/QZMusic-Web/dist/plugins/',
];
conn.on('ready', () => {
console.log('SSH connected');
runNext(0);
});
function runNext(idx) {
if (idx >= cmds.length) {
console.log('All done');
conn.end();
return;
}
const cmd = cmds[idx];
console.log(`[${idx+1}/${cmds.length}] ${cmd}`);
conn.exec(cmd, (err, stream) => {
if (err) { console.error('Error:', err.message); conn.end(); return; }
let out = '', errOut = '';
stream.on('data', d => { out += d.toString(); });
stream.stderr.on('data', d => { errOut += d.toString(); });
stream.on('close', code => {
if (out.trim()) console.log(out.trim());
if (errOut.trim()) console.error(errOut.trim());
if (code !== 0) { console.error('Failed (exit ' + code + '), continuing'); }
runNext(idx + 1);
});
});
}
conn.connect({
host: HOST, port: PORT, username: USER, password: PASS,
readyTimeout: 30000, keepaliveInterval: 10000,
});