51 lines
2.1 KiB
JavaScript
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,
|
|
});
|