summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGab Virebent <gabriel1@virebent.art>2026-07-12 20:09:51 +0200
committerGab Virebent <gabriel1@virebent.art>2026-07-12 20:09:51 +0200
commit263dfd5f237908f951567775bde3e7cd2dde27d0 (patch)
treec882cd6515df60ce3cbffdf825c513de0e0ec5cc
parent41d3abd30cb30be8a8e95c8396da5bb84ab72881 (diff)
downloadnymdrop-263dfd5f237908f951567775bde3e7cd2dde27d0.tar.gz
nymdrop-263dfd5f237908f951567775bde3e7cd2dde27d0.tar.xz
nymdrop-263dfd5f237908f951567775bde3e7cd2dde27d0.zip
Document reader --gui/--data-dir modes and current platform support
Clarify that only the submission web form is truly cross-platform today; nymdrop and nymdrop-reader are Linux/amd64 only because upstream nym-client ships no Windows or macOS binary. Point to the linux/amd64 release build.
-rw-r--r--README.md28
1 files changed, 26 insertions, 2 deletions
diff --git a/README.md b/README.md
index cc517ae..ce246a7 100644
--- a/README.md
+++ b/README.md
@@ -27,7 +27,7 @@ breakdown.
| Binary | Role |
|---|---|
| `nymdrop` | Public-facing HTTP server + blind relay. Embeds a `nym-client`, accepts encrypted submissions on `POST /submit`, forwards them through the mixnet to the reader's Nym address. |
-| `nymdrop-reader` | Operator-side inbox. Runs a `nym-client`, receives messages from the mixnet, decrypts them with the operator's X25519 private key, and writes submissions to disk. |
+| `nymdrop-reader` | Operator-side inbox. Runs a `nym-client`, receives messages from the mixnet, decrypts them with the operator's X25519 private key, and writes submissions to disk. Headless/CLI by default; `--gui` launches a graphical inbox instead. `--data-dir` makes a run fully self-contained (key, inbox, and the embedded nym-client's own state all live under that directory) for portable, no-install-trace use, e.g. from a USB stick. |
| `nymdrop-source` | Optional SOCKS5-based source helper. |
## Build
@@ -48,6 +48,13 @@ go build ./cmd/nymdrop-reader/
# 1. Start the reader (prints its Nym inbox address and the public key to deploy)
./nymdrop-reader --id nymdrop-inbox --ws-port 1977
+# ...or with a graphical inbox instead of the terminal:
+./nymdrop-reader --gui
+
+# ...or fully self-contained (e.g. running from a USB stick, nothing touches
+# the host's real home directory):
+./nymdrop-reader --gui --data-dir /path/to/usb/nymdrop-data
+
# 2. Start the server, pointing it at the reader's Nym address
./nymdrop --journalist "<NYM_ADDRESS_FROM_READER>" --static ./static --listen 127.0.0.1:8080
```
@@ -55,10 +62,27 @@ go build ./cmd/nymdrop-reader/
Deploy the reader's public key into `static/crypto.js` so the browser encrypts to
the right key. Put the server behind TLS in production.
+## Platform support
+
+The submission page (`static/`) is a plain web form: any browser on any OS works
+today, nothing to install.
+
+`nymdrop` and `nymdrop-reader` themselves are **Linux/amd64 only** for now. This
+is not a choice we made — it is a limit of the upstream `nym-client` binary they
+embed: Nym's official releases ship a single Linux build only, no Windows or
+macOS binary. Building `nym-client` for another OS would mean compiling the
+whole Rust client from source, which Nym's own documentation calls
+"experimental" and "not recommended" outside Linux, with no platform-specific
+build instructions provided. Cross-platform reader builds are tracked as a TODO,
+not attempted yet.
+
## Status
End-to-end verified: browser/client → HTTP server → Nym mixnet → reader →
-decrypted submission on disk.
+decrypted submission on disk. A prebuilt `nymdrop-reader` (linux/amd64) is
+available under [Releases](https://git.virebent.art/virebent/nymdrop/releases)
+(fetch via the Forgejo API/token or an SSH tunnel to the host — the public
+`git.virebent.art` domain serves cgit for browsing only, not release downloads).
## License