HLC2L3NJJSZLGSQ7JN6CTRE4YALVPLQSADZP3MDNLGB7BWPPH22QC 7SRULDRFXA6ZZUEXRPCDO7NIUJDREKYI3ESUYTOXMSPVMORDJXIQC 2BKHJI2SJ3VXTFBK2BWNN3I3BDNMUU5YTJGKTQCOXV66VVRHCGKAC RWMZ7DVLOVPLR4FCIAVSABA5OESYUIEQ2OOZUYNPCNFEBYK5627AC SLSWBNYTIFKBFLKXZTMONGDMEOHSOOCOSU4KVJCONZG2DK3BBIUQC 3NFCZ6IPQPUCWANJN5WMUHUCHEQN7U5HZXMHDKVC6V6HXA3FG5YQC CJBGAILAK7G3WXYUBNUZMUMM3U5CPHWVK6ZAJWYBL4IOB5SZN32AC YXH7ERRNAV2FHHAFREYBN7VJZZMGH3UJOXGM4IKS2USVKI543TFQC NQ22FUSWN6CBJKJ5H7UV5N2KEXBIXVNQDNL2EK6UJ3E7RFLWNVDQC 6MBUKAG6VK6XXGRSER273IP2R35P3C5K3KOY4QVSZXEOYD3H4WRAC // returns the index of the scripts array which matches the filename inputconst integer_get_index_of_file = function(array_scripts, string_file) {for (let integer_indices_0 = 0; integer_indices_0 < array_scripts.length; ++integer_indices_0) {const object_script = array_scripts[integer_indices_0];const string_script_file = object_script.file;if (string_script_file === string_file) {return integer_indices_0;
// optionsconst object_arguments = object_parse(ns.args);for (const string_argument in object_arguments) {if (object_arguments.hasOwnProperty(string_argument)) {const argument_value = object_arguments[string_argument];switch (string_argument) {// optionscase "c":// fall-throughcase "check-delay":float_period_check_seconds = argument_value;break;case "d":// fall-throughcase "job-delay":float_padding_seconds = argument_value;break;case "i":// fall-throughcase "target":string_server_target = argument_value;break;case "j":// fall-throughcase "job-cap":integer_job_cap = argument_value;break;case "n":// fall-throughcase "server-name":string_servers_bought_name = argument_value;break;case "p":// fall-throughcase "precision":float_precision = argument_value;break;case "r":// fall-throughcase "ram-utilisation":float_ram_utilisation_threshold = argument_value;break;case "s":// fall-throughcase "steal-cap":float_steal_cap = argument_value;break;
};let array_arguments = Array.from(ns.args);let boolean_end_loop_arguments = false;while (!boolean_end_loop_arguments) {if (array_arguments.length === 0) {boolean_end_loop_arguments = true;break;
}let array_helpers = [{file: string_helper_file_ram,threads: 1,args: [float_period_check_seconds, float_ram_utilisation_threshold]},{file: string_helper_file_servers,threads: 1,args: [float_period_check_seconds, string_servers_bought_name, float_ram_utilisation_threshold]},{file: string_helper_file_tor,threads: 1,args: [float_period_check_seconds]},{file: string_helper_file_programs,threads: 1,args: [float_period_check_seconds, ["BruteSSH.exe", "FTPCrack.exe", "relaySMTP.exe", "HTTPWorm.exe", "SQLInject.exe", "DeepscanV1.exe", "DeepscanV2.exe", "Autolink.exe"]]},{file: string_helper_file_botnet,threads: 1,args: [float_period_check_seconds]
const string_argument = array_arguments[0];const string_argument_value = array_arguments[1];switch (string_argument) {// flagscase "-a":// fall-throughcase "--no-ram":array_arguments.splice(0, 1);array_helpers.splice(integer_get_index_of_file(array_helpers, string_helper_file_ram), 1);break;
];
case "-e":// fall-throughcase "--no-servers":array_arguments.splice(0, 1);
// flagsfor (const string_argument in object_arguments) {if (object_arguments.hasOwnProperty(string_argument)) {const argument_value = object_arguments[string_argument];if ((string_argument === "a" && argument_value) ||(string_argument === "ram" && !argument_value)) {array_helpers.splice(integer_get_index_of_file(array_helpers, string_helper_file_ram), 1);}if ((string_argument === "e" && argument_value) ||(string_argument === "servers" && !argument_value)) {
break;case "-b":// fall-throughcase "--no-botnet":array_arguments.splice(0, 1);
}if ((string_argument === "o" && argument_value) ||(string_argument === "tor" && !argument_value)) {array_helpers.splice(integer_get_index_of_file(array_helpers, string_helper_file_tor), 1);}if ((string_argument === "g" && argument_value) ||(string_argument === "programs" && !argument_value)) {array_helpers.splice(integer_get_index_of_file(array_helpers, string_helper_file_programs), 1);}if ((string_argument === "b" && argument_value) ||(string_argument === "botnet" && !argument_value)) {
break;// optionscase "-c":// fall-throughcase "--check-delay":float_period_check_seconds = string_argument_value;array_arguments.splice(0, 2);break;case "-d":// fall-throughcase "--job-delay":float_padding_seconds = string_argument_value;array_arguments.splice(0, 2);break;case "-i":// fall-throughcase "--target":string_server_target = string_argument_value;array_arguments.splice(0, 2);break;case "-j":// fall-throughcase "--job-cap":integer_job_cap = string_argument_value;array_arguments.splice(0, 2);break;case "-n":// fall-throughcase "--server-name":string_servers_bought_name = string_argument_value;array_arguments.splice(0, 2);break;case "-p":// fall-throughcase "--precision":float_precision = string_argument_value;array_arguments.splice(0, 2);break;case "-r":// fall-throughcase "--ram-utilisation":float_ram_utilisation_threshold = string_argument_value;array_arguments.splice(0, 2);break;case "-s":// fall-throughcase "--steal-cap":float_steal_cap = string_argument_value;array_arguments.splice(0, 2);break;default:throw new Error(`Unknown argument: ${string_argument}.`);
}
// returns the index of the scripts array which matches the filename inputconst integer_get_index_of_file = function(array_scripts, string_file) {for (let integer_indices_0 = 0; integer_indices_0 < array_scripts.length; ++integer_indices_0) {const object_script = array_scripts[integer_indices_0];const string_script_file = object_script.file;if (string_script_file === string_file) {return integer_indices_0;}}};
### "main.js" (8.85 [+6.6] [+8.85] [+2.2] GB)* Run the helper scripts "ram.js", "servers.js" and "botnet.js" that should, respectively:* Upgrade your home server's RAM (you need to uncomment some code and have SF-4).* Buy and replace old servers whenever appropriate.* Try to exploit and root servers if possible.
### "main.js" (8.85 GB)* Run the helper scripts "ram.js"\* (6.6 GB), "servers.js" (8.85 GB), "tor.js"\* (3.8 GB), "programs.js"\* (3.7 GB) and "botnet.js" (2.2 GB) that should attempt to, respectively:* Upgrade your home server's RAM.* Buy and replace old servers when appropriate.* Buy a TOR Router.* Buy programs from the dark web.* Exploit and root servers.
* Runs the script with up to 4000 jobs, targetting "harakiri-sushi", only upgrading/replacing servers when at least 0.7 of your network's total RAM is being used, and stealing only up to 50% of harakiri-sushi's cash per "hack.js" job that finishes executing, whilst the remaining variables are set to defaults. The "ram.js" and "botnet.js" helper scripts are also prevented from starting.
* Runs the script with up to 4000 jobs, targetting "harakiri-sushi", only upgrading/replacing servers when at least 0.7 of your network's total RAM is being used, and stealing only up to 50% of harakiri-sushi's cash per "hack.js" job that finishes executing, whilst the remaining variables are set to defaults. The "ram.js", "tor.js" and "botnet.js" helper scripts are also prevented from starting.