git clone https://github.com/0xc0rvu5/Startup_Scripts && cd Startup_Scripts/main- sudo ./1.sh
- exit
- ./2.sh
- exit
- sudo ./3.sh
1.sh
	- Updates system
	- Installs necessary packages
		- apt-transport-https curl wget git xclip mlocate vim-gtk3 terminator zsh fish \
		bat tldr
- Installs unnecessary packages
	- toilet figlet cowsay fortune lolcat boxes
- Adds iptables ruleset and creates a copy at ../configs/iptables.sh
- Installs brave-browser
	- Adds files
		~ /usr/share/keyrings/brave-browser-archive-keyring.gpg 
	 	~ /etc/apt/sources.list.d/brave-browser-release.list
- Installs VSCode
	- Adds files
		~ /usr/share/keyrings/packages.microsoft.gpg
		~ /etc/apt/source.list.d/vscode.list
- Installs additional packages
	- libpam-tmpdir apt-listchanges debsums apt-show-versions sysstat auditd chkrootkit \
	rkhunter unhide fail2ban unattended-upgrades acct arpwatch shellcheck vlc xpad tor \
	sqlite3 sqlitebrowser python3-pip python3-virtualenv iptables-persistent
- Activates unattended-upgrades
	- Creates a local file for /etc/apt/apt.conf.d/50unattended-upgrades here:
		~ /etc/apt/apt.conf.d/52unattended-upgrades-local
	- Copies ../configs/02periodic to:
		~ /etc/apt/apt.conf.d/02periodic
- Starts services on reboot:
	- arpwatch auditd fail2ban sysstat unattended-upgrades
- Disables services on reboot:
	- cups cups-browsed ufw
- Starts services immediately:
	- auditd fail2ban sysstat unattended-upgrades
- Disables services immediately:
	- cups cups-browsed ufw
- Adds a single arpwatch interface to monitor and adds ruleset to:
	~ /etc/arpwatch/your_interface.iface
		
	- Starts service on reboot and immediately after creating file
- Adds auditctl ruleset to:
	~ /etc/audit/rules.d/audit.rules 
- Adds banners to:
	~ /etc/motd
	~ /etc/issue
	~ /etc/issue.net
- Installs zsh/fish shell across all users
	- Based on choice:
		- For zsh installs:
			- oh-my-zsh
		- For fish installs:
			- oh-my-fish
2.sh
	- Installs rust
		- Installs rustscan
		- Installs feroxbuster
- Installs zsh/fish shell across all users
	- Based on choice:
		- For zsh installs:
			- oh-my-zsh
		- For fish installs:
			- oh-my-fish
3.sh
	- Updates `tldr` for root and any user(s) with the binary
- Creates directories at:
	~ /root/.local/bin
	~ /root/.local/share
	~ /root/.config/terminator
	~ /home/user/.local/bin
	~ /home/user/.config/terminator
- Creates files at:
	~ /root/.config/terminator/config
	~ /home/user/.config/terminator/config
- Creates syslinks for `batcat`:
	~ ln -s /usr/bin/batcat /root/.local/bin/bat
	~ ln -s /usr/bin/batcat /home/user/.local/bin/bat
	- If Distribution ID is `Debian`:
		~ ln -s /usr/bin/batcat /usr/local/bin/bat
- If the root and current user have a bash/zsh/fish shell then these paths will be appended to
utilize ~/.cargo/bin ~/.local/bin binaries:
	~ export PATH="$HOME/.local/bin:$PATH"
	~ export PATH="/home/user/.cargo/bin:$PATH"
- If the following files/directories are present in the root/user ~/ directories:
	~ ~/.bashrc
	~ ~/.oh-my-zsh
	~ ~/.config/fish
	- Create the relevant alias files for the user here:
		~ ~/.bash_aliases
		~ ~/.oh-my-zsh/custom/aliases.zsh
		~ ~/.config/fish/functions
		
Log file at:
	~ log
	
	- Color coated:
		- Blue:
			- Content of file configurations
			
		- Green:
			- Installed packages
			
		- Green Background:
			- Time stamps at the beginning and end of each script
			
		- Red:
			- System service changes
			
		- Yellow:
			- File configurations
Zsh Installation Video Example
Fish Installation Video Example
- Debian Buster 11 
- Ubuntu 22.04 LTS
- 16 GB RAM
- 3 CPU Processors
1.sh
	- 3 min
2.sh
	- 5 min
3.sh
	- 10 sec
- mttaggart
	- After completing the PWST for TCM Security Michael got me hooked on the fish shell.
- PimpMyKali
	- Some start up functions and ascii were referenced.









