Rymtech.net encrypted decentralised computer
Rymtech.net
Rymnet is an encrypted decentralised computer
Rymtech.net / wiki / rymsh-guide

rymsh Guide

The interactive shell: file commands, the lynx-style browser, accounts, email, and the file manager.

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.

Email

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.