Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 0===================================/infect.js===================================0
- /** @param {NS} ns */
- export async function main(ns) {
- var hackscript = "autostart.js";
- var txt_neighbors = "neighbors.txt";
- var txt_hackers = "hackerservers.txt";
- var txt_myservers = "myservers.txt";
- var neighbors = JSON.parse(ns.read(txt_neighbors));
- var hackerservers = JSON.parse(ns.read(txt_hackers));
- var myservers = JSON.parse(ns.read(txt_myservers));
- var nohack = hackerservers.concat(myservers);
- var retrieve_files = "files.js";
- var update_script = "scp.js";
- ns.exec(retrieve_files, "home");
- ns.exec(update_script, "home", 1);
- ns.exec(open_ports, "home", 1);
- for (let i = 0; i < neighbors.length; i++) {
- var node = neighbors[i];
- var sur = ns.getServerUsedRam(node).toPrecision(4);
- var smr = ns.getServerMaxRam(node).toPrecision(4);
- var sra = smr - sur; // server ram availabe
- ns.killall(node);
- await ns.sleep(200);
- var sr2r = ns.getScriptRam(hackscript, node);
- if (sr2r < 1) { var sr2r = 1; }
- var rwt = ((sra - sr2r) / sr2r).toFixed(0);
- if (rwt < 1) { var rwt = 1 };
- if (!nohack.includes(node)) {
- ns.exec(hackscript, node, rwt);
- }
- }
- }
- 0===================================infect.js/===================================0
- 0===================================/files.js===================================0
- /** @param {NS} ns */
- export async function main(ns) {
- var txt_neighbors = "neighbors.txt";
- var txt_hackers = "hackerservers.txt";
- var txt_myservers = "myservers.txt";
- var neighbors = JSON.parse(ns.read(txt_neighbors));
- var hackerservers = JSON.parse(ns.read(txt_hackers));
- var myservers = JSON.parse(ns.read(txt_myservers));
- var nohack = hackerservers.concat(myservers);
- var filetypes = ["lit", "txt", "msg", "cct"];
- var files = [];
- var contracts = [];
- for (let i = 0; i < filetypes.length; i++) {
- var ext = filetypes[i];
- for (let h = 0; h < neighbors.length; h++) {
- var node = neighbors[h];
- let matches = ns.ls(node, ext);
- if (matches.length > 0) {
- for (let g = 0; g < matches.length; g++) {
- let match = matches[g];
- if (match.includes(".cct") && !contracts.includes(match)) {
- contracts.push(match);
- //ns.tprint(match)
- } else if (!files.includes(match)) {
- //ns.tprint(match, " ", node)
- files.push(match);
- //ns.tprint(files.length)
- ns.scp(match, "home");
- //ns.tprint(node, "\n", "\t", match)
- }
- }
- }
- for (let i = 0; i < files.length; i++) {
- let file = files[i];
- ns.scp(file, "home", node)
- }
- }
- //ns.tprint(files.length);
- }
- }
- 0===================================/files.js===================================0
- 1===================================/openports.js===================================1
- /** @param {NS} ns */
- export async function main(ns) {
- var hacktools = ["BruteSSH.exe", "FTPCrack.exe", "relaySMTP.exe", "HTTPWorm.exe", "SQLInject.exe"];
- var neighbors = JSON.parse(ns.read("neighbors.txt"));
- var hackerservers = JSON.parse(ns.read("hackerservers.txt"));
- var myservers = JSON.parse(ns.read("myservers.txt"));
- var nohack = hackerservers.concat(myservers);
- for (let i = 0; i < neighbors.length; i++) {
- let node = neighbors[i];
- // if (!hackerservers.includes(node)) {
- var count = 0;
- if (ns.fileExists("BruteSSH.exe", "home")) { ns.brutessh(node); count++; };
- if (ns.fileExists("FTPCrack.exe", "home")) { ns.ftpcrack(node); count++; };
- if (ns.fileExists("relaySMTP.exe", "home")) { ns.relaysmtp(node); count++; };
- if (ns.fileExists("HTTPWorm.exe", "home")) { ns.httpworm(node); count++; };
- if (ns.fileExists("SQLInject.exe", "home")) { ns.sqlinject(node); count++; };
- if (ns.getServerNumPortsRequired(node) > count) {
- console.log("Need more hacker tools for " + node)
- } else { ns.nuke(node) }
- }
- }
- 1===================================openports.js/===================================1
- 2===================================/scp.js===================================2
- /** @param {NS} ns */
- export async function main(ns) {
- var txt_neighbors = "neighbors.txt";
- var txt_hackers = "hackerservers.txt";
- var txt_myservers = "myservers.txt";
- var scripts_to_copy = ["hack.js","autostart.js","weaken.js", "grow.js"];
- var scripts_to_del = ["alwaysweaken.js"]
- var neighbors = JSON.parse(ns.read(txt_neighbors));
- var hackerservers = JSON.parse(ns.read(txt_hackers));
- var myservers = JSON.parse(ns.read(txt_myservers));
- var nohack = hackerservers.concat(myservers);
- function copy_files(node) {
- for (let fCount = 0; fCount < scripts_to_copy.length; fCount++) {
- let script = scripts_to_copy[fCount];
- ns.scp(script, node, "home");
- if (!ns.fileExists(script, node)) {
- ns.tprint(script, " failed to copy on ", node);
- };
- };
- for (let i = 0; i < scripts_to_del.length; i ++){
- let script = scripts_to_del[i];
- if (ns.fileExists(script,node)){ ns.rm(script,node);}
- }
- };
- for (let iCount = 0; iCount < neighbors.length; iCount++) {
- let node = neighbors[iCount];
- if (!nohack.includes(node)) {
- copy_files(node);
- // delete_files(node);
- };
- };
- }
- 2===================================scp.js/===================================2
- 3===================================/autostart.js===================================3
- /** @param {NS} ns */
- export async function main(ns) {
- while (true) {
- var node = ns.getHostname();
- var hackscript = ns.getScriptName();
- var logfile = node + ".txt";
- var sur = ns.getServerUsedRam(node).toPrecision(4);
- var smr = ns.getServerMaxRam(node).toPrecision(4);
- var ssl = ns.getServerSecurityLevel(node).toPrecision(4);
- var sms = ns.getServerMinSecurityLevel(node).toPrecision(4);
- var smm = ns.getServerMaxMoney(node);
- var sma = ns.getServerMoneyAvailable(node);
- var sra = smr - sur; // server ram availabe
- var security_status = ssl - sms;
- var money_status = smm - sma;
- var sr2r = ns.getScriptRam(hackscript, node);
- if (sr2r < 1) { var sr2r = 1; }
- var rwt = ((sra - sr2r) / sr2r).toFixed(0);
- if (rwt < 1) { var rwt = 1 };
- if (security_status != 0) {
- ns.write(logfile, ("+=====================/Weaken==================+\n"), "a");
- ns.write(logfile, ("Security Status: " + ssl.toLocaleString() + "-" + sms.toLocaleString() + " = " + (ssl - sms).toLocaleString() + " != " + 0 + "\n"), "a");
- ns.write(logfile, "C " + "Start weaken: " + (await ns.weaken(node)) + "\n", "a");
- var ssl = ns.getServerSecurityLevel(node).toPrecision(4);
- ns.write(logfile, "W " + "New security level: " + ssl + "\n", "a");
- //ns.write(logfile, "C " + "Call " + autostart + ": " + (ns.exec(autostart, node)) + "\n", "a");
- ns.write(logfile, ("+======================Weaken/===================+" + "\n"), "a");
- } else if (money_status != 0) {
- ns.write(logfile, ("+=====================/Grow==================+\n"), "a");
- ns.write(logfile, ("Money Status: " + smm.toLocaleString() + " - " + sma.toLocaleString() + " = " + (smm - sma).toLocaleString() + " != " + 0 + "\n"), "a")
- ns.write(logfile, "C " + "Start grow: " + (await ns.grow(node)) + "\n", "a");
- var sma = ns.getServerMoneyAvailable(node);
- ns.write(logfile, "G " + "Money now available: " + sma.toLocaleString() + "\n", "a");
- //ns.write(logfile, "C " + "Call " + autostart + ": " + (ns.exec(autostart, node)) + "\n", "a");
- ns.write(logfile, ("+======================Grow/===================+" + "\n"), "a");
- } else {
- ns.write(logfile, ("+=====================/Hack==================+\n"), "a");
- var ght = ns.getHackTime(node).toPrecision(4);
- ns.write(logfile, "C " + "Start hack: " + (await ns.hack(node)) + "\n", "a");
- ns.write(logfile, "H " + "Hacktime = " + ght.toLocaleString() + "\n", "a");
- //ns.write(logfile, "C " + "Call " + autostart + ": " + (ns.exec(autostart, node)) + "\n", "a");
- ns.write(logfile, ("+======================Hack/===================+" + "\n"), "a");
- }
- //ns.exec(hackscript, node, rwt);
- }
- }
- 3===================================autostart.js/===================================3
- 4===================================/hacknet.js===================================4
- /** @param {NS} ns */
- export async function main(ns) {
- function primary() {
- const desiredNodes = 9;
- const desiredLevel = 200;
- const desiredRAM = 64;
- const desiredCore = 16;
- buyNodes(desiredNodes);
- upgradeNodeLevel(desiredLevel);
- upgradeNodeRAM(desiredRAM);
- upgradeCores(desiredCore);
- }
- function buyNodes(numNodes) {
- const ownedNodes = ns.hacknet.numNodes();
- for (let i = 0; i < numNodes; i++) {
- while ((ns.getServerMoneyAvailable("home") >= ns.hacknet.getPurchaseNodeCost()) && (ns.hacknet.numNodes() < numNodes)) {
- ns.hacknet.purchaseNode();
- ns.tprint("Purchased newnode")
- }
- }
- }
- function upgradeNodeLevel(targetLevel) {
- const ownedNodes = ns.hacknet.numNodes();
- for (let i = 0; i < ownedNodes; i++) {
- //let nodename = ns.hacknet.getNodeStats(i).name ;
- //let nodelevel = ns.hacknet.getNodeStats(i).level ;
- //let mymoney = ns.getServerMoneyAvailable("home") ;
- //let upgrade = ns.hacknet.getLevelUpgradeCost(i, 1) ;
- while (ns.hacknet.getNodeStats(i).level < targetLevel && ns.getServerMoneyAvailable("home") >= ns.hacknet.getLevelUpgradeCost(i, 1)) {
- ns.hacknet.upgradeLevel(i, 1);
- }
- }
- }
- function upgradeNodeRAM(targetRAM) {
- const ownedNodes = ns.hacknet.numNodes();
- for (let i = 0; i < ownedNodes; i++) {
- while (ns.hacknet.getNodeStats(i).ram < targetRAM && ns.getServerMoneyAvailable("home") >= ns.hacknet.getRamUpgradeCost(i, 1)) {
- ns.hacknet.upgradeRam(i, 1);
- ns.tprint("Upgraded RAM on " + ns.hacknet.getNodeStats(i).name + " to " + ns.hacknet.getNodeStats(i).ram);
- }
- }
- }
- function upgradeCores(targetCores) {
- const ownedNodes = ns.hacknet.numNodes();
- for (let i = 0; i < ownedNodes; i++) {
- while (ns.hacknet.getNodeStats(i).cores < targetCores && ns.getServerMoneyAvailable("home") >= ns.hacknet.getCoreUpgradeCost(i, 1)) {
- ns.hacknet.upgradeCore(i, 1);
- ns.tprint("Upgraded Cores on " + ns.hacknet.getNodeStats(i).name + " to " + ns.hacknet.getNodeStats(i).cores)
- }
- }
- }
- const numberWithCommas = (number) => {
- return number.toLocaleString();
- };
- while (true) {
- primary();
- let minutes = 5;
- let seconds = minutes * 60;
- let miliseconds = seconds * 1000;
- ns.tprint(numberWithCommas(ns.hacknet.getNodeStats(1).totalProduction));
- await ns.sleep(miliseconds);
- }
- ns.exit();
- }
- 4===================================/hacknet.js===================================4
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement