Michael Mikovsky
bc22d349bf
Add compile-time leaf declarations
...
Introduce a function-like leaf declaration macro, bind endpoint and TUI hosts to shared generated metadata, and move remote shell endpoint construction out of the leaf module into the examples and runtime assembly code.
2026-04-26 13:54:44 -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
7bea3e2b6b
Add procedure-scoped stateful leaves
2026-04-25 17:42:39 -06:00
Michael Mikovsky
7e266e2a38
Add stateful call leaf runtime
2026-04-25 15:35:08 -06:00
Michael Mikovsky
b1ebe34ec1
Add derive-based protocol leaf declarations
2026-04-25 14:41:00 -06:00
Michael Mikovsky
62b22be39f
Simplify hook runtime state
...
Remove the unused pending-hook layer and dead protocol trait wrappers, and resolve active hooks through a direct active-only flow with peer-side indexing instead of scan-based recovery.
2026-04-25 11:57:37 -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
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
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
fc625e89d2
Start reworking the manager system
2026-02-04 22:19:16 -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