Sync a folder to Swarm and pull it back
anywhere. push uploads a folder and points a feed at it, so the
printed handle is a stable address that always resolves to your latest
push — a tiny content-addressed drive.
Built entirely on the scout
library (swarm-scout).
Published on crates.io as
swarm-stash; the binary isstash.
cargo install swarm-stash # provides the `stash` commandstash keygen # make a drive identity (save the key)
stash push <folder> --key <hex> -t <topic> --stamp <batch> # -> a stash handle
stash ls <handle> # list files
stash pull <handle> <out-dir> # restore the folder- Push uploads every file, records a
path → referenceindex (index.json), and points a feed (--keyowner +--topic) at it. Re-pushing under the same key+topic updates what the same handle serves. - Pull / ls read from
--gateway/$BEE_GATEWAY— no node needed. - Uploads go to
--node/$BEE_NODE(defaults to--gateway) and need--stamp/$BEE_STAMP(a usable postage batch).$STASH_KEYcan hold the feed key.
A stash is just three scout primitives composed: each file is uploaded
(/bytes), a JSON index maps paths to those references, and a feed makes
the index mutable behind one stable handle. Nothing stash-specific lives
on Swarm — you could read the index and files with scout directly.
push / pull / ls / keygen, verified end-to-end against a live Bee
node (2.7.2), including the mutable-handle round-trip.
MIT
📖 Part of the scout toolkit (scout · stash · perch · keep).