Commit Graph

144 Commits

Author SHA1 Message Date
Michael Mikovsky 6c91b40441 Add revision 2026-04-23 06:36:39 -06:00
Michael Mikovsky 717f5332e8 Update PROTOCOL.md 2026-04-22 21:39:08 -06:00
Michael Mikovsky d0ca53f5c7 Working network test 2026-04-22 13:12:25 -06:00
Michael Mikovsky cd301dea67 Add documentation to treetest 2026-04-22 10:25:03 -06:00
Michael Mikovsky 1af134104e Add TreeTest 2026-04-22 10:03: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 3fdabf96ff chore: add gstack skill routing rules to CLAUDE.md 2026-04-20 22:48:51 -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 4b949f6b7e Merge pull request #1 from Astatin3/rewrite
Code cleanup
2026-03-05 10:42:02 -07: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 fd71e6930f Add symbolic refs for fn names 2026-02-20 19:23:36 -07:00
Michael Mikovsky 689c4ac714 Add refrerence symbolic strings 2026-02-20 18:17:11 -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 ba1772e512 Make base62 project independent, more concise macro definitions. 2026-02-20 14:54:12 -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 ebeaa29d5b Remove unshell_crypt, and change some of the naming to make it more accurate 2026-02-08 12:56:52 -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 b2fe85a698 Get the GUI to build again 2026-01-30 11:01:21 -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
Michael Mikovsky b619fb7a71 Work on interface 2025-12-28 11:38:07 -07:00
Michael Mikovsky ce9776dae7 Work on tree 2025-12-23 23:09:05 -07:00
Michael Mikovsky 1d7845e725 Fix latency issue 2025-12-21 17:58:04 -07:00
Michael Mikovsky 78fda07ab2 Configurable Struct 2025-12-21 12:04:53 -07:00
Michael Mikovsky c7d66c5560 Start to make dynamic interfaces work 2025-12-21 00:35:28 -07:00
Michael Mikovsky 1ea26641d6 Move manager into it's own project 2025-12-20 22:39:56 -07:00
Michael Mikovsky 338eb93bfc Restructure some of the folder structure in unshell-server 2025-12-20 18:19:08 -07:00
Michael Mikovsky c8cfa685ec Mess with build parameters to make component binary smaller 2025-12-20 14:08:17 -07:00
Michael Mikovsky 514dd5c87b Move server component out of unshell-lib 2025-12-20 12:25:35 -07:00
Michael Mikovsky 0dcd841cc5 Add trait for tree object 2025-12-17 17:43:08 -07:00
Michael Mikovsky 2dc736b02e Add tree thing 2025-12-17 16:40:34 -07:00
Michael Mikovsky 6e73cb8a8e Move modules to individual projects. Change API syntax. 2025-12-17 13:17:58 -07:00
Michael Mikovsky 41c47048be Implement clap parsing for unshell metadata 2025-12-17 10:38:37 -07:00
Michael Mikovsky f8acdfb2dd Add TOML parsing 2025-12-17 10:20:50 -07:00
Michael Mikovsky 3ba5577b87 Work on customizable config tool 2025-12-16 22:23:54 -07:00
Michael Mikovsky 6c2854b588 Improve log viewer 2025-12-16 17:12:00 -07:00
Michael Mikovsky 3691dc18f1 Improve some of the obfuscation 2025-12-14 13:08:36 -07:00