Files
BitburnerOLD/connect-server.js
T
2023-09-05 00:58:08 +02:00

65 lines
2.2 KiB
JavaScript

/** @param {import(".").NS } ns */
const doc = eval('document');
export async function main(ns) {
// ns.disableLog('ALL');
/**
* Recursively kill simple-hack.js running on servers in the network
* @async
* @param {string} currentServer server to scan
*/
function scanServer(currentServer, targetServer, previousServer = currentServer) {
// ns.tprint(currentServer);
if (currentServer == targetServer) {
return [currentServer];
} else {
let availableServers = ns.scan(currentServer);
for (let i = 0; i < availableServers.length; ++i) {
let nextServer = availableServers[i];
if (nextServer != currentServer && nextServer != previousServer) {
let result = scanServer(nextServer, targetServer, currentServer);
if (result != null) {
return [currentServer].concat(result);
}
}
}
return null;
}
}
let targetPath = scanServer('home', ns.args[0]);
ns.tprint(targetPath);
const terminalInput = doc.getElementById("terminal-input");
const handler = Object.keys(terminalInput)[1];
let backdoorCommand = '';
for (let index = 1; index < targetPath.length; index++) {
const server = targetPath[index];
backdoorCommand += `connect ${server}; `;
}
// ns.tprint(backdoorCommand);
terminalInput.value = backdoorCommand;
terminalInput[handler].onChange({ target: terminalInput });
terminalInput[handler].onKeyDown({ key: 'Enter', preventDefault: () => null });
// backdoorCommand = 'run BruteSSH.exe; ';
// backdoorCommand += 'run FTPCrack.exe; ';
// backdoorCommand += 'run relaySMTP.exe; ';
// backdoorCommand += 'run HTTPWorm.exe; ';
// backdoorCommand += 'run SQLInject.exe; ';
// backdoorCommand += 'run NUKE.exe; ';
// backdoorCommand += 'backdoor';
// ns.tprint(backdoorCommand);
// terminalInput.value = backdoorCommand;
// terminalInput[handler].onChange({ target: terminalInput });
// terminalInput[handler].onKeyDown({ key: 'Enter', preventDefault: () => null });
}