BitBurner - Scripts
These scripts are for playing the open source game BitBurner
Table of Contents
Quick Start
# Download the update script in-game
wget https://gitlab.zakscode.com/ztimson/BitBurner/-/raw/develop/scripts/update.js scripts/update.js
# Run the update script (Repeat this to pull this repository in the future)
run scripts/update.js
# Start the node manager with 8 nodes
run scripts/node-manager.js 8
# Chain the crawler, rootkit & miner to hack everything on the network
alias hackAll="run scripts/crawler.js /scripts/rootkit.js {{TARGET}} /scripts/miner.js"
hackAll
# Identify & install a backdoor on CSEC
run scripts/network-graph.js -f CSEC
run scripts/rootkit.js CSEC
run scripts/connect.js CSEC
backdoor
Learn more about the availible scripts bellow or pass the --help flag to any of the included scripts in-game.
Scripts
botnet-manager.js (WIP)
RAM: GB
Connect & manage a network of devices to launch distributed attacks.
connect.js
RAM: 1.85 GB
Search the network for a device and connect to it.
[home ~/]> run /scripts/connect.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/connect.js: 
Search the network for a device and connect to it.
Usage:	run connect.js DEVICE
	run connect.js --help
	DEVICE			 Device to connect to
Options:
	-h --help		 Display this help message
copy.js
RAM: 3.50 GB
Copy a file/script to a device along with any dependencies.
[home ~/]> run scripts/copy.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/copy.js: 
Copy a file/script to a device along with any dependencies.
Usage:	run copy.js [OPTIONS] FILE DEVICE
	run copy.js --help
	FILE			 File to copy
	DEVICE			 Device to copy file(s) to
Options:
	-d --no-deps		 Skip copying dependencies
	-s --silent		 Surpress program output
	-h --help		 Display this help message
crawler.js
RAM: 4.10 GB
Search the network for devices to execute a script against.
[home ~/]> run scripts/crawler.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/crawler.js: 
Search the network for devices 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 current target with: {{TARGET}}
Options:
	-c --cpu		 Number of CPU threads to use with script
	-d --depth		 Depth to scan to, defaults to 3
	-l --level		 Exclude targets with higher hack level, defaults to current hack level
	-p --ports		 Exclute targets with too many closed ports
	-s --silent		 Surpress program output
	-h --help		 Display this help message
find-target.js
RAM: 6.00 GB
Scan the network for the best device(s) to mine.
[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 device(s) to mine.
Usage:	run find-target.js [OPTIONS] 
	run find-target.js --help
Options:
	-c --count		 Number of devices to return in order from best to worst
	-r --rooted		 Filter to devices that have been rooted
	-n --not-rooted		 Filter to devices 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
Buy, upgrade & manage Hacknet nodes automatically. Tail for live updates.
[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
Options:
	-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
Weaken, Grow, Hack loop to "mine" device for money. Tail for live updates.
[home ~/]> run scripts/miner.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/miner.js: 
Weaken, Grow, Hack loop to "mine" device for money. Tail for live updates.
Usage:	run miner.js [DEVICE]
	run miner.js --help
	DEVICE			 Device to mine, defaults to current machine
Options:
	-h --help		 Display this help message
network-graph.js
RAM: 3.85 GB
Scan the network for devices and display as an ASCII tree.
[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 devices and display as an ASCII tree:
 home
  ├─ n00dles (ROOTED)
  |   └─ max-hardware (80|1)
  |       └─ neo-net (50|1)
  ├─ foodnstuff (ROOTED)
  └─ sigma-cosmetics (ROOTED)
Usage:	run network-graph.js [OPTIONS] [DEVICE]
	run network-graph.js --help
	DEVICE			 Point to start scan from, defaults to current machine
Options:
	-d --depth		 Depth to scan to, defaults is 3
	-f --filter		 Filter to device matching name
	-e --regex		 Filter to devices matching pattern
	-r --rooted		 Filter to devices that have been rooted
	-n --not-rooted		 Filter to devices that have not been rooted
	-v --verbose		 Display the required hack level & number of ports to root: (level|port)
	-h --help		 Display this help message
rootkit.js
RAM: 4.75 GB - 4.90 GB (depending on un-commented programs)
Automatically gain root on a target machine. A file can also be uploaded & executed.
Programs can be commented out to lower the cost of running.
[home ~/]> run scripts/rootkit.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/rootkit.js: 
Automatically gain root access to a device. A file can also be uploaded & executed.
Usage:	run rootkit.js [OPTIONS] [DEVICE] [SCRIPT] [ARGS]...
	run rootkit.js --help
	DEVICE			 Device to root, defaults to current machine
	SCRIPT			 Script to copy & execute
	ARGS			 Arguments for script. Forward the current target with: {{TARGET}}
Options:
	-c --cpu		 Number of CPU threads to use with script
	-s --silent		 Surpress program output
	-h --help		 Display this help message
update.js
RAM: 2.65 GB
Download the latest script updates from the repository using wget.
[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