mirror of
https://github.com/Astatin3/unshell.git
synced 2026-06-09 06:47:59 -06:00
Move everything into workspace
This commit is contained in:
@@ -13,6 +13,13 @@ dist/
|
|||||||
**/*.rs.bk
|
**/*.rs.bk
|
||||||
|
|
||||||
|
|
||||||
|
# Added by cargo
|
||||||
|
#
|
||||||
|
# already existing elements were commented out
|
||||||
|
|
||||||
|
#/target
|
||||||
|
|
||||||
|
|
||||||
# Added by cargo
|
# Added by cargo
|
||||||
#
|
#
|
||||||
# already existing elements were commented out
|
# already existing elements were commented out
|
||||||
|
|||||||
Generated
+5027
File diff suppressed because it is too large
Load Diff
+249
@@ -0,0 +1,249 @@
|
|||||||
|
[package]
|
||||||
|
name = "unshell"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2024"
|
||||||
|
|
||||||
|
[workspace]
|
||||||
|
members = [
|
||||||
|
# Binaries
|
||||||
|
"unshell-gui", "unshell-server",
|
||||||
|
|
||||||
|
# Libraries
|
||||||
|
"unshell-manager", "unshell-obfuscate", "unshell-crypt"
|
||||||
|
]
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = []
|
||||||
|
|
||||||
|
log = []
|
||||||
|
log_debug = ["log"]
|
||||||
|
|
||||||
|
obfuscate = ["unshell-obfuscate/obfuscate"]
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
chrono = { workspace = true }
|
||||||
|
serde = { workspace = true }
|
||||||
|
serde_json = { workspace = true }
|
||||||
|
|
||||||
|
unshell-obfuscate = {path = "./unshell-obfuscate"}
|
||||||
|
|
||||||
|
[workspace.dependencies]
|
||||||
|
####
|
||||||
|
# Standard libraries
|
||||||
|
chrono = "0.4.42"
|
||||||
|
|
||||||
|
serde = {version = "1.0.228", features = ["derive"]}
|
||||||
|
serde_json = "1.0.145"
|
||||||
|
|
||||||
|
static_init = "1.0.4"
|
||||||
|
toml = "0.9.9"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------------------------------
|
||||||
|
# Lints:
|
||||||
|
|
||||||
|
[lints]
|
||||||
|
workspace = true
|
||||||
|
|
||||||
|
[workspace.lints.rust]
|
||||||
|
# unsafe_code = "deny"
|
||||||
|
|
||||||
|
elided_lifetimes_in_paths = "warn"
|
||||||
|
future_incompatible = { level = "warn", priority = -1 }
|
||||||
|
nonstandard_style = { level = "warn", priority = -1 }
|
||||||
|
rust_2018_idioms = { level = "warn", priority = -1 }
|
||||||
|
rust_2021_prelude_collisions = "warn"
|
||||||
|
semicolon_in_expressions_from_macros = "warn"
|
||||||
|
trivial_numeric_casts = "warn"
|
||||||
|
unsafe_op_in_unsafe_fn = "warn" # `unsafe_op_in_unsafe_fn` may become the default in future Rust versions: https://github.com/rust-lang/rust/issues/71668
|
||||||
|
unused_extern_crates = "warn"
|
||||||
|
unused_import_braces = "warn"
|
||||||
|
unused_lifetimes = "warn"
|
||||||
|
|
||||||
|
trivial_casts = "allow"
|
||||||
|
unused_qualifications = "allow"
|
||||||
|
|
||||||
|
|
||||||
|
[workspace.lints.rustdoc]
|
||||||
|
all = "warn"
|
||||||
|
missing_crate_level_docs = "warn"
|
||||||
|
|
||||||
|
|
||||||
|
[workspace.lints.clippy]
|
||||||
|
allow_attributes = "warn"
|
||||||
|
as_ptr_cast_mut = "warn"
|
||||||
|
await_holding_lock = "warn"
|
||||||
|
bool_to_int_with_if = "warn"
|
||||||
|
branches_sharing_code = "warn"
|
||||||
|
char_lit_as_u8 = "warn"
|
||||||
|
checked_conversions = "warn"
|
||||||
|
clear_with_drain = "warn"
|
||||||
|
cloned_instead_of_copied = "warn"
|
||||||
|
dbg_macro = "warn"
|
||||||
|
debug_assert_with_mut_call = "warn"
|
||||||
|
default_union_representation = "warn"
|
||||||
|
derive_partial_eq_without_eq = "warn"
|
||||||
|
disallowed_macros = "warn" # See clippy.toml
|
||||||
|
disallowed_methods = "warn" # See clippy.toml
|
||||||
|
disallowed_names = "warn" # See clippy.toml
|
||||||
|
disallowed_script_idents = "warn" # See clippy.toml
|
||||||
|
disallowed_types = "warn" # See clippy.toml
|
||||||
|
doc_comment_double_space_linebreaks = "warn"
|
||||||
|
doc_link_with_quotes = "warn"
|
||||||
|
doc_markdown = "warn"
|
||||||
|
elidable_lifetime_names = "warn"
|
||||||
|
empty_enum = "warn"
|
||||||
|
empty_enum_variants_with_brackets = "warn"
|
||||||
|
empty_line_after_outer_attr = "warn"
|
||||||
|
enum_glob_use = "warn"
|
||||||
|
equatable_if_let = "warn"
|
||||||
|
exit = "warn"
|
||||||
|
expl_impl_clone_on_copy = "warn"
|
||||||
|
explicit_deref_methods = "warn"
|
||||||
|
explicit_into_iter_loop = "warn"
|
||||||
|
explicit_iter_loop = "warn"
|
||||||
|
fallible_impl_from = "warn"
|
||||||
|
filter_map_next = "warn"
|
||||||
|
flat_map_option = "warn"
|
||||||
|
float_cmp_const = "warn"
|
||||||
|
fn_params_excessive_bools = "warn"
|
||||||
|
fn_to_numeric_cast_any = "warn"
|
||||||
|
from_iter_instead_of_collect = "warn"
|
||||||
|
get_unwrap = "warn"
|
||||||
|
if_let_mutex = "warn"
|
||||||
|
ignore_without_reason = "warn"
|
||||||
|
implicit_clone = "warn"
|
||||||
|
implied_bounds_in_impls = "warn"
|
||||||
|
imprecise_flops = "warn"
|
||||||
|
inconsistent_struct_constructor = "warn"
|
||||||
|
index_refutable_slice = "warn"
|
||||||
|
indexing_slicing = "warn"
|
||||||
|
inefficient_to_string = "warn"
|
||||||
|
infinite_loop = "warn"
|
||||||
|
into_iter_without_iter = "warn"
|
||||||
|
invalid_upcast_comparisons = "warn"
|
||||||
|
iter_filter_is_ok = "warn"
|
||||||
|
iter_filter_is_some = "warn"
|
||||||
|
iter_not_returning_iterator = "warn"
|
||||||
|
iter_on_empty_collections = "warn"
|
||||||
|
iter_on_single_items = "warn"
|
||||||
|
iter_over_hash_type = "warn"
|
||||||
|
iter_without_into_iter = "warn"
|
||||||
|
large_digit_groups = "warn"
|
||||||
|
large_include_file = "warn"
|
||||||
|
large_stack_arrays = "warn"
|
||||||
|
large_stack_frames = "warn"
|
||||||
|
large_types_passed_by_value = "warn"
|
||||||
|
let_underscore_must_use = "warn"
|
||||||
|
let_underscore_untyped = "warn"
|
||||||
|
let_unit_value = "warn"
|
||||||
|
linkedlist = "warn"
|
||||||
|
literal_string_with_formatting_args = "warn"
|
||||||
|
lossy_float_literal = "warn"
|
||||||
|
macro_use_imports = "warn"
|
||||||
|
manual_assert = "warn"
|
||||||
|
manual_clamp = "warn"
|
||||||
|
manual_instant_elapsed = "warn"
|
||||||
|
manual_is_power_of_two = "warn"
|
||||||
|
manual_is_variant_and = "warn"
|
||||||
|
manual_let_else = "warn"
|
||||||
|
manual_midpoint = "warn"
|
||||||
|
manual_ok_or = "warn"
|
||||||
|
manual_string_new = "warn"
|
||||||
|
map_err_ignore = "warn"
|
||||||
|
map_flatten = "warn"
|
||||||
|
match_bool = "warn"
|
||||||
|
match_same_arms = "warn"
|
||||||
|
match_wild_err_arm = "warn"
|
||||||
|
match_wildcard_for_single_variants = "warn"
|
||||||
|
mem_forget = "warn"
|
||||||
|
mismatching_type_param_order = "warn"
|
||||||
|
missing_assert_message = "warn"
|
||||||
|
missing_enforced_import_renames = "warn"
|
||||||
|
missing_errors_doc = "warn"
|
||||||
|
missing_safety_doc = "warn"
|
||||||
|
mixed_attributes_style = "warn"
|
||||||
|
mut_mut = "warn"
|
||||||
|
mutex_integer = "warn"
|
||||||
|
needless_borrow = "warn"
|
||||||
|
needless_continue = "warn"
|
||||||
|
needless_for_each = "warn"
|
||||||
|
needless_pass_by_ref_mut = "warn"
|
||||||
|
needless_pass_by_value = "warn"
|
||||||
|
negative_feature_names = "warn"
|
||||||
|
non_std_lazy_statics = "warn"
|
||||||
|
non_zero_suggestions = "warn"
|
||||||
|
nonstandard_macro_braces = "warn"
|
||||||
|
option_as_ref_cloned = "warn"
|
||||||
|
option_option = "warn"
|
||||||
|
path_buf_push_overwrite = "warn"
|
||||||
|
pathbuf_init_then_push = "warn"
|
||||||
|
precedence_bits = "warn"
|
||||||
|
print_stderr = "warn"
|
||||||
|
print_stdout = "warn"
|
||||||
|
ptr_as_ptr = "warn"
|
||||||
|
ptr_cast_constness = "warn"
|
||||||
|
pub_underscore_fields = "warn"
|
||||||
|
pub_without_shorthand = "warn"
|
||||||
|
rc_mutex = "warn"
|
||||||
|
readonly_write_lock = "warn"
|
||||||
|
redundant_type_annotations = "warn"
|
||||||
|
ref_as_ptr = "warn"
|
||||||
|
ref_option_ref = "warn"
|
||||||
|
ref_patterns = "warn"
|
||||||
|
rest_pat_in_fully_bound_structs = "warn"
|
||||||
|
return_and_then = "warn"
|
||||||
|
same_functions_in_if_condition = "warn"
|
||||||
|
semicolon_if_nothing_returned = "warn"
|
||||||
|
set_contains_or_insert = "warn"
|
||||||
|
should_panic_without_expect = "warn"
|
||||||
|
single_char_pattern = "warn"
|
||||||
|
single_match_else = "warn"
|
||||||
|
single_option_map = "warn"
|
||||||
|
str_split_at_newline = "warn"
|
||||||
|
str_to_string = "warn"
|
||||||
|
string_add = "warn"
|
||||||
|
string_add_assign = "warn"
|
||||||
|
string_lit_as_bytes = "warn"
|
||||||
|
string_lit_chars_any = "warn"
|
||||||
|
string_to_string = "warn"
|
||||||
|
suspicious_command_arg_space = "warn"
|
||||||
|
suspicious_xor_used_as_pow = "warn"
|
||||||
|
todo = "warn"
|
||||||
|
too_long_first_doc_paragraph = "warn"
|
||||||
|
too_many_lines = "warn"
|
||||||
|
trailing_empty_array = "warn"
|
||||||
|
trait_duplication_in_bounds = "warn"
|
||||||
|
transmute_ptr_to_ptr = "warn"
|
||||||
|
tuple_array_conversions = "warn"
|
||||||
|
unchecked_duration_subtraction = "warn"
|
||||||
|
undocumented_unsafe_blocks = "warn"
|
||||||
|
unimplemented = "warn"
|
||||||
|
uninhabited_references = "warn"
|
||||||
|
uninlined_format_args = "warn"
|
||||||
|
unnecessary_box_returns = "warn"
|
||||||
|
unnecessary_debug_formatting = "warn"
|
||||||
|
unnecessary_literal_bound = "warn"
|
||||||
|
unnecessary_safety_comment = "warn"
|
||||||
|
unnecessary_safety_doc = "warn"
|
||||||
|
unnecessary_self_imports = "warn"
|
||||||
|
unnecessary_semicolon = "warn"
|
||||||
|
unnecessary_struct_initialization = "warn"
|
||||||
|
unnecessary_wraps = "warn"
|
||||||
|
unnested_or_patterns = "warn"
|
||||||
|
unused_peekable = "warn"
|
||||||
|
unused_rounding = "warn"
|
||||||
|
unused_self = "warn"
|
||||||
|
unused_trait_names = "warn"
|
||||||
|
unwrap_used = "warn"
|
||||||
|
use_self = "warn"
|
||||||
|
useless_let_if_seq = "warn"
|
||||||
|
useless_transmute = "warn"
|
||||||
|
verbose_file_reads = "warn"
|
||||||
|
wildcard_dependencies = "warn"
|
||||||
|
wildcard_imports = "warn"
|
||||||
|
zero_sized_map_values = "warn"
|
||||||
|
|
||||||
|
manual_range_contains = "allow" # this is better on 'allow'
|
||||||
|
map_unwrap_or = "allow" # this is better on 'allow'
|
||||||
@@ -1,11 +1,6 @@
|
|||||||
use serde::{Deserialize, Serialize};
|
|
||||||
use serde_json::{Value, json};
|
use serde_json::{Value, json};
|
||||||
|
|
||||||
use crate::{
|
use crate::config::ConfigStructField;
|
||||||
ModuleError, Result,
|
|
||||||
config::{ConfigStructField, InterfaceData, InterfaceStruct, Tree, TreeMessage},
|
|
||||||
warn,
|
|
||||||
};
|
|
||||||
|
|
||||||
pub type ConfigStructListKeys = Vec<ConfigStructField>;
|
pub type ConfigStructListKeys = Vec<ConfigStructField>;
|
||||||
pub type ConfigStructListValues = Vec<Vec<Value>>;
|
pub type ConfigStructListValues = Vec<Vec<Value>>;
|
||||||
@@ -50,7 +50,7 @@ impl std::error::Error for ModuleError {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::Display for ModuleError {
|
impl fmt::Display for ModuleError {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
f.write_str(format!("{:?}", self).as_str())
|
f.write_str(format!("{:?}", self).as_str())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -68,7 +68,7 @@ pub fn add_record(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn logger<'a>() -> &'static dyn Logger {
|
pub fn logger() -> &'static dyn Logger {
|
||||||
unsafe { LOGGER }
|
unsafe { LOGGER }
|
||||||
}
|
}
|
||||||
|
|
||||||
+14
-221
@@ -10,12 +10,22 @@ rust-version = "1.88"
|
|||||||
[lib]
|
[lib]
|
||||||
crate-type = ["cdylib"]
|
crate-type = ["cdylib"]
|
||||||
|
|
||||||
# [package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
# all-features = true
|
all-features = true
|
||||||
# targets = ["x86_64-unknown-linux-gnu", "wasm32-unknown-unknown"]
|
targets = [
|
||||||
|
# "x86_64-unknown-linux-gnu",
|
||||||
|
"wasm32-unknown-unknown"
|
||||||
|
]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
unshell-lib = {path="../unshell-lib"}
|
unshell = {path="../"}
|
||||||
|
|
||||||
|
# log = "0.4.27"
|
||||||
|
chrono = { workspace = true }
|
||||||
|
serde = { workspace = true }
|
||||||
|
serde_json = { workspace = true }
|
||||||
|
|
||||||
|
reqwest = {version = "0.12.26", features=["json"]}
|
||||||
|
|
||||||
# Stuff for app functionality
|
# Stuff for app functionality
|
||||||
egui = "0.33.0"
|
egui = "0.33.0"
|
||||||
@@ -30,21 +40,13 @@ eframe = { version = "0.33.0", default-features = false, features = [
|
|||||||
egui_extras = "0.33.2"
|
egui_extras = "0.33.2"
|
||||||
egui_tiles = "0.14.0"
|
egui_tiles = "0.14.0"
|
||||||
egui-async = "0.2.6"
|
egui-async = "0.2.6"
|
||||||
log = "0.4.27"
|
|
||||||
chrono = "0.4.42"
|
|
||||||
|
|
||||||
# You only need serde if you want app persistence:
|
|
||||||
serde = { version = "1.0.219", features = ["derive"] }
|
|
||||||
serde_json = "1.0.145"
|
|
||||||
|
|
||||||
# Web Stuff
|
# Web Stuff
|
||||||
wasm-bindgen-futures = "0.4.50"
|
wasm-bindgen-futures = "0.4.50"
|
||||||
wasm-bindgen = "0.2.106"
|
wasm-bindgen = "0.2.106"
|
||||||
web-sys = {version = "0.3.70", features = ['Headers', 'Request', 'RequestInit', 'RequestMode', 'Response', 'Window']}
|
web-sys = {version = "0.3.70", features = ['Headers', 'Request', 'RequestInit', 'RequestMode', 'Response', 'Window']}
|
||||||
|
|
||||||
reqwest = {version = "0.12.26", features=["json"]}
|
|
||||||
# tokio = {version = "1.48.0", features = ["full"]}
|
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
opt-level = 2 # fast and small wasm
|
opt-level = 2 # fast and small wasm
|
||||||
# lto = true
|
# lto = true
|
||||||
@@ -63,212 +65,3 @@ opt-level = 2
|
|||||||
# If you fork https://github.com/emilk/egui you can test with:
|
# If you fork https://github.com/emilk/egui you can test with:
|
||||||
# egui = { path = "../egui/crates/egui" }
|
# egui = { path = "../egui/crates/egui" }
|
||||||
# eframe = { path = "../egui/crates/eframe" }
|
# eframe = { path = "../egui/crates/eframe" }
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------------------
|
|
||||||
# Lints:
|
|
||||||
|
|
||||||
[lints]
|
|
||||||
workspace = true
|
|
||||||
|
|
||||||
[workspace.lints.rust]
|
|
||||||
unsafe_code = "deny"
|
|
||||||
|
|
||||||
elided_lifetimes_in_paths = "warn"
|
|
||||||
future_incompatible = { level = "warn", priority = -1 }
|
|
||||||
nonstandard_style = { level = "warn", priority = -1 }
|
|
||||||
rust_2018_idioms = { level = "warn", priority = -1 }
|
|
||||||
rust_2021_prelude_collisions = "warn"
|
|
||||||
semicolon_in_expressions_from_macros = "warn"
|
|
||||||
trivial_numeric_casts = "warn"
|
|
||||||
unsafe_op_in_unsafe_fn = "warn" # `unsafe_op_in_unsafe_fn` may become the default in future Rust versions: https://github.com/rust-lang/rust/issues/71668
|
|
||||||
unused_extern_crates = "warn"
|
|
||||||
unused_import_braces = "warn"
|
|
||||||
unused_lifetimes = "warn"
|
|
||||||
|
|
||||||
trivial_casts = "allow"
|
|
||||||
unused_qualifications = "allow"
|
|
||||||
|
|
||||||
|
|
||||||
[workspace.lints.rustdoc]
|
|
||||||
all = "warn"
|
|
||||||
missing_crate_level_docs = "warn"
|
|
||||||
|
|
||||||
|
|
||||||
[workspace.lints.clippy]
|
|
||||||
allow_attributes = "warn"
|
|
||||||
as_ptr_cast_mut = "warn"
|
|
||||||
await_holding_lock = "warn"
|
|
||||||
bool_to_int_with_if = "warn"
|
|
||||||
branches_sharing_code = "warn"
|
|
||||||
char_lit_as_u8 = "warn"
|
|
||||||
checked_conversions = "warn"
|
|
||||||
clear_with_drain = "warn"
|
|
||||||
cloned_instead_of_copied = "warn"
|
|
||||||
dbg_macro = "warn"
|
|
||||||
debug_assert_with_mut_call = "warn"
|
|
||||||
default_union_representation = "warn"
|
|
||||||
derive_partial_eq_without_eq = "warn"
|
|
||||||
disallowed_macros = "warn" # See clippy.toml
|
|
||||||
disallowed_methods = "warn" # See clippy.toml
|
|
||||||
disallowed_names = "warn" # See clippy.toml
|
|
||||||
disallowed_script_idents = "warn" # See clippy.toml
|
|
||||||
disallowed_types = "warn" # See clippy.toml
|
|
||||||
doc_comment_double_space_linebreaks = "warn"
|
|
||||||
doc_link_with_quotes = "warn"
|
|
||||||
doc_markdown = "warn"
|
|
||||||
elidable_lifetime_names = "warn"
|
|
||||||
empty_enum = "warn"
|
|
||||||
empty_enum_variants_with_brackets = "warn"
|
|
||||||
empty_line_after_outer_attr = "warn"
|
|
||||||
enum_glob_use = "warn"
|
|
||||||
equatable_if_let = "warn"
|
|
||||||
exit = "warn"
|
|
||||||
expl_impl_clone_on_copy = "warn"
|
|
||||||
explicit_deref_methods = "warn"
|
|
||||||
explicit_into_iter_loop = "warn"
|
|
||||||
explicit_iter_loop = "warn"
|
|
||||||
fallible_impl_from = "warn"
|
|
||||||
filter_map_next = "warn"
|
|
||||||
flat_map_option = "warn"
|
|
||||||
float_cmp_const = "warn"
|
|
||||||
fn_params_excessive_bools = "warn"
|
|
||||||
fn_to_numeric_cast_any = "warn"
|
|
||||||
from_iter_instead_of_collect = "warn"
|
|
||||||
get_unwrap = "warn"
|
|
||||||
if_let_mutex = "warn"
|
|
||||||
ignore_without_reason = "warn"
|
|
||||||
implicit_clone = "warn"
|
|
||||||
implied_bounds_in_impls = "warn"
|
|
||||||
imprecise_flops = "warn"
|
|
||||||
inconsistent_struct_constructor = "warn"
|
|
||||||
index_refutable_slice = "warn"
|
|
||||||
indexing_slicing = "warn"
|
|
||||||
inefficient_to_string = "warn"
|
|
||||||
infinite_loop = "warn"
|
|
||||||
into_iter_without_iter = "warn"
|
|
||||||
invalid_upcast_comparisons = "warn"
|
|
||||||
iter_filter_is_ok = "warn"
|
|
||||||
iter_filter_is_some = "warn"
|
|
||||||
iter_not_returning_iterator = "warn"
|
|
||||||
iter_on_empty_collections = "warn"
|
|
||||||
iter_on_single_items = "warn"
|
|
||||||
iter_over_hash_type = "warn"
|
|
||||||
iter_without_into_iter = "warn"
|
|
||||||
large_digit_groups = "warn"
|
|
||||||
large_include_file = "warn"
|
|
||||||
large_stack_arrays = "warn"
|
|
||||||
large_stack_frames = "warn"
|
|
||||||
large_types_passed_by_value = "warn"
|
|
||||||
let_underscore_must_use = "warn"
|
|
||||||
let_underscore_untyped = "warn"
|
|
||||||
let_unit_value = "warn"
|
|
||||||
linkedlist = "warn"
|
|
||||||
literal_string_with_formatting_args = "warn"
|
|
||||||
lossy_float_literal = "warn"
|
|
||||||
macro_use_imports = "warn"
|
|
||||||
manual_assert = "warn"
|
|
||||||
manual_clamp = "warn"
|
|
||||||
manual_instant_elapsed = "warn"
|
|
||||||
manual_is_power_of_two = "warn"
|
|
||||||
manual_is_variant_and = "warn"
|
|
||||||
manual_let_else = "warn"
|
|
||||||
manual_midpoint = "warn"
|
|
||||||
manual_ok_or = "warn"
|
|
||||||
manual_string_new = "warn"
|
|
||||||
map_err_ignore = "warn"
|
|
||||||
map_flatten = "warn"
|
|
||||||
match_bool = "warn"
|
|
||||||
match_same_arms = "warn"
|
|
||||||
match_wild_err_arm = "warn"
|
|
||||||
match_wildcard_for_single_variants = "warn"
|
|
||||||
mem_forget = "warn"
|
|
||||||
mismatching_type_param_order = "warn"
|
|
||||||
missing_assert_message = "warn"
|
|
||||||
missing_enforced_import_renames = "warn"
|
|
||||||
missing_errors_doc = "warn"
|
|
||||||
missing_safety_doc = "warn"
|
|
||||||
mixed_attributes_style = "warn"
|
|
||||||
mut_mut = "warn"
|
|
||||||
mutex_integer = "warn"
|
|
||||||
needless_borrow = "warn"
|
|
||||||
needless_continue = "warn"
|
|
||||||
needless_for_each = "warn"
|
|
||||||
needless_pass_by_ref_mut = "warn"
|
|
||||||
needless_pass_by_value = "warn"
|
|
||||||
negative_feature_names = "warn"
|
|
||||||
non_std_lazy_statics = "warn"
|
|
||||||
non_zero_suggestions = "warn"
|
|
||||||
nonstandard_macro_braces = "warn"
|
|
||||||
option_as_ref_cloned = "warn"
|
|
||||||
option_option = "warn"
|
|
||||||
path_buf_push_overwrite = "warn"
|
|
||||||
pathbuf_init_then_push = "warn"
|
|
||||||
precedence_bits = "warn"
|
|
||||||
print_stderr = "warn"
|
|
||||||
print_stdout = "warn"
|
|
||||||
ptr_as_ptr = "warn"
|
|
||||||
ptr_cast_constness = "warn"
|
|
||||||
pub_underscore_fields = "warn"
|
|
||||||
pub_without_shorthand = "warn"
|
|
||||||
rc_mutex = "warn"
|
|
||||||
readonly_write_lock = "warn"
|
|
||||||
redundant_type_annotations = "warn"
|
|
||||||
ref_as_ptr = "warn"
|
|
||||||
ref_option_ref = "warn"
|
|
||||||
ref_patterns = "warn"
|
|
||||||
rest_pat_in_fully_bound_structs = "warn"
|
|
||||||
return_and_then = "warn"
|
|
||||||
same_functions_in_if_condition = "warn"
|
|
||||||
semicolon_if_nothing_returned = "warn"
|
|
||||||
set_contains_or_insert = "warn"
|
|
||||||
should_panic_without_expect = "warn"
|
|
||||||
single_char_pattern = "warn"
|
|
||||||
single_match_else = "warn"
|
|
||||||
single_option_map = "warn"
|
|
||||||
str_split_at_newline = "warn"
|
|
||||||
str_to_string = "warn"
|
|
||||||
string_add = "warn"
|
|
||||||
string_add_assign = "warn"
|
|
||||||
string_lit_as_bytes = "warn"
|
|
||||||
string_lit_chars_any = "warn"
|
|
||||||
string_to_string = "warn"
|
|
||||||
suspicious_command_arg_space = "warn"
|
|
||||||
suspicious_xor_used_as_pow = "warn"
|
|
||||||
todo = "warn"
|
|
||||||
too_long_first_doc_paragraph = "warn"
|
|
||||||
too_many_lines = "warn"
|
|
||||||
trailing_empty_array = "warn"
|
|
||||||
trait_duplication_in_bounds = "warn"
|
|
||||||
transmute_ptr_to_ptr = "warn"
|
|
||||||
tuple_array_conversions = "warn"
|
|
||||||
unchecked_duration_subtraction = "warn"
|
|
||||||
undocumented_unsafe_blocks = "warn"
|
|
||||||
unimplemented = "warn"
|
|
||||||
uninhabited_references = "warn"
|
|
||||||
uninlined_format_args = "warn"
|
|
||||||
unnecessary_box_returns = "warn"
|
|
||||||
unnecessary_debug_formatting = "warn"
|
|
||||||
unnecessary_literal_bound = "warn"
|
|
||||||
unnecessary_safety_comment = "warn"
|
|
||||||
unnecessary_safety_doc = "warn"
|
|
||||||
unnecessary_self_imports = "warn"
|
|
||||||
unnecessary_semicolon = "warn"
|
|
||||||
unnecessary_struct_initialization = "warn"
|
|
||||||
unnecessary_wraps = "warn"
|
|
||||||
unnested_or_patterns = "warn"
|
|
||||||
unused_peekable = "warn"
|
|
||||||
unused_rounding = "warn"
|
|
||||||
unused_self = "warn"
|
|
||||||
unused_trait_names = "warn"
|
|
||||||
unwrap_used = "warn"
|
|
||||||
use_self = "warn"
|
|
||||||
useless_let_if_seq = "warn"
|
|
||||||
useless_transmute = "warn"
|
|
||||||
verbose_file_reads = "warn"
|
|
||||||
wildcard_dependencies = "warn"
|
|
||||||
wildcard_imports = "warn"
|
|
||||||
zero_sized_map_values = "warn"
|
|
||||||
|
|
||||||
manual_range_contains = "allow" # this is better on 'allow'
|
|
||||||
map_unwrap_or = "allow" # this is better on 'allow'
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use serde_json::json;
|
|||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use wasm_bindgen::prelude::Closure;
|
use wasm_bindgen::prelude::Closure;
|
||||||
|
|
||||||
use unshell_lib::Result;
|
use unshell::Result;
|
||||||
|
|
||||||
#[derive(serde::Deserialize, serde::Serialize)]
|
#[derive(serde::Deserialize, serde::Serialize)]
|
||||||
pub struct Auth {
|
pub struct Auth {
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
use egui::{Color32, TextEdit};
|
use egui::{Color32, TextEdit};
|
||||||
use unshell_lib::config::{ConfigStructField, InterfaceData, InterfaceStruct, config_struct};
|
use unshell::config::{ConfigStructField, InterfaceData, InterfaceStruct, config_struct};
|
||||||
|
|
||||||
struct ConfigInterface(Config)
|
use crate::config::Config;
|
||||||
|
|
||||||
|
struct ConfigInterface(Config);
|
||||||
|
|
||||||
pub fn render(
|
pub fn render(
|
||||||
ui: &mut egui::Ui,
|
ui: &mut egui::Ui,
|
||||||
|
|||||||
@@ -5,8 +5,7 @@ use std::{
|
|||||||
sync::{Arc, Mutex},
|
sync::{Arc, Mutex},
|
||||||
};
|
};
|
||||||
|
|
||||||
use log::debug;
|
use unshell::{Result, config::TreeMessage};
|
||||||
use unshell_lib::{Result, config::TreeMessage};
|
|
||||||
|
|
||||||
use crate::auth::Auth;
|
use crate::auth::Auth;
|
||||||
|
|
||||||
@@ -106,7 +105,7 @@ impl InterfaceWindow {
|
|||||||
&format!("/api/interface{}", self.path.display()),
|
&format!("/api/interface{}", self.path.display()),
|
||||||
&TreeMessage::State(interface_data.clone()),
|
&TreeMessage::State(interface_data.clone()),
|
||||||
move |response: Result<TreeMessage>| {
|
move |response: Result<TreeMessage>| {
|
||||||
debug!("{response:?}");
|
// debug!("{response:?}");
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#![warn(clippy::all, rust_2018_idioms)]
|
#![warn(clippy::all, rust_2018_idioms)]
|
||||||
#![macro_use]
|
#![macro_use]
|
||||||
#[allow(unused_extern_crates)]
|
// #[allow(unused_extern_crates)]
|
||||||
extern crate log;
|
// extern crate log;
|
||||||
|
|
||||||
pub mod app;
|
pub mod app;
|
||||||
mod auth;
|
mod auth;
|
||||||
|
|||||||
Generated
-791
@@ -1,791 +0,0 @@
|
|||||||
# This file is automatically @generated by Cargo.
|
|
||||||
# It is not intended for manual editing.
|
|
||||||
version = 4
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "aes"
|
|
||||||
version = "0.8.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-if",
|
|
||||||
"cipher",
|
|
||||||
"cpufeatures",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "aho-corasick"
|
|
||||||
version = "1.1.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
|
|
||||||
dependencies = [
|
|
||||||
"memchr",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "android_system_properties"
|
|
||||||
version = "0.1.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
|
|
||||||
dependencies = [
|
|
||||||
"libc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "autocfg"
|
|
||||||
version = "1.5.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "bitflags"
|
|
||||||
version = "1.3.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "bitflags"
|
|
||||||
version = "2.10.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "block-buffer"
|
|
||||||
version = "0.10.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
|
|
||||||
dependencies = [
|
|
||||||
"generic-array",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "block-padding"
|
|
||||||
version = "0.3.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93"
|
|
||||||
dependencies = [
|
|
||||||
"generic-array",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "block-padding"
|
|
||||||
version = "0.4.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "41d28ed5f5f65056148fd25e1a596b5b6d9e772270abf9a9085d7cbfbf26c563"
|
|
||||||
dependencies = [
|
|
||||||
"hybrid-array",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "bumpalo"
|
|
||||||
version = "3.19.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cbc"
|
|
||||||
version = "0.1.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
|
|
||||||
dependencies = [
|
|
||||||
"cipher",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cc"
|
|
||||||
version = "1.2.50"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9f50d563227a1c37cc0a263f64eca3334388c01c5e4c4861a9def205c614383c"
|
|
||||||
dependencies = [
|
|
||||||
"find-msvc-tools",
|
|
||||||
"shlex",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cfg-if"
|
|
||||||
version = "1.0.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cfg_aliases"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cfg_aliases"
|
|
||||||
version = "0.2.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "chrono"
|
|
||||||
version = "0.4.42"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2"
|
|
||||||
dependencies = [
|
|
||||||
"iana-time-zone",
|
|
||||||
"js-sys",
|
|
||||||
"num-traits",
|
|
||||||
"wasm-bindgen",
|
|
||||||
"windows-link",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cipher"
|
|
||||||
version = "0.4.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
|
|
||||||
dependencies = [
|
|
||||||
"crypto-common",
|
|
||||||
"inout",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "core-foundation-sys"
|
|
||||||
version = "0.8.7"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cpufeatures"
|
|
||||||
version = "0.2.17"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
|
|
||||||
dependencies = [
|
|
||||||
"libc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "crypto-common"
|
|
||||||
version = "0.1.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
|
|
||||||
dependencies = [
|
|
||||||
"generic-array",
|
|
||||||
"typenum",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "digest"
|
|
||||||
version = "0.10.7"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
|
|
||||||
dependencies = [
|
|
||||||
"block-buffer",
|
|
||||||
"crypto-common",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "find-msvc-tools"
|
|
||||||
version = "0.1.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "generic-array"
|
|
||||||
version = "0.14.9"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2"
|
|
||||||
dependencies = [
|
|
||||||
"typenum",
|
|
||||||
"version_check",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "getrandom"
|
|
||||||
version = "0.3.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-if",
|
|
||||||
"libc",
|
|
||||||
"r-efi",
|
|
||||||
"wasip2",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "hex"
|
|
||||||
version = "0.4.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "hex-literal"
|
|
||||||
version = "1.1.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "hybrid-array"
|
|
||||||
version = "0.4.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f471e0a81b2f90ffc0cb2f951ae04da57de8baa46fa99112b062a5173a5088d0"
|
|
||||||
dependencies = [
|
|
||||||
"typenum",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "iana-time-zone"
|
|
||||||
version = "0.1.64"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb"
|
|
||||||
dependencies = [
|
|
||||||
"android_system_properties",
|
|
||||||
"core-foundation-sys",
|
|
||||||
"iana-time-zone-haiku",
|
|
||||||
"js-sys",
|
|
||||||
"log",
|
|
||||||
"wasm-bindgen",
|
|
||||||
"windows-core",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "iana-time-zone-haiku"
|
|
||||||
version = "0.1.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
|
|
||||||
dependencies = [
|
|
||||||
"cc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "inout"
|
|
||||||
version = "0.1.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01"
|
|
||||||
dependencies = [
|
|
||||||
"block-padding 0.3.3",
|
|
||||||
"generic-array",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "itoa"
|
|
||||||
version = "1.0.15"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "js-sys"
|
|
||||||
version = "0.3.83"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8"
|
|
||||||
dependencies = [
|
|
||||||
"once_cell",
|
|
||||||
"wasm-bindgen",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "libc"
|
|
||||||
version = "0.2.177"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "lock_api"
|
|
||||||
version = "0.4.14"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
|
|
||||||
dependencies = [
|
|
||||||
"scopeguard",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "log"
|
|
||||||
version = "0.4.29"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "memchr"
|
|
||||||
version = "2.7.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "num-traits"
|
|
||||||
version = "0.2.19"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
|
||||||
dependencies = [
|
|
||||||
"autocfg",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "once_cell"
|
|
||||||
version = "1.21.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "parking_lot"
|
|
||||||
version = "0.12.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
|
|
||||||
dependencies = [
|
|
||||||
"lock_api",
|
|
||||||
"parking_lot_core",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "parking_lot_core"
|
|
||||||
version = "0.9.12"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-if",
|
|
||||||
"libc",
|
|
||||||
"redox_syscall",
|
|
||||||
"smallvec",
|
|
||||||
"windows-link",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "ppv-lite86"
|
|
||||||
version = "0.2.21"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
|
|
||||||
dependencies = [
|
|
||||||
"zerocopy",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "proc-macro2"
|
|
||||||
version = "1.0.103"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
|
|
||||||
dependencies = [
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "quote"
|
|
||||||
version = "1.0.42"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "r-efi"
|
|
||||||
version = "5.3.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rand"
|
|
||||||
version = "0.9.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
|
|
||||||
dependencies = [
|
|
||||||
"rand_chacha",
|
|
||||||
"rand_core",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rand_chacha"
|
|
||||||
version = "0.9.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
|
|
||||||
dependencies = [
|
|
||||||
"ppv-lite86",
|
|
||||||
"rand_core",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rand_core"
|
|
||||||
version = "0.9.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
|
|
||||||
dependencies = [
|
|
||||||
"getrandom",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "redox_syscall"
|
|
||||||
version = "0.5.18"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags 2.10.0",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "regex"
|
|
||||||
version = "1.12.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4"
|
|
||||||
dependencies = [
|
|
||||||
"aho-corasick",
|
|
||||||
"memchr",
|
|
||||||
"regex-automata",
|
|
||||||
"regex-syntax",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "regex-automata"
|
|
||||||
version = "0.4.13"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c"
|
|
||||||
dependencies = [
|
|
||||||
"aho-corasick",
|
|
||||||
"memchr",
|
|
||||||
"regex-syntax",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "regex-syntax"
|
|
||||||
version = "0.8.8"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rustversion"
|
|
||||||
version = "1.0.22"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "ryu"
|
|
||||||
version = "1.0.21"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "62049b2877bf12821e8f9ad256ee38fdc31db7387ec2d3b3f403024de2034aea"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "scopeguard"
|
|
||||||
version = "1.2.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "serde"
|
|
||||||
version = "1.0.228"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
|
|
||||||
dependencies = [
|
|
||||||
"serde_core",
|
|
||||||
"serde_derive",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "serde_core"
|
|
||||||
version = "1.0.228"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
|
|
||||||
dependencies = [
|
|
||||||
"serde_derive",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "serde_derive"
|
|
||||||
version = "1.0.228"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 2.0.109",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "serde_json"
|
|
||||||
version = "1.0.145"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
|
|
||||||
dependencies = [
|
|
||||||
"itoa",
|
|
||||||
"memchr",
|
|
||||||
"ryu",
|
|
||||||
"serde",
|
|
||||||
"serde_core",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "sha2"
|
|
||||||
version = "0.10.9"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-if",
|
|
||||||
"cpufeatures",
|
|
||||||
"digest",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "shlex"
|
|
||||||
version = "1.3.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "smallvec"
|
|
||||||
version = "1.15.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "static_init"
|
|
||||||
version = "1.0.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8bae1df58c5fea7502e8e352ec26b5579f6178e1fdb311e088580c980dee25ed"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags 1.3.2",
|
|
||||||
"cfg_aliases 0.2.1",
|
|
||||||
"libc",
|
|
||||||
"parking_lot",
|
|
||||||
"parking_lot_core",
|
|
||||||
"static_init_macro",
|
|
||||||
"winapi",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "static_init_macro"
|
|
||||||
version = "1.0.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1389c88ddd739ec6d3f8f83343764a0e944cd23cfbf126a9796a714b0b6edd6f"
|
|
||||||
dependencies = [
|
|
||||||
"cfg_aliases 0.1.1",
|
|
||||||
"memchr",
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 1.0.109",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "syn"
|
|
||||||
version = "1.0.109"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "syn"
|
|
||||||
version = "2.0.109"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "2f17c7e013e88258aa9543dcbe81aca68a667a9ac37cd69c9fbc07858bfe0e2f"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "typenum"
|
|
||||||
version = "1.19.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "unicode-ident"
|
|
||||||
version = "1.0.22"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "unshell-crypt"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"aes",
|
|
||||||
"block-padding 0.4.1",
|
|
||||||
"cbc",
|
|
||||||
"getrandom",
|
|
||||||
"hex",
|
|
||||||
"hex-literal",
|
|
||||||
"regex",
|
|
||||||
"sha2",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "unshell-lib"
|
|
||||||
version = "0.0.0"
|
|
||||||
dependencies = [
|
|
||||||
"chrono",
|
|
||||||
"serde",
|
|
||||||
"serde_json",
|
|
||||||
"unshell-obfuscate",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "unshell-obfuscate"
|
|
||||||
version = "0.0.0"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"rand",
|
|
||||||
"static_init",
|
|
||||||
"syn 2.0.109",
|
|
||||||
"unshell-crypt",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "version_check"
|
|
||||||
version = "0.9.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wasip2"
|
|
||||||
version = "1.0.1+wasi-0.2.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7"
|
|
||||||
dependencies = [
|
|
||||||
"wit-bindgen",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wasm-bindgen"
|
|
||||||
version = "0.2.106"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-if",
|
|
||||||
"once_cell",
|
|
||||||
"rustversion",
|
|
||||||
"wasm-bindgen-macro",
|
|
||||||
"wasm-bindgen-shared",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wasm-bindgen-macro"
|
|
||||||
version = "0.2.106"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3"
|
|
||||||
dependencies = [
|
|
||||||
"quote",
|
|
||||||
"wasm-bindgen-macro-support",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wasm-bindgen-macro-support"
|
|
||||||
version = "0.2.106"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40"
|
|
||||||
dependencies = [
|
|
||||||
"bumpalo",
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 2.0.109",
|
|
||||||
"wasm-bindgen-shared",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wasm-bindgen-shared"
|
|
||||||
version = "0.2.106"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4"
|
|
||||||
dependencies = [
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "winapi"
|
|
||||||
version = "0.3.9"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
|
||||||
dependencies = [
|
|
||||||
"winapi-i686-pc-windows-gnu",
|
|
||||||
"winapi-x86_64-pc-windows-gnu",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "winapi-i686-pc-windows-gnu"
|
|
||||||
version = "0.4.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "winapi-x86_64-pc-windows-gnu"
|
|
||||||
version = "0.4.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-core"
|
|
||||||
version = "0.62.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
|
|
||||||
dependencies = [
|
|
||||||
"windows-implement",
|
|
||||||
"windows-interface",
|
|
||||||
"windows-link",
|
|
||||||
"windows-result",
|
|
||||||
"windows-strings",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-implement"
|
|
||||||
version = "0.60.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 2.0.109",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-interface"
|
|
||||||
version = "0.59.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 2.0.109",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-link"
|
|
||||||
version = "0.2.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-result"
|
|
||||||
version = "0.4.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
|
|
||||||
dependencies = [
|
|
||||||
"windows-link",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-strings"
|
|
||||||
version = "0.5.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
|
|
||||||
dependencies = [
|
|
||||||
"windows-link",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wit-bindgen"
|
|
||||||
version = "0.46.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "zerocopy"
|
|
||||||
version = "0.8.28"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "43fa6694ed34d6e57407afbccdeecfa268c470a7d2a5b0cf49ce9fcc345afb90"
|
|
||||||
dependencies = [
|
|
||||||
"zerocopy-derive",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "zerocopy-derive"
|
|
||||||
version = "0.8.28"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c640b22cd9817fae95be82f0d2f90b11f7605f6c319d16705c459b27ac2cbc26"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 2.0.109",
|
|
||||||
]
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
[package]
|
|
||||||
name = "unshell-lib"
|
|
||||||
edition = "2024"
|
|
||||||
|
|
||||||
[features]
|
|
||||||
default = ["client", "server", "log"]
|
|
||||||
|
|
||||||
# Components
|
|
||||||
client = []
|
|
||||||
server = []
|
|
||||||
|
|
||||||
log = []
|
|
||||||
log_debug = ["log"]
|
|
||||||
obfuscate = ["unshell-obfuscate/obfuscate"]
|
|
||||||
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
# Base dependencies
|
|
||||||
# libloading = {version = "0.8.9"}
|
|
||||||
# bincode = "2.0.1"
|
|
||||||
unshell-obfuscate = {path = "../unshell-obfuscate"}
|
|
||||||
chrono = "0.4.42"
|
|
||||||
|
|
||||||
serde = { version = "1.0.228", features = ["derive"] }
|
|
||||||
serde_json = "1.0.145"
|
|
||||||
|
|
||||||
# libc = "0.2.177"
|
|
||||||
# rand = "0.9.2"
|
|
||||||
# crossbeam-channel = "0.5.15"
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
## unshell-lib
|
|
||||||
Code shared across all modules
|
|
||||||
@@ -3,16 +3,17 @@ name = "unshell-manager"
|
|||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
obfuscate = ["unshell-obfuscate/obfuscate"]
|
log = ["unshell/log"]
|
||||||
log = ["unshell-lib/log"]
|
log_debug = ["log", "unshell/log_debug"]
|
||||||
log_debug = ["unshell-lib/log_debug"]
|
|
||||||
|
|
||||||
client = ["unshell-lib/client"]
|
obfuscate = ["unshell-obfuscate/obfuscate"]
|
||||||
server = ["unshell-lib/server"]
|
|
||||||
|
# client = ["unshell-lib/client"]
|
||||||
|
# server = ["unshell-lib/server"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
unshell-lib = {path = "../unshell-lib", default-features = false}
|
unshell = {path = "../", default-features = false}
|
||||||
unshell-obfuscate = {path = "../unshell-obfuscate", default-features = false}
|
unshell-obfuscate = {path = "../unshell-obfuscate"}
|
||||||
|
|
||||||
bincode = "2.0.1"
|
bincode = "2.0.1"
|
||||||
libc = "0.2.178"
|
libc = "0.2.178"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// use std::collections::HashMap;
|
// use std::collections::HashMap;
|
||||||
use std::fmt::Debug;
|
use std::fmt::Debug;
|
||||||
use unshell_lib::Result;
|
use unshell::Result;
|
||||||
use unshell_lib::config::RuntimeConfig;
|
use unshell::config::RuntimeConfig;
|
||||||
|
|
||||||
use crate::ModuleRuntime;
|
use crate::ModuleRuntime;
|
||||||
|
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ pub use module::Module;
|
|||||||
|
|
||||||
pub use interface::{InterfaceWrapper, NamedComponent, PayloadConfig};
|
pub use interface::{InterfaceWrapper, NamedComponent, PayloadConfig};
|
||||||
|
|
||||||
extern crate unshell_lib;
|
// extern crate unshell_lib;
|
||||||
use unshell_lib::Result;
|
use unshell::Result;
|
||||||
|
|
||||||
/// Trait for defining modules that have a runtime.
|
/// Trait for defining modules that have a runtime.
|
||||||
pub trait ModuleRuntime: Send + Sync {
|
pub trait ModuleRuntime: Send + Sync {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
use crate::Manager;
|
use crate::Manager;
|
||||||
use unshell_lib::Announcement;
|
use unshell::Announcement;
|
||||||
|
|
||||||
impl Manager {
|
impl Manager {
|
||||||
pub fn recv_announcement(&mut self, announcement: &Announcement) {
|
pub fn recv_announcement(&mut self, announcement: &Announcement) {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ use std::{
|
|||||||
time::Duration,
|
time::Duration,
|
||||||
};
|
};
|
||||||
|
|
||||||
use unshell_lib::{Announcement, Result, config::RuntimeConfig, debug, warn};
|
use unshell::{Result, config::RuntimeConfig, debug, warn};
|
||||||
use unshell_obfuscate::symbol;
|
use unshell_obfuscate::symbol;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
use libloading::{Library, Symbol};
|
use libloading::{Library, Symbol};
|
||||||
use unshell_lib::{
|
use unshell::{
|
||||||
ModuleError, Result,
|
ModuleError, Result,
|
||||||
logger::{self, SetupLogger, logger},
|
logger::{self, SetupLogger, logger},
|
||||||
warn,
|
warn,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
use std::{ffi::CString, io};
|
use std::{ffi::CString, io};
|
||||||
|
|
||||||
use libloading::Library;
|
use libloading::Library;
|
||||||
use unshell_lib::{ModuleError, Result, warn};
|
use unshell::{ModuleError, Result, warn};
|
||||||
|
|
||||||
// The `memfd_create` syscall flags (MFD_CLOEXEC is common and good practice)
|
// The `memfd_create` syscall flags (MFD_CLOEXEC is common and good practice)
|
||||||
const MFD_CLOEXEC: u32 = 0x0001;
|
const MFD_CLOEXEC: u32 = 0x0001;
|
||||||
|
|||||||
@@ -2,18 +2,20 @@
|
|||||||
name = "unshell-obfuscate"
|
name = "unshell-obfuscate"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
obfuscate = []
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
proc-macro = true
|
proc-macro = true
|
||||||
|
|
||||||
[features]
|
|
||||||
# default = ["obfuscate"]
|
|
||||||
obfuscate = []
|
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
unshell-crypt = {path = "../unshell-crypt"}
|
unshell-crypt = {path = "../unshell-crypt"}
|
||||||
|
|
||||||
|
# Common
|
||||||
|
static_init = { workspace = true }
|
||||||
|
|
||||||
|
# Specific
|
||||||
quote = "1.0.42"
|
quote = "1.0.42"
|
||||||
syn = {version = "2.0.109", features = ["full"]}
|
syn = {version = "2.0.109", features = ["full"]}
|
||||||
proc-macro2 = "1.0.103"
|
proc-macro2 = "1.0.103"
|
||||||
static_init = "1.0.4"
|
|
||||||
rand = "0.9.2"
|
rand = "0.9.2"
|
||||||
|
|||||||
@@ -4,21 +4,21 @@ cargo-features = ["trim-paths"]
|
|||||||
name = "unshell-payload"
|
name = "unshell-payload"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[features]
|
# [features]
|
||||||
obfuscate = ["unshell-obfuscate/obfuscate"]
|
# obfuscate = ["unshell-obfuscate/obfuscate"]
|
||||||
log = ["unshell-lib/log"]
|
# log = ["unshell-lib/log"]
|
||||||
log_debug = ["unshell-lib/log_debug"]
|
# log_debug = ["unshell-lib/log_debug"]
|
||||||
|
|
||||||
client = ["unshell-lib/client"]
|
# client = ["unshell-lib/client"]
|
||||||
server = ["unshell-lib/server"]
|
|
||||||
# server = ["unshell-lib/server"]
|
# server = ["unshell-lib/server"]
|
||||||
|
# # server = ["unshell-lib/server"]
|
||||||
|
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
# lazy_static = "1.5.0"
|
# lazy_static = "1.5.0"
|
||||||
static_init = "1.0.4"
|
static_init = "1.0.4"
|
||||||
|
|
||||||
unshell-lib = {path = "../unshell-lib", default-features = false}
|
# unshell-lib = {path = "../unshell-lib", default-features = false}
|
||||||
unshell-obfuscate = {path = "../unshell-obfuscate"}
|
unshell-obfuscate = {path = "../unshell-obfuscate"}
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
|
|||||||
+26
-10
@@ -4,27 +4,43 @@ name = "unshell-server"
|
|||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default=["log_debug"]
|
default = []
|
||||||
log_debug = ["unshell-lib/log_debug", "unshell-manager/log_debug"]
|
log = ["unshell/log", "unshell-manager/log"]
|
||||||
|
log_debug = ["log", "unshell/log_debug", "unshell-manager/log_debug"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
unshell-lib = {path = "../unshell-lib", default-featues = false}
|
unshell = {path = "../", default-featues = false}
|
||||||
unshell-obfuscate = {path = "../unshell-obfuscate", default-featues = false}
|
unshell-obfuscate = {path = "../unshell-obfuscate", default-featues = false}
|
||||||
unshell-manager = {path = "../unshell-manager", default-featues = false}
|
unshell-manager = {path = "../unshell-manager", default-featues = false}
|
||||||
|
|
||||||
|
chrono = { workspace = true }
|
||||||
|
toml = { workspace = true }
|
||||||
|
static_init = { workspace = true }
|
||||||
|
serde = { workspace = true }
|
||||||
|
serde_json = { workspace = true }
|
||||||
|
|
||||||
|
sled = "0.34.7"
|
||||||
|
|
||||||
clap = {version = "4.5.53", features = ["derive"]}
|
clap = {version = "4.5.53", features = ["derive"]}
|
||||||
axum = "0.8.7"
|
axum = "0.8.7"
|
||||||
axum-extra = {version="0.12.2", features = ["typed-header"]}
|
axum-extra = {version="0.12.2", features = ["typed-header"]}
|
||||||
tokio = {version="1.48.0", features = ["full"] }
|
tokio = {version="1.48.0", features = ["full"] }
|
||||||
|
|
||||||
serde = {version = "1.0.228", features = ["derive"]}
|
|
||||||
serde_json = "1.0.145"
|
|
||||||
chrono = "0.4.42"
|
|
||||||
static_init = "1.0.4"
|
|
||||||
toml = "0.9.9"
|
|
||||||
|
|
||||||
jsonwebtoken = {version = "10.2.0", features = ["aws_lc_rs"]}
|
jsonwebtoken = {version = "10.2.0", features = ["aws_lc_rs"]}
|
||||||
bcrypt = "0.17.1"
|
bcrypt = "0.17.1"
|
||||||
|
|
||||||
sled = "0.34.7"
|
# clap = {version = "4.5.53", features = ["derive"]}
|
||||||
|
# axum = "0.8.7"
|
||||||
|
# axum-extra = {version="0.12.2", features = ["typed-header"]}
|
||||||
|
# tokio = {version="1.48.0", features = ["full"] }
|
||||||
|
|
||||||
|
# serde = {version = "1.0.228", features = ["derive"]}
|
||||||
|
# serde_json = "1.0.145"
|
||||||
|
# chrono = "0.4.42"
|
||||||
|
# static_init = "1.0.4"
|
||||||
|
# toml = "0.9.9"
|
||||||
|
|
||||||
|
# jsonwebtoken = {version = "10.2.0", features = ["aws_lc_rs"]}
|
||||||
|
# bcrypt = "0.17.1"
|
||||||
|
|
||||||
|
# sled = "0.34.7"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ use axum::{
|
|||||||
routing::{get, post},
|
routing::{get, post},
|
||||||
};
|
};
|
||||||
use tokio::net::TcpListener;
|
use tokio::net::TcpListener;
|
||||||
use unshell_lib::{debug, info};
|
use unshell::{debug, info};
|
||||||
|
|
||||||
// axum_extra::
|
// axum_extra::
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ use bcrypt::{DEFAULT_COST, hash, verify};
|
|||||||
use chrono::Utc;
|
use chrono::Utc;
|
||||||
use jsonwebtoken::{Header, TokenData, Validation, decode, encode};
|
use jsonwebtoken::{Header, TokenData, Validation, decode, encode};
|
||||||
use serde_json::{Value, json};
|
use serde_json::{Value, json};
|
||||||
use unshell_lib::{debug, info};
|
use unshell::{debug, info};
|
||||||
|
|
||||||
use crate::{EXPIRE_DURATION, JWT_DECODING_KEY, JWT_ENCODING_KEY};
|
use crate::{EXPIRE_DURATION, JWT_DECODING_KEY, JWT_ENCODING_KEY};
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
||||||
use unshell_lib::config::ConfigStructField;
|
use unshell::config::ConfigStructField;
|
||||||
|
|
||||||
// use crate::config::ConfigStructField;
|
// use crate::config::ConfigStructField;
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use std::{
|
|||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
};
|
};
|
||||||
|
|
||||||
use unshell_lib::{ModuleError, Result, debug, info};
|
use unshell::{ModuleError, Result, debug, info};
|
||||||
|
|
||||||
#[derive(Debug, Clone, serde::Deserialize, serde::Serialize)]
|
#[derive(Debug, Clone, serde::Deserialize, serde::Serialize)]
|
||||||
struct ComponentMetadata {
|
struct ComponentMetadata {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use chrono::Local;
|
|||||||
use std::fs::{self, File, OpenOptions};
|
use std::fs::{self, File, OpenOptions};
|
||||||
use std::io::{BufRead, BufReader, Write};
|
use std::io::{BufRead, BufReader, Write};
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
use unshell_lib::debug;
|
use unshell::debug;
|
||||||
|
|
||||||
use crate::Server;
|
use crate::Server;
|
||||||
use crate::auth::structs::CurrentUser;
|
use crate::auth::structs::CurrentUser;
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ pub struct Args {
|
|||||||
async fn main() -> Result<(), Box<dyn Error>> {
|
async fn main() -> Result<(), Box<dyn Error>> {
|
||||||
let args = Args::parse();
|
let args = Args::parse();
|
||||||
|
|
||||||
unshell_lib::logger::PrettyLogger::init_output(|message| {
|
unshell::logger::PrettyLogger::init_output(|message| {
|
||||||
if let Ok(json) = serde_json::to_string(message) {
|
if let Ok(json) = serde_json::to_string(message) {
|
||||||
unshell_server::logger::Logger::log(json);
|
unshell_server::logger::Logger::log(json);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use axum::{
|
|||||||
};
|
};
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
use sled::Tree;
|
use sled::Tree;
|
||||||
use unshell_lib::{debug, error};
|
use unshell::{debug, error};
|
||||||
|
|
||||||
use crate::{auth::structs::CurrentUser, server::Server};
|
use crate::{auth::structs::CurrentUser, server::Server};
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ use std::{
|
|||||||
sync::{Arc, Mutex},
|
sync::{Arc, Mutex},
|
||||||
};
|
};
|
||||||
|
|
||||||
use unshell_lib::{
|
use unshell::{
|
||||||
ModuleError, Result,
|
ModuleError, Result,
|
||||||
config::{ConfigStructField, Tree, TreeMessage, config_struct::Config},
|
config::{ConfigStructField, Tree, TreeMessage, config_struct::Config},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use axum::{
|
|||||||
};
|
};
|
||||||
|
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
use unshell_lib::{
|
use unshell::{
|
||||||
ModuleError,
|
ModuleError,
|
||||||
config::{Tree, TreeMessage},
|
config::{Tree, TreeMessage},
|
||||||
debug,
|
debug,
|
||||||
|
|||||||
Reference in New Issue
Block a user