From 422647e7898b8df67cd11f8fb060aec23dec84aa Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Wed, 14 Oct 2026 22:20:15 +0200 Subject: 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 --- docs/PACKAGING-GUIDE.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'docs/PACKAGING-GUIDE.md') 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**: -- cgit v1.2.3