diff --git a/README.md b/README.md index a6555d1..4ddfdeb 100644 --- a/README.md +++ b/README.md @@ -1,504 +1,505 @@ - -
-
- - - Logo - - - ### Bitburner - - - Collection of Bitburner scipts - - - [![Pull Requests](https://img.shields.io/badge/dynamic/json.svg?label=Pull%20Requests&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/Bitburner&query=open_pr_counter)](https://git.zakscode.com/ztimson/Bitburner/pulls) - [![Issues](https://img.shields.io/badge/dynamic/json.svg?label=Issues&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/Bitburner&query=open_issues_count)](https://git.zakscode.com/ztimson/Bitburner/issues) - - - --- -
- Documentation - • Report a Bug - • Request a Feature -
- - --- - -
- -## Table of Contents -- [Bitburner](#top) - - [About](#about) - - [Built With](#built-with) - - [Quick Start](#qiuck-start) - - [Scripts](#scripts) - - [banner.js](#banner) - - [botnet-manager.js (WIP)](#botnet) - - [connect.js](#connect) - - [copy.js](#copy) - - [crawler.js](#crawler) - - [find-target.js](#find-target) - - [hacknet-manager.js](#hacknet) - - [miner.js](#miner) - - [network-graph.js](#network-graph) - - [rm.js](#rm) - - [rootkit.js](#rootkit) - - [server-manager.js](#server-manager) - - [update.js](#update) - - [License](#license) - -## About -A collection of scripts & information pertaining to the [open source](https://github.com/danielyxie/bitburner) game [Bitburner](https://danielyxie.github.io/bitburner/) - -### Built with -[![JavaScript](https://img.shields.io/badge/JavaScript-000000?style=for-the-badge&logo=javascript)](https://javascript.com/) - -## Quick Start - -```bash -# Download the update script in-game & run it -wget https://gitlab.zakscode.com/ztimson/Bitburner/-/raw/develop/scripts/update.js scripts/update.js -run scripts/update.js # Repeat to pull the latest - -# View the network -run scripts/network-graph.js --verbose -run scripts/netowkr-graph.js -v --filter CSEC # Find path to a specific device - -# Start the node manager in auto-mode -run scripts/node-manager.js -a - -# Chain the crawler & rootkit to root all devices on the network -run scripts/crawler.js --not-rooted /scripts/rootkit.js {{TARGET}} - -# Find the most profitable server & use the crawler to deploy miners on the network targeting it -run scripts/find-target.js # Output: n00dles -run scriipts/crawler.js --rooted --remote-exec /scripts/miner.js n00dles - -# Install backdoor on CSEC -run scripts/rootkit.js CSEC -run scripts/connect.js CSEC -backdoor -``` - -## Scripts - -
- - - -
- -**RAM:** 1.60 GB | [Code](./src/banner.js) - -Aesthetic & serves no real purpose. Prints a banner to the terminal & can repeat after game restarts. -``` -[home ~/]> run scripts/banner.js --help -Running script with 1 thread(s), pid 1 and args: ["--help"]. -/scripts/banner.js: - -Display an ASCII banner. - -Usage: run banner.js [OPTIONS] - run banner.js --help - -Options: - -r, --reboot Automatically display after game reboots - -h, --help Display this help message -``` -
- -
- -

botnet-manager.js (WIP)

-
-
- -**RAM:** 7.15 GB | [Code](./scripts/botnet-manager.js) - -Late-game solution to hack servers. It orchestrates an unlimited number of servers to carry out distributed batched -attacks against targets. It includes a bunch of utilities to quickly dispatch single commands to all workers. Manger -can be tailed for live updates. -``` -[home ~/]> run /scripts/botnet-manager.js --help -Running script with 1 thread(s), pid 1 and args: ["--help"]. -/scripts/botnet-manager.js: - -Connect & manage a network of devices to launch distributed attacks. - -Usage: run botnet-manager.js [OPTIONS] - run botnet-manager.js [OPTIONS] COMMAND - run botnet-manager.js --help [COMMAND] - -Options: - -s, --silent Suppress program output - -h, --help Display this help message - -Commands: - copy Copy file & dependencies to swarm nodes - join Connect device as a worker node to the swarm - kill Kill any scripts running on worker nodes - leave Disconnect worker node from swarm - run Copy & run script on all worker nodes - start Start this device as the swarm manager -``` -
- -
- -

connect.js

-
-
- -**RAM:** 1.85 GB | [Code](./scripts/connect.js) - -The built in `connect` command only allows you to connect to devices in the immediate vicinity or servers that have -backdoors installed requiring you to make several jumps. This script will automatically find a path & connect you saving -you some time. -``` -[home ~/]> run /scripts/connect.js --help -Running script with 1 thread(s), pid 1 and args: ["--help"]. -/scripts/connect.js: - -Connect to a server anywhere in the network without a backdoor. - -Usage: run connect.js [OPTIONS] SERVER - run connect.js --help - - SERVER Server to connect to - -Options: - -h, --help Display this help message -``` -
- -
- -

copy.js

-
-
- -**RAM:** 4.20 GB | [Code](./scripts/copy.js) - -Scripts often import other scripts requiring multiple `scp` calls before it can be run on a remote machine. This script -will automatically scan the file being copied for imports & recursively scan & copy the dependencies. Plus it has a -fancy animated loading bar. -``` -[home ~/]> run scripts/copy.js --help -Running script with 1 thread(s), pid 1 and args: ["--help"]. -/scripts/copy.js: - -Copy a file & it's dependencies to a server. - -Usage: run copy.js [OPTIONS] FILE SERVER [ARGS]... - run copy.js --help - - FILE File to copy - SERVER Server to copy file(s) to - ARGS Arguments to start file/script with - -Options: - -c, --cpu Number of CPU threads to start script with, will use maximum if not specified - -e, --execute Start script after copying - -n, --no-deps Skip copying dependencies - -q, --quite Suppress program output - -h, --help Display this help message -``` -
- -
- -

crawler.js

-
-
- -**RAM:** 5.80 GB | [Code](./scripts/crawler.js) - -Mid-game solution to distribute & run scripts across the network. -``` -[home ~/]> run scripts/crawler.js --help -Running script with 1 thread(s), pid 1 and args: ["--help"]. -/scripts/crawler.js: - -Search the network for servers to execute a script against. - -Usage: run crawler.js [OPTIONS] SCRIPT [ARGS]... - run crawler.js --help - - SCRIPT Script to copy & execute - ARGS Arguments for script. Forward the discovered server with: {{SERVER}} - -Options: - -c, --cpu Number of CPU threads to start script with, will use maximum if not specified - -d, --depth Depth to scan to, defaults to 3 - -k, --kill Kill all running scripts on the server - --level Skip servers with higher hack level, defaults to current hack level - -e, --remote-exec Execute script on remote server - -r, --rooted Only servers that have been rooted - -n, --not-rooted Only servers that have not been rooted - -p, --ports Skip servers with too many closed ports - -q, --quite Suppress program output - -v, --verbose Display the server names in the final report - -h, --help Display this help message -``` -
- -
- -

find-target.js

-
-
- -**RAM:** 4.05 GB | [Code](./scripts/find-target.js) - -A utility to help figure out which server is worth hacking the most. It does this by estimating the financial yield per -minute for each server & returns the servers in a sorted list. -``` -[home ~/]> run scripts/find-target.js --help -Running script with 1 thread(s), pid 1 and args: ["--help"]. -/scripts/find-target.js: - -Scan the network for the best servers(s) to hack. - -Usage: run find-target.js [OPTIONS] - run find-target.js --help - -Options: - -c, --count Number of servers to return - -r, --rooted Only servers that have been rooted - -n, --not-rooted Only servers that have not been rooted - -v, --verbose Display the estimated income per minute per core - -h, --help Display this help message -``` -
- -
- -

hacknet-manager.js

-
-
- -**RAM:** 5.70 GB | [Code](./scripts/hacknet-manager.js) - -An early game solution to automate the hacknet & get easy money. -``` -[home ~/]> run scripts/hacknet-manager.js --help -Running script with 1 thread(s), pid 1 and args: ["--help"]. -/scripts/hacknet-manager.js: - -Buy, upgrade & manage Hacknet nodes automatically. Tail for live updates. - -Usage: run hacknet-manager.js [OPTIONS] [LIMIT] - run hacknet-manager.js --help - - LIMIT Limit the number of nodes the manager will buy, defaults to 8 or the current number of nodes - -Options: - -a, --auto-limit Automatically increase the node limit when there is nothing to do - -b, --balance Prevent spending bellow point - -s, --sleep Amount of time to wait between purchases, defaults to 1 (second) - -h, --help Display this help message -``` -
- -
- -

miner.js

-
-
- -**RAM:** 2.45 GB | [Code](./scripts/miner.js) - -An early-game HGW script to steal money from servers. You can deploy this on each server and have them hack themselves, -or they can all target the server with the most money which is more efficient (see [find-target.js](#find-target)). -``` -[home ~/]> run scripts/miner.js --help -Running script with 1 thread(s), pid 1 and args: ["--help"]. -/scripts/miner.js: - -Buy, upgrade & manage Hacknet nodes automatically. Tail for live updates. - -Usage: run hacknet-manager.js [OPTIONS] [LIMIT] - run hacknet-manager.js --help - - LIMIT Limit the number of nodes the manager will buy, defaults to 8 or the current number of nodes - -Options: - -a, --auto-limit Automatically increase the node limit when there is nothing to do - -b, --balance Prevent spending bellow point - -s, --sleep Amount of time to wait between purchases, defaults to 1 (second) - -h, --help Display this help message -``` -
- -
- -

network-graph.js

-
-
- -**RAM:** 3.85 GB | [Code](./scripts/network-graph.js) - -A utility to scan the network & build a visual tree of all the devices. It comes with lots of flags to narrow down the -results. It's useful for figuring out where you are, manually finding targets & discovering the path to a server & -connecting to it. -``` -[home ~/]> run /scripts/network-graph.js --help -Running script with 1 thread(s), pid 1 and args: ["--help"]. -/scripts/network-graph.js: - -Scan the network for servers and display as an ASCII tree. Servers with root access are highlighted & bold. Click to -automatically connect. - -Usage: run network-graph.js [OPTIONS] [SERVER] - run network-graph.js --help - - SERVER Point to start scan from, defaults to local server - -Options: - -d, --depth Depth to scan to - -f, --filter Filter to servers matching name - -e, --regex Filter to servers matching pattern - -l, --level Display the required hack level & number of ports to root: [level|port] - -n, --not-rooted Filter to servers that have not been rooted - -r, --rooted Filter to servers that have been rooted - -s, --specs Display the server specifications: {CPU|RAM} - -u, --usage Display the server utilization: (USG%) - -v, --verbose Display level, specs & usage in that order: [HL|P] {CPU|RAM} (USG%) - -h, --help Display this help message -``` -
- -
- -

rm.js

-
-
- -**RAM:** 2.85 GB | [Code](./scripts/rm.js) - -[bitburner-connector](https://plugins.jetbrains.com/plugin/18338-bitburner-connector) would occasionally push my IDE -files to the game, so I created this simple script to recursively search & delete files from a directory to save me -from having to delete files one-by-one. -``` -[home ~/scripts]> run /scripts/rm.js --help -Running script with 1 thread(s), pid 1 and args: ["--help"]. -/scripts/rm.js: - -Recursively delete files inside a directory - -Usage: run rm.js [OPTIONS] PATH [SERVER] - run rm.js --help - - PATH Path to recursively search - SERVER Run on remote server - -Options: - -f, --force Remove game files (.exe, .lit, .msg) - -r, --recursive Delete everything inside directory - -h, --help Display this help message -``` -
- -
- -

rootkit.js

-
-
- -**RAM:** 4.65 GB | [Code](./scripts/rootkit.js) - -Automatically gains root on the local or remote server. A script can be passed as an additional argument; it will be -copied and automatically executed with the maximum number of threads after being rooted. -``` -[home ~/]> run scripts/rootkit.js --help -Running script with 1 thread(s), pid 1 and args: ["--help"]. -/scripts/rootkit.js: - -Scan the network for servers and display as an ASCII tree. Servers with root access are highlighted & bold. - -Usage: run network-graph.js [OPTIONS] [SERVER] - run network-graph.js --help - - SERVER Point to start scan from, defaults to local server - -Options: - -d, --depth Depth to scan to - -f, --filter Filter to servers matching name - -e, --regex Filter to servers matching pattern - -l, --level Display the required hack level & number of ports to root: [level|port] - -n, --not-rooted Filter to servers that have not been rooted - -r, --rooted Filter to servers that have been rooted - -s, --specs Display the server specifications: {CPU|RAM} - -u, --usage Display the server utilization: (USG%) - -v, --verbose Display level, specs & usage in that order: [HL|P] {CPU|RAM} (USG%) - -h, --help Display this help message -``` -
- -
- -

server-miner.js

-
-
- -**RAM:** 11.35 GB | [Code](./scripts/server-manager.js) - -Mid-game script to handle purchasing and upgrading servers for more computer power. You can also set a script to run -automatically after purchase. Useful to chain with `miner.js` or `botnet.js`. -``` -[home ~/]> run /scripts/server-manager.js --help -Running script with 1 thread(s), pid 1 and args: ["--help"]. -/scripts/server-manager.js: - -Automate the buying & upgrading of servers. Automatically starts script after purchase. Tail for live updates. - -Usage: run server-manager.js [OPTIONS] [SCRIPT] [ARGS]... - run server-manager.js --help - - SCRIPT Script to copy & execute - ARGS Arguments for script. Forward the discovered server with: {{SERVER}} - -Options: - -b, --balance Prevent spending bellow point - -c, --cpu Number of CPU threads to start script with, will use maximum if not specified - -l, --limit Limit the number of servers that can be purchased, defaults to 25 - -r, --ram Amount of RAM to purchase new servers with, defaults to 8 GB - -s, --sleep Amount of time to wait between purchases, defaults to 1 (second) - -h, --help Display this help message -``` -
- -
- -

update.js

-
-
- -**RAM:** 2.65 GB | [Code](./scripts/update.js) - -Uses the in-game `wget` to download all the scripts in this repository. Can target remote servers to quickly copy the -entire toolkit to the target. -``` -[home ~/]> run scripts/update.js --help -Running script with 1 thread(s), pid 1 and args: ["--help"]. -/scripts/update.js: - -Download the latest script updates from the repository using wget. - -Usage: run update.js [OPTIONS] [DEVICE] - run update.js --help - - DEVICE Device to update, defaults to current machine - -Options: - --skip-self Skip updating self (for debugging & used internally) - --no-banner Hide the banner (Used internally) - -h, --help Display this help message -``` -
- -## License -Copyright © 2023 Zakary Timson | Available under MIT Licensing - -See the [license](./LICENSE) for more information. + +
+
+ + + Logo + + + ### Bitburner + + + Collection of Bitburner scipts + + + [![Version](https://img.shields.io/badge/dynamic/json.svg?label=Version&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/bitburner/tags&query=$[0].name)](https://git.zakscode.com/ztimson/bitburner/tags) + [![Pull Requests](https://img.shields.io/badge/dynamic/json.svg?label=Pull%20Requests&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/bitburner&query=open_pr_counter)](https://git.zakscode.com/ztimson/bitburner/pulls) + [![Issues](https://img.shields.io/badge/dynamic/json.svg?label=Issues&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/bitburner&query=open_issues_count)](https://git.zakscode.com/ztimson/bitburner/issues) + + + + --- +
+ Release Notes + • Report a Bug + • Request a Feature +
+ + --- +
+ +## Table of Contents +- [Bitburner](#top) + - [About](#about) + - [Built With](#built-with) + - [Quick Start](#qiuck-start) + - [Scripts](#scripts) + - [banner.js](#banner) + - [botnet-manager.js (WIP)](#botnet) + - [connect.js](#connect) + - [copy.js](#copy) + - [crawler.js](#crawler) + - [find-target.js](#find-target) + - [hacknet-manager.js](#hacknet) + - [miner.js](#miner) + - [network-graph.js](#network-graph) + - [rm.js](#rm) + - [rootkit.js](#rootkit) + - [server-manager.js](#server-manager) + - [update.js](#update) + - [License](#license) + +## About +A collection of scripts & information pertaining to the [open source](https://github.com/danielyxie/bitburner) game [Bitburner](https://danielyxie.github.io/bitburner/) + +### Built with +[![JavaScript](https://img.shields.io/badge/JavaScript-000000?style=for-the-badge&logo=javascript)](https://javascript.com/) + +## Quick Start + +```bash +# Download the update script in-game & run it +wget https://gitlab.zakscode.com/ztimson/Bitburner/-/raw/develop/scripts/update.js scripts/update.js +run scripts/update.js # Repeat to pull the latest + +# View the network +run scripts/network-graph.js --verbose +run scripts/netowkr-graph.js -v --filter CSEC # Find path to a specific device + +# Start the node manager in auto-mode +run scripts/node-manager.js -a + +# Chain the crawler & rootkit to root all devices on the network +run scripts/crawler.js --not-rooted /scripts/rootkit.js {{TARGET}} + +# Find the most profitable server & use the crawler to deploy miners on the network targeting it +run scripts/find-target.js # Output: n00dles +run scriipts/crawler.js --rooted --remote-exec /scripts/miner.js n00dles + +# Install backdoor on CSEC +run scripts/rootkit.js CSEC +run scripts/connect.js CSEC +backdoor +``` + +## Scripts + +
+ + + +
+ +**RAM:** 1.60 GB | [Code](./src/banner.js) + +Aesthetic & serves no real purpose. Prints a banner to the terminal & can repeat after game restarts. +``` +[home ~/]> run scripts/banner.js --help +Running script with 1 thread(s), pid 1 and args: ["--help"]. +/scripts/banner.js: + +Display an ASCII banner. + +Usage: run banner.js [OPTIONS] + run banner.js --help + +Options: + -r, --reboot Automatically display after game reboots + -h, --help Display this help message +``` +
+ +
+ +

botnet-manager.js (WIP)

+
+
+ +**RAM:** 7.15 GB | [Code](./scripts/botnet-manager.js) + +Late-game solution to hack servers. It orchestrates an unlimited number of servers to carry out distributed batched +attacks against targets. It includes a bunch of utilities to quickly dispatch single commands to all workers. Manger +can be tailed for live updates. +``` +[home ~/]> run /scripts/botnet-manager.js --help +Running script with 1 thread(s), pid 1 and args: ["--help"]. +/scripts/botnet-manager.js: + +Connect & manage a network of devices to launch distributed attacks. + +Usage: run botnet-manager.js [OPTIONS] + run botnet-manager.js [OPTIONS] COMMAND + run botnet-manager.js --help [COMMAND] + +Options: + -s, --silent Suppress program output + -h, --help Display this help message + +Commands: + copy Copy file & dependencies to swarm nodes + join Connect device as a worker node to the swarm + kill Kill any scripts running on worker nodes + leave Disconnect worker node from swarm + run Copy & run script on all worker nodes + start Start this device as the swarm manager +``` +
+ +
+ +

connect.js

+
+
+ +**RAM:** 1.85 GB | [Code](./scripts/connect.js) + +The built in `connect` command only allows you to connect to devices in the immediate vicinity or servers that have +backdoors installed requiring you to make several jumps. This script will automatically find a path & connect you saving +you some time. +``` +[home ~/]> run /scripts/connect.js --help +Running script with 1 thread(s), pid 1 and args: ["--help"]. +/scripts/connect.js: + +Connect to a server anywhere in the network without a backdoor. + +Usage: run connect.js [OPTIONS] SERVER + run connect.js --help + + SERVER Server to connect to + +Options: + -h, --help Display this help message +``` +
+ +
+ +

copy.js

+
+
+ +**RAM:** 4.20 GB | [Code](./scripts/copy.js) + +Scripts often import other scripts requiring multiple `scp` calls before it can be run on a remote machine. This script +will automatically scan the file being copied for imports & recursively scan & copy the dependencies. Plus it has a +fancy animated loading bar. +``` +[home ~/]> run scripts/copy.js --help +Running script with 1 thread(s), pid 1 and args: ["--help"]. +/scripts/copy.js: + +Copy a file & it's dependencies to a server. + +Usage: run copy.js [OPTIONS] FILE SERVER [ARGS]... + run copy.js --help + + FILE File to copy + SERVER Server to copy file(s) to + ARGS Arguments to start file/script with + +Options: + -c, --cpu Number of CPU threads to start script with, will use maximum if not specified + -e, --execute Start script after copying + -n, --no-deps Skip copying dependencies + -q, --quite Suppress program output + -h, --help Display this help message +``` +
+ +
+ +

crawler.js

+
+
+ +**RAM:** 5.80 GB | [Code](./scripts/crawler.js) + +Mid-game solution to distribute & run scripts across the network. +``` +[home ~/]> run scripts/crawler.js --help +Running script with 1 thread(s), pid 1 and args: ["--help"]. +/scripts/crawler.js: + +Search the network for servers to execute a script against. + +Usage: run crawler.js [OPTIONS] SCRIPT [ARGS]... + run crawler.js --help + + SCRIPT Script to copy & execute + ARGS Arguments for script. Forward the discovered server with: {{SERVER}} + +Options: + -c, --cpu Number of CPU threads to start script with, will use maximum if not specified + -d, --depth Depth to scan to, defaults to 3 + -k, --kill Kill all running scripts on the server + --level Skip servers with higher hack level, defaults to current hack level + -e, --remote-exec Execute script on remote server + -r, --rooted Only servers that have been rooted + -n, --not-rooted Only servers that have not been rooted + -p, --ports Skip servers with too many closed ports + -q, --quite Suppress program output + -v, --verbose Display the server names in the final report + -h, --help Display this help message +``` +
+ +
+ +

find-target.js

+
+
+ +**RAM:** 4.05 GB | [Code](./scripts/find-target.js) + +A utility to help figure out which server is worth hacking the most. It does this by estimating the financial yield per +minute for each server & returns the servers in a sorted list. +``` +[home ~/]> run scripts/find-target.js --help +Running script with 1 thread(s), pid 1 and args: ["--help"]. +/scripts/find-target.js: + +Scan the network for the best servers(s) to hack. + +Usage: run find-target.js [OPTIONS] + run find-target.js --help + +Options: + -c, --count Number of servers to return + -r, --rooted Only servers that have been rooted + -n, --not-rooted Only servers that have not been rooted + -v, --verbose Display the estimated income per minute per core + -h, --help Display this help message +``` +
+ +
+ +

hacknet-manager.js

+
+
+ +**RAM:** 5.70 GB | [Code](./scripts/hacknet-manager.js) + +An early game solution to automate the hacknet & get easy money. +``` +[home ~/]> run scripts/hacknet-manager.js --help +Running script with 1 thread(s), pid 1 and args: ["--help"]. +/scripts/hacknet-manager.js: + +Buy, upgrade & manage Hacknet nodes automatically. Tail for live updates. + +Usage: run hacknet-manager.js [OPTIONS] [LIMIT] + run hacknet-manager.js --help + + LIMIT Limit the number of nodes the manager will buy, defaults to 8 or the current number of nodes + +Options: + -a, --auto-limit Automatically increase the node limit when there is nothing to do + -b, --balance Prevent spending bellow point + -s, --sleep Amount of time to wait between purchases, defaults to 1 (second) + -h, --help Display this help message +``` +
+ +
+ +

miner.js

+
+
+ +**RAM:** 2.45 GB | [Code](./scripts/miner.js) + +An early-game HGW script to steal money from servers. You can deploy this on each server and have them hack themselves, +or they can all target the server with the most money which is more efficient (see [find-target.js](#find-target)). +``` +[home ~/]> run scripts/miner.js --help +Running script with 1 thread(s), pid 1 and args: ["--help"]. +/scripts/miner.js: + +Buy, upgrade & manage Hacknet nodes automatically. Tail for live updates. + +Usage: run hacknet-manager.js [OPTIONS] [LIMIT] + run hacknet-manager.js --help + + LIMIT Limit the number of nodes the manager will buy, defaults to 8 or the current number of nodes + +Options: + -a, --auto-limit Automatically increase the node limit when there is nothing to do + -b, --balance Prevent spending bellow point + -s, --sleep Amount of time to wait between purchases, defaults to 1 (second) + -h, --help Display this help message +``` +
+ +
+ +

network-graph.js

+
+
+ +**RAM:** 3.85 GB | [Code](./scripts/network-graph.js) + +A utility to scan the network & build a visual tree of all the devices. It comes with lots of flags to narrow down the +results. It's useful for figuring out where you are, manually finding targets & discovering the path to a server & +connecting to it. +``` +[home ~/]> run /scripts/network-graph.js --help +Running script with 1 thread(s), pid 1 and args: ["--help"]. +/scripts/network-graph.js: + +Scan the network for servers and display as an ASCII tree. Servers with root access are highlighted & bold. Click to +automatically connect. + +Usage: run network-graph.js [OPTIONS] [SERVER] + run network-graph.js --help + + SERVER Point to start scan from, defaults to local server + +Options: + -d, --depth Depth to scan to + -f, --filter Filter to servers matching name + -e, --regex Filter to servers matching pattern + -l, --level Display the required hack level & number of ports to root: [level|port] + -n, --not-rooted Filter to servers that have not been rooted + -r, --rooted Filter to servers that have been rooted + -s, --specs Display the server specifications: {CPU|RAM} + -u, --usage Display the server utilization: (USG%) + -v, --verbose Display level, specs & usage in that order: [HL|P] {CPU|RAM} (USG%) + -h, --help Display this help message +``` +
+ +
+ +

rm.js

+
+
+ +**RAM:** 2.85 GB | [Code](./scripts/rm.js) + +[bitburner-connector](https://plugins.jetbrains.com/plugin/18338-bitburner-connector) would occasionally push my IDE +files to the game, so I created this simple script to recursively search & delete files from a directory to save me +from having to delete files one-by-one. +``` +[home ~/scripts]> run /scripts/rm.js --help +Running script with 1 thread(s), pid 1 and args: ["--help"]. +/scripts/rm.js: + +Recursively delete files inside a directory + +Usage: run rm.js [OPTIONS] PATH [SERVER] + run rm.js --help + + PATH Path to recursively search + SERVER Run on remote server + +Options: + -f, --force Remove game files (.exe, .lit, .msg) + -r, --recursive Delete everything inside directory + -h, --help Display this help message +``` +
+ +
+ +

rootkit.js

+
+
+ +**RAM:** 4.65 GB | [Code](./scripts/rootkit.js) + +Automatically gains root on the local or remote server. A script can be passed as an additional argument; it will be +copied and automatically executed with the maximum number of threads after being rooted. +``` +[home ~/]> run scripts/rootkit.js --help +Running script with 1 thread(s), pid 1 and args: ["--help"]. +/scripts/rootkit.js: + +Scan the network for servers and display as an ASCII tree. Servers with root access are highlighted & bold. + +Usage: run network-graph.js [OPTIONS] [SERVER] + run network-graph.js --help + + SERVER Point to start scan from, defaults to local server + +Options: + -d, --depth Depth to scan to + -f, --filter Filter to servers matching name + -e, --regex Filter to servers matching pattern + -l, --level Display the required hack level & number of ports to root: [level|port] + -n, --not-rooted Filter to servers that have not been rooted + -r, --rooted Filter to servers that have been rooted + -s, --specs Display the server specifications: {CPU|RAM} + -u, --usage Display the server utilization: (USG%) + -v, --verbose Display level, specs & usage in that order: [HL|P] {CPU|RAM} (USG%) + -h, --help Display this help message +``` +
+ +
+ +

server-miner.js

+
+
+ +**RAM:** 11.35 GB | [Code](./scripts/server-manager.js) + +Mid-game script to handle purchasing and upgrading servers for more computer power. You can also set a script to run +automatically after purchase. Useful to chain with `miner.js` or `botnet.js`. +``` +[home ~/]> run /scripts/server-manager.js --help +Running script with 1 thread(s), pid 1 and args: ["--help"]. +/scripts/server-manager.js: + +Automate the buying & upgrading of servers. Automatically starts script after purchase. Tail for live updates. + +Usage: run server-manager.js [OPTIONS] [SCRIPT] [ARGS]... + run server-manager.js --help + + SCRIPT Script to copy & execute + ARGS Arguments for script. Forward the discovered server with: {{SERVER}} + +Options: + -b, --balance Prevent spending bellow point + -c, --cpu Number of CPU threads to start script with, will use maximum if not specified + -l, --limit Limit the number of servers that can be purchased, defaults to 25 + -r, --ram Amount of RAM to purchase new servers with, defaults to 8 GB + -s, --sleep Amount of time to wait between purchases, defaults to 1 (second) + -h, --help Display this help message +``` +
+ +
+ +

update.js

+
+
+ +**RAM:** 2.65 GB | [Code](./scripts/update.js) + +Uses the in-game `wget` to download all the scripts in this repository. Can target remote servers to quickly copy the +entire toolkit to the target. +``` +[home ~/]> run scripts/update.js --help +Running script with 1 thread(s), pid 1 and args: ["--help"]. +/scripts/update.js: + +Download the latest script updates from the repository using wget. + +Usage: run update.js [OPTIONS] [DEVICE] + run update.js --help + + DEVICE Device to update, defaults to current machine + +Options: + --skip-self Skip updating self (for debugging & used internally) + --no-banner Hide the banner (Used internally) + -h, --help Display this help message +``` +
+ +## License +Copyright © 2023 Zakary Timson | Available under MIT Licensing + +See the [license](./LICENSE) for more information.