diff --git a/pentest_tool/src/box_controls.rs b/pentest_tool/src/box_controls.rs index 5e11166..953f087 100644 --- a/pentest_tool/src/box_controls.rs +++ b/pentest_tool/src/box_controls.rs @@ -71,18 +71,20 @@ pub fn project_inline_terminal(project: Project){ process::Command::new("distrobox").arg("enter").arg("--root").arg(project.boxname).arg("--").arg("script").arg("-a").arg("-B").arg("/pentest/working/terminal.log").status().expect("error opeing konsole"); } -pub fn make_box(project: &Project, tools_dir: &PathBuf, boxtemplate: &String){ - let _distrobox_stop_status = process::Command::new("distrobox").arg("stop").arg("--root").arg(&project.boxname).status().expect("error stopping distrobox"); - let distrobox_rm_status = process::Command::new("distrobox-rm") - .arg("--root") - .arg("-f") - .arg(&project.boxname) - .status().expect("error calling distrobox"); - if distrobox_rm_status.success(){ - println!("Distrobox Removal Successful!!!"); - } - else{ - println!("Distrobox Removal Failed, manual removal required!"); +pub fn make_box(project: &Project, tools_dir: &PathBuf, boxtemplate: &String, new: bool){ + if !new{ + let _distrobox_stop_status = process::Command::new("distrobox").arg("stop").arg("--root").arg(&project.boxname).status().expect("error stopping distrobox"); + let distrobox_rm_status = process::Command::new("distrobox-rm") + .arg("--root") + .arg("-f") + .arg(&project.boxname) + .status().expect("error calling distrobox"); + if distrobox_rm_status.success(){ + println!("Distrobox Removal Successful!!!"); + } + else{ + println!("Distrobox Removal Failed, manual removal required!"); + } } let mut box_name_path = project.files_folder.clone(); let mut box_name = format!("atarchbox_{}", &project.customer); diff --git a/pentest_tool/src/menu.rs b/pentest_tool/src/menu.rs index ffd5b9b..6a7061e 100644 --- a/pentest_tool/src/menu.rs +++ b/pentest_tool/src/menu.rs @@ -145,7 +145,7 @@ Year: {} "7" => project_controls::remove_project(&mut projects, &config_path), "8" => box_controls::project_standalone_terminal(active_project.clone(), terminal.clone()), "9" => box_controls::project_inline_terminal(active_project.clone()), - "10" => box_controls::make_box(&active_project, &tools_dir, &boxtemplate), + "10" => box_controls::make_box(&active_project, &tools_dir, &boxtemplate, false), "11" => info_controls::open_in_dolphin("files", active_project.clone()), "12" => info_controls::open_in_dolphin("notes", active_project.clone()), "13" => info_controls::generate_userpass(&active_project), diff --git a/pentest_tool/src/project_controls.rs b/pentest_tool/src/project_controls.rs index 1fb18a4..0ed27db 100644 --- a/pentest_tool/src/project_controls.rs +++ b/pentest_tool/src/project_controls.rs @@ -192,7 +192,7 @@ pub fn new_project(projects: &mut Vec, project_dir: &PathBuf, notes_dir id: new_id, boxname: box_name, }; - make_box(&new_project, &tools_dir, &boxtemplate); + make_box(&new_project, &tools_dir, &boxtemplate, true); projects.push(new_project); save_projects(projects, config_path);