32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
/** @param {import(".").NS } ns */
|
|
import { EXCLUDE_SERVERS } from "./constants.js";
|
|
|
|
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, previousServer = currentServer, connectString = '', scanLevel = 0) {
|
|
let availableServers = ns.scan(currentServer);
|
|
let nextConnectString = connectString + `connect ${currentServer}; `;
|
|
ns.tprint(`${'┃ '.repeat(scanLevel)}┣${currentServer}: ${nextConnectString}`);
|
|
ns.write('scan.txt', `${'┃ '.repeat(scanLevel)}┣━${currentServer}: ${nextConnectString}`+'\n', 'a');
|
|
|
|
for (let i = 0; i < availableServers.length; ++i) {
|
|
let nextServer = availableServers[i];
|
|
|
|
if (nextServer != currentServer && nextServer != previousServer) {
|
|
scanServer(nextServer, currentServer, nextConnectString, scanLevel+1);
|
|
}
|
|
}
|
|
}
|
|
|
|
ns.tprint(`Running scan`);
|
|
ns.write('scan.txt', ``, 'w');
|
|
scanServer('home');
|
|
}
|