What rymsh is
rymsh is an interactive shell onto a personal, sandboxed “virtual computer.” It does not require rymnetd to be running — browsing, search, accounts, and mail all talk directly to whichever peers are in your peers.toml if there is no local daemon. A local gateway is only ever a shortcut when one happens to be running.
rymsh rymsh --data-dir /tmp/rymnet-node-a
File commands
Sandboxed to your own virtual computer — there is no way to cd .. out of it onto the real filesystem.
ls [path] pwd mkdir <dir> cd <path> touch <file> rm [-r] <path> cp <src> <dst> mv <src> <dst> cat <file> nano <file> clear
nano <file> opens a small full-screen editor (arrow keys to move, Ctrl+S to save, Ctrl+X to exit).
Browsing (a small lynx-style browser)
Rymnet sites are plain HTML/CSS, so rymsh ships a minimal text browser instead of needing a real one:
lynx yourname.rym lynx yourname.rym/about.html
It resolves pages directly over the peer protocol when no local gateway is running, with the same signature and content-hash verification the gateway itself performs, then lists numbered links you can follow. Typing free text with no .rym in it searches the network instead of navigating.
search.rym
A permanent, reserved domain every gateway serves built in — not owned or publishable by anyone. Works with or without a local daemon:
search rust programming lynx search.rym
Accounts: one username+password, synced everywhere
Your identity and a symmetric encryption key are both derived from your username and password with Argon2id, so logging in with the same pair on any machine regenerates the same keys. Every file is encrypted before it leaves your machine — peers that store your data only ever see ciphertext.
login <username> <password> derive your identity, pull your files logout push local changes, end the session sync | push push local changes now pull pull the latest version now whoami show the logged-in account df show storage quota usage
Usernames are claimed first-come, verified the same way .rym domains are. Requires at least one configured peer (rym peer add/rym peer connect) — no local daemon needed.
Publishing from inside rymsh
mkdir mysite cd mysite nano index.html publish demo.rym
publish <domain> chains the whole rym domain claim / site create / site upload / site publish pipeline against the current directory in one step. It uses your machine's node identity, independent of whichever rymsh account you happen to be logged into.
File manager (mc)
A two-pane Midnight-Commander-style file manager, and the only supported way to move real local files into your encrypted rymnet account:
mc (or: files)
Left pane is your real local filesystem; right pane is your sandboxed virtual computer. Tab switches panes, c/F5 copies, m/F7 makes a folder, d/F8 deletes, e/F4 edits, q/F10 quits. Copying a file in only updates your local decrypted working copy — run sync afterward to push it to peers.
No SMTP, no mail server, no central directory. Your account password also derives an X25519 keypair; its public half is published alongside your username claim, so anyone can seal a message for you without ever knowing your password.
emailto <username> compose and send (prompts for subject/body) email check your inbox
Everything else
A small embedded Python interpreter (python), RymScript program support (run <name>), and a graphical desktop (window / gui) are also built in — see the RymScript & Desktop page.