32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
|
|
# 08 — Files Browser (E2EE filesystem RPC)
|
|||
|
|
|
|||
|
|
Two-process demo of `@shade/files`: Alice (CLI) talks to Bob (file server) over
|
|||
|
|
Double Ratchet–encrypted RPC. Bob's filesystem is rooted at `./files-root/`.
|
|||
|
|
|
|||
|
|
## Run
|
|||
|
|
|
|||
|
|
```sh
|
|||
|
|
# Terminal 1 — prekey server
|
|||
|
|
bun run examples/08-files-browser/prekey-server.ts
|
|||
|
|
|
|||
|
|
# Terminal 2 — Bob's file server
|
|||
|
|
bun run examples/08-files-browser/bob-server.ts
|
|||
|
|
|
|||
|
|
# Terminal 3 — Alice issues commands
|
|||
|
|
bun run examples/08-files-browser/alice-cli.ts mkdir /docs
|
|||
|
|
bun run examples/08-files-browser/alice-cli.ts upload ./README.md /docs/readme.md
|
|||
|
|
bun run examples/08-files-browser/alice-cli.ts list /docs
|
|||
|
|
bun run examples/08-files-browser/alice-cli.ts stat /docs/readme.md
|
|||
|
|
bun run examples/08-files-browser/alice-cli.ts download /docs/readme.md /tmp/out.md
|
|||
|
|
bun run examples/08-files-browser/alice-cli.ts delete /docs/readme.md
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## What it shows
|
|||
|
|
|
|||
|
|
* Standard ops: `list`, `stat`, `mkdir`, `delete`, `move`.
|
|||
|
|
* Content I/O: `read`/`write` with automatic inline (≤ 256 KiB) /
|
|||
|
|
streams (> 256 KiB) routing — handled transparently by the SDK.
|
|||
|
|
* sha256 paritet: streaming downloads return the verified hash.
|
|||
|
|
* Two ratchets, end-to-end encrypted. No content ever leaves either
|
|||
|
|
process unencrypted.
|