Commit Graph

36 Commits

Author SHA1 Message Date
Michael Mikovsky 129720145a Add packet. 2026-05-16 14:14:00 -06:00
Michael Mikovsky 56abb5e1e0 Big rewrite. 2026-05-16 13:10:51 -06:00
Michael Mikovsky a61c0ce72d Add runtime API redesign scaffold 2026-05-09 12:45:14 -06:00
Michael Mikovsky 71b311065d Add crossbeam channel router leaf example 2026-04-29 22:14:04 -06:00
Michael Mikovsky 990be30232 unshell-macros is now a workspace dependency 2026-04-26 13:02:53 -06:00
Michael Mikovsky 4f8835bd25 Fix examples for renamed leaf endpoint surface
Update the remote shell examples to use unshell::leaves and the leaf_endpoint feature-gated endpoint module, and restore the local macro aliasing needed after removing the direct unshell dependency from unshell-leaves.
2026-04-26 12:57:56 -06:00
Michael Mikovsky d4100d0604 Split protocol and leaf surfaces into crates
Move the protocol runtime into unshell-protocol and remote shell leaf code into unshell-leaves so endpoint and TUI roles can compile independently without circular dependencies.
2026-04-26 12:39:06 -06:00
Michael Mikovsky 2b753685ca Document examples and add local remote shell endpoint demo 2026-04-26 11:25:46 -06:00
Michael Mikovsky 17be0f9daa Improve protocol documentation and runtime structure 2026-04-26 01:53:37 -06:00
Michael Mikovsky 7bea3e2b6b Add procedure-scoped stateful leaves 2026-04-25 17:42:39 -06:00
Michael Mikovsky 5e9b49a4d9 Split remote shell leaf module 2026-04-25 16:27:10 -06:00
Michael Mikovsky 396c707662 Reorganize protocol examples 2026-04-25 14:46:59 -06:00
Michael Mikovsky b1ebe34ec1 Add derive-based protocol leaf declarations 2026-04-25 14:41:00 -06:00
Michael Mikovsky 3e764610eb Formatting changes. 2026-04-25 13:43:19 -06:00
Michael Mikovsky 792eb28457 Add back minimize profile 2026-04-25 11:36:10 -06:00
Michael Mikovsky 2b633ce019 add treetest protocol simulator and ui 2026-04-24 16:19:42 -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 d0ca53f5c7 Working network test 2026-04-22 13:12:25 -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 f3a59f5082 Convert to no_std, add request type 2026-03-17 16:40:05 -06:00
Michael Mikovsky 07e3f83bcf Put logging time behind log_debug 2026-03-04 10:00:06 -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 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