rusthound_ce/
banner.rs

1//! Launch and end banners
2use colored::*;
3use crate::utils::date::{return_current_date,return_current_time};
4use indicatif::{ProgressBar, ProgressStyle};
5
6/// Banner when RustHound-CE start.
7pub fn print_banner() {
8    // https://docs.rs/colored/2.0.0/x86_64-pc-windows-msvc/colored/control/fn.set_virtual_terminal.html
9    #[cfg(windows)]
10    control::set_virtual_terminal(true).unwrap();
11
12    // Banner for RustHound-CE
13    println!("{}","---------------------------------------------------".clear().bold());
14    println!("Initializing {} at {} on {}",
15        "RustHound-CE".truecolor(247,76,0,),
16        return_current_time(),
17        return_current_date()
18    );
19    println!("Powered by {}","@g0h4n_0".bold());
20    println!("{}\n","---------------------------------------------------".clear().bold());
21}
22
23/// Banner when RustHound-CE finish.
24pub fn print_end_banner() {
25    // End banner for RustHound-CE
26    println!("\n{} Enumeration Completed at {} on {}! Happy Graphing!\n",
27        "RustHound-CE".truecolor(247,76,0,),
28        return_current_time(),
29        return_current_date()
30    );
31}
32
33/// Progress Bar used in RustHound-CE.
34pub fn progress_bar(
35	pb: ProgressBar,
36	message: String,
37	count: u64,
38    end_message: String,
39) {
40	pb.set_style(ProgressStyle::with_template("{prefix:.bold.dim}{spinner} {wide_msg}")
41		.unwrap()
42        .tick_chars("⠁⠂⠄⡀⢀⠠⠐⠈ "));
43	pb.inc(count);
44	pb.with_message(format!("{}: {}{}",message,count,end_message));
45}