Skip to content

Commit afa6b2f

Browse files
authored
Update utils.rs
1 parent 6356a86 commit afa6b2f

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

hacker/src/utils.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use std::io::{self, Write};
44
use std::thread;
55
use std::time::Duration;
66
use std::sync::{Arc, atomic::{AtomicBool, Ordering}};
7+
78
pub fn run_command_with_spinner(program: &str, args: Vec<&str>, message: &str) {
89
println!("{}", format!("▶ {}: {}", message, args.join(" ")).blue().bold().on_black());
910
let stop = Arc::new(AtomicBool::new(false));
@@ -45,6 +46,7 @@ pub fn run_command_with_spinner(program: &str, args: Vec<&str>, message: &str) {
4546
println!("{}", format!("└──────────────────────────").red().bold().on_black());
4647
}
4748
}
49+
4850
pub fn handle_update() {
4951
println!("{}", "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓".magenta().bold().on_black());
5052
println!("{}", "┃ Starting System Update ┃".magenta().bold().on_black());
@@ -59,23 +61,24 @@ pub fn handle_update() {
5961
println!("{}", "┃ System Update Complete ┃".green().bold().on_black());
6062
println!("{}", "┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛".green().bold().on_black());
6163
}
64+
6265
pub fn handle_cybersecurity() {
6366
println!("{}", "========== Setting up Cybersecurity Container ==========".cyan().bold().on_black());
6467
run_command_with_spinner("sudo", vec!["apt", "install", "-y", "distrobox"], "Installing distrobox if not present");
6568
let exists = Command::new("distrobox").arg("list").output().map(|o| String::from_utf8_lossy(&o.stdout).contains("cybersecurity")).unwrap_or(false);
6669
if !exists {
6770
run_command_with_spinner("distrobox", vec!["create", "--name", "cybersecurity", "--image", "archlinux:latest"], "Creating container");
6871
}
69-
let ba_check = Command::new("distrobox-enter").args(&["-n", "cybersecurity", "--", "sudo", "grep", "[blackarch]", "/etc/pacman.conf"]).output().map(|o| o.status.success()).unwrap_or(false);
72+
let ba_check = Command::new("distrobox-enter").args(&["-n", "cybersecurity", "--", "sudo", "grep", "\\[blackarch\\]", "/etc/pacman.conf"]).output().map(|o| o.status.success()).unwrap_or(false);
7073
if !ba_check {
7174
run_command_with_spinner("distrobox-enter", vec!["-n", "cybersecurity", "--", "curl", "-O", "https://blackarch.org/strap.sh"], "Downloading strap.sh");
7275
run_command_with_spinner("distrobox-enter", vec!["-n", "cybersecurity", "--", "bash", "-c", "echo e26445d34490cc06bd14b51f9924debf569e0ecb strap.sh | sha1sum -c"], "Verifying sha1sum");
7376
run_command_with_spinner("distrobox-enter", vec!["-n", "cybersecurity", "--", "chmod", "+x", "strap.sh"], "Making executable");
7477
run_command_with_spinner("distrobox-enter", vec!["-n", "cybersecurity", "--", "sudo", "./strap.sh"], "Installing BlackArch");
7578
}
76-
let multi_check = Command::new("distrobox-enter").args(&["-n", "cybersecurity", "--", "grep", "^[multilib]", "/etc/pacman.conf"]).output().map(|o| o.status.success()).unwrap_or(false);
79+
let multi_check = Command::new("distrobox-enter").args(&["-n", "cybersecurity", "--", "grep", "^\\[multilib\\]", "/etc/pacman.conf"]).output().map(|o| o.status.success()).unwrap_or(false);
7780
if !multi_check {
78-
run_command_with_spinner("distrobox-enter", vec!["-n", "cybersecurity", "--", "sudo", "sed", "-i", "/\\[multilib\\]/,/Include/s/^#//", "/etc/pacman.conf"], "Enabling multilib");
81+
run_command_with_spinner("distrobox-enter", vec!["-n", "cybersecurity", "--", "sudo", "sed", "-i", "/#\\[multilib\\]/,/Include/s/^#//", "/etc/pacman.conf"], "Enabling multilib");
7982
}
8083
run_command_with_spinner("distrobox-enter", vec!["-n", "cybersecurity", "--", "sudo", "pacman", "-Syu", "--noconfirm"], "Updating system");
8184
let home = std::env::var("HOME").unwrap_or_default();
@@ -102,6 +105,7 @@ pub fn handle_cybersecurity() {
102105
}
103106
println!("{}", "========== Cybersecurity Setup Complete ==========".green().bold().on_black());
104107
}
108+
105109
pub fn handle_gaming() {
106110
println!("{}", "========== Installing Gaming Tools ==========".cyan().bold().on_black());
107111
run_command_with_spinner("flatpak", vec!["remote-add", "--if-not-exists", "flathub", "https://dl.flathub.org/repo/flathub.flatpakrepo"], "Adding flathub repo");

0 commit comments

Comments
 (0)