diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-10-14 22:20:15 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-10-14 22:20:15 +0200 |
| commit | 422647e7898b8df67cd11f8fb060aec23dec84aa (patch) | |
| tree | 7ecca0e8df1bc8a7d26cf4b471bd44906dd9cfd1 /docs/PACKAGING-GUIDE.md | |
| parent | 28c88908b88c58cba4de08710f6bb268ede02d57 (diff) | |
| download | meshbay-422647e7898b8df67cd11f8fb060aec23dec84aa.tar.gz | |
feat(cli): meshbay-cli, a command-line client for members
Signs in to the hub, lists the account's groups and their folders, and
downloads and uploads files directly with each group's node, end-to-end
encrypted. With no argument it opens a two-pane interactive mode (Textual).
Session and device keys are kept encrypted under the system's key storage,
or a 0600 key file where there is none; node keys are pinned at first
contact; a new machine links as a device.
Packaged on its own on Linux (deb and rpm, on meshbay-common's venv, with a
man page generated from the parser) and frozen next to meshbay-node in the
full Windows installer, not the light one, with a self-test the build runs.
client/keys.py ports keyderive.js and is LGPL like it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/PACKAGING-GUIDE.md')
| -rw-r--r-- | docs/PACKAGING-GUIDE.md | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/docs/PACKAGING-GUIDE.md b/docs/PACKAGING-GUIDE.md index 5fbf7a7..e79fcd6 100644 --- a/docs/PACKAGING-GUIDE.md +++ b/docs/PACKAGING-GUIDE.md @@ -1,16 +1,19 @@ # MeshBay — Installation Guide -Four packages, all installed under `/opt/`: +Five packages, all installed under `/opt/`: | Package | What it does | |---|---| | `meshbay-common` | Shared Python venv with all dependencies | | `meshbay-hub` | Identity authority and group registry (server) | | `meshbay-node` | Local file host, streaming, chat daemon | +| `meshbay-cli` | Command-line client: your groups' files from a terminal (`man meshbay-cli`) | | `meshbay-client` | Desktop app (Electron) | Pick what you need: a desktop user installs **common + node + client**. -A server running the hub installs **common + hub**. +A server running the hub installs **common + hub**. **common + cli** gives a +machine — a server, one with no desktop — a member's access to their groups' +files from a terminal. --- @@ -23,6 +26,7 @@ sudo dpkg -i meshbay-common_0.9.0_amd64.deb sudo dpkg -i meshbay-node_0.9.0_amd64.deb # desktop machine sudo dpkg -i meshbay-hub_0.9.0_amd64.deb # server only sudo dpkg -i meshbay-client_0.9.0_amd64.deb # desktop machine +sudo dpkg -i meshbay-cli_0.9.0_amd64.deb # optional: the command-line client ``` If dpkg complains about missing dependencies: @@ -34,7 +38,7 @@ sudo apt-get install -f ### Uninstall ```bash -sudo dpkg --remove meshbay-client meshbay-hub meshbay-node meshbay-common +sudo dpkg --remove meshbay-client meshbay-cli meshbay-hub meshbay-node meshbay-common sudo rm -rf /opt/meshbay-* ``` @@ -49,12 +53,13 @@ sudo rpm -ivh meshbay-common-0.9.0-1.fc44.x86_64.rpm sudo rpm -ivh meshbay-node-0.9.0-1.fc44.noarch.rpm # desktop machine sudo rpm -ivh meshbay-hub-0.9.0-1.fc44.noarch.rpm # server only sudo rpm -ivh meshbay-client-0.9.0-1.fc44.x86_64.rpm # desktop machine +sudo rpm -ivh meshbay-cli-0.9.0-1.fc44.x86_64.rpm # optional: the command-line client ``` ### Uninstall ```bash -sudo rpm -e meshbay-client meshbay-hub meshbay-node meshbay-common +sudo rpm -e meshbay-client meshbay-cli meshbay-hub meshbay-node meshbay-common ``` --- @@ -69,7 +74,9 @@ node (with `meshbay-common` inside it). There is no Windows hub. Run the installer. It is **per-user** and lands in `%LOCALAPPDATA%\Programs\MeshBay\` without needing admin rights. The node daemon ships beside the app at `resources\node-runtime\meshbay-node.exe`; -the client finds it automatically. +the client finds it automatically. The command-line client, `meshbay-cli.exe`, +is beside it, and works in any new terminal (the light installer does not +carry it). It asks one thing — **when the node runs**: |