Michael Mikovsky
ba3f28a78c
Improve Rust code clarity across the workspace
...
Document public APIs and non-obvious control flow so the protocol, simulator, and macro crates are easier to follow. Tighten a few helper paths and feature gates while preserving behavior and keeping the workspace warning-free.
2026-04-25 11:11:19 -06:00
Michael Mikovsky
c1a7a19c58
Update builders.rs
2026-04-24 17:45:04 -06:00
Michael Mikovsky
2b633ce019
add treetest protocol simulator and ui
2026-04-24 16:19:42 -06:00
Michael Mikovsky
555663bd3d
refactor: split logger into focused modules
2026-04-24 14:32:59 -06:00
Michael Mikovsky
11674bae8f
Add newlines and reformat for better code quality
2026-04-24 14:27:55 -06:00
Michael Mikovsky
fc8638d014
refactor: split protocol endpoint into focused modules
2026-04-24 14:25:35 -06:00
Michael Mikovsky
71afc49ac9
fix: remove panics from handle_introspection
2026-04-24 14:15:40 -06:00
Michael Mikovsky
3f1116c26a
Improve protocol implementation.
2026-04-24 14:10:03 -06:00
Michael Mikovsky
49901b6370
Reorganize protocol.
2026-04-24 13:37:30 -06:00
Michael Mikovsky
dcf0fe230b
Work on implementing the protocol.
2026-04-24 12:32:24 -06:00
Michael Mikovsky
fcb3b2be17
feat: complete protocol spec and initial implementation
...
- Write PROTOCOL.md with full wire format spec and 8 real-world scenario
analyses (reconnect, multi-operator, large files, AV evasion, router crash,
malformed packets, future pivoting)
- Rewrite workspace structure:
- unshell lib: protocol types (PacketHeader, TreeRequest/Response,
HandshakeMessage/Ack), Transport trait, TcpTransport, Tree routing
- ush-router: router binary with per-node threads, NodeRegistry with
longest-prefix path matching, packet relay
- ush-payload: implant binary with reconnect loop, module tree, InfoModule
- ush-cli: operator REPL with rustyline, session management, command parser
- Protocol design: two-part rkyv frame [header][payload]; router reads only
header for routing, payload bytes forwarded opaque
- All code documented with doc comments and examples
- Zero warnings, zero errors across entire workspace
- 32 tests pass (unit tests for tree routing, TCP transport, framing,
command parsing, node registry)
2026-04-20 23:38:02 -06:00
Michael Mikovsky
959ea469a8
Fix bug in proc_impl_switcher.rs
2026-04-20 23:14:07 -06:00
Michael Mikovsky
512823585f
Fix core dump bug in tree path search
2026-03-18 12:01:21 -06:00
Michael Mikovsky
95d335a271
Add tree type
2026-03-17 17:29:36 -06:00
Michael Mikovsky
f3a59f5082
Convert to no_std, add request type
2026-03-17 16:40:05 -06:00
Michael Mikovsky
3a5605bc0d
Remove error type
2026-03-17 15:15:37 -06:00
Michael Mikovsky
2c3962fa99
Remove warnings from unused colors.
2026-03-04 12:22:23 -07:00
Michael Mikovsky
07e3f83bcf
Put logging time behind log_debug
2026-03-04 10:00:06 -07:00
Michael Mikovsky
76eb533911
Fix error in pretty logger.
2026-03-04 09:30:27 -07:00
Michael Mikovsky
55d2deef1c
Add init checking to PrettyLogger
2026-02-20 15:55:21 -07:00
Michael Mikovsky
5a60f3f503
Obfuscation macros are now defined more easily
2026-02-20 15:47:58 -07:00
Michael Mikovsky
6c6625e9ad
Make the log macro's definition more consise
2026-02-20 14:34:32 -07:00
Michael Mikovsky
219c7254fb
Remove old code
2026-02-20 14:13:41 -07:00
Michael Mikovsky
2a18639d84
Rename things to ush for brevity. Add Tree system.
2026-02-09 10:27:15 -07:00
Michael Mikovsky
d089c2a8aa
Work on new tree system
2026-02-08 12:02:50 -07:00
Michael Mikovsky
fc625e89d2
Start reworking the manager system
2026-02-04 22:19:16 -07:00
Michael Mikovsky
82d8e1ba10
Work on custom binaries
2026-01-30 14:05:07 -07:00
Michael Mikovsky
a4411d378f
Fix unshell_obfuscate error. remove default encryption key error when there isn't any encryption
2026-01-27 15:37:19 -07:00
Michael Mikovsky
2edb4f3187
Clean up some package stuff
2026-01-27 15:12:20 -07:00
Michael Mikovsky
2aa61e80eb
Make unshell-obfuscate into a re-export
2026-01-26 09:47:40 -07:00
Michael Mikovsky
5d6d746985
Move everything into workspace
2026-01-26 09:13:46 -07:00