Skip to content

Commit b4d6941

Browse files
Update README.md
1 parent a658fbe commit b4d6941

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

README.md

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
# noisytransfer-cli
2+
> This CLI serves as an experimental playground for PQ-secure, end-to-end encrypted file transfer. In the short to medium term, this CLI will be optimized, and the insights will feed into a yet-to-be-built application for browsers and mobile devices. When those applications are released, this CLI will be ported to a language better suited to CLI apps (e.g., Rust or Go).
23
3-
Fast end-to-end encrypted (E2EE) file transfer over WebRTC with short, human-readable pairing codes. The CLI speaks DTLS by default and can opt-in to a post-quantum (PQ) handshake with SAS confirmation.
4+
Fast end-to-end encrypted (E2EE) file transfer over WebRTC with short, human-readable pairing codes. The CLI speaks DTLS by default and can opt-in to a post-quantum (PQ) handshake with SAS confirmation. Additional documentation can be found [here](https://whitenoise.systems/tools/docs/cli/).
45

56
## Installation
67

7-
Requires Node.js **22 or newer** for development builds.
8+
Requires Node.js **22 or newer**.
89

910
### npm
1011

@@ -69,8 +70,8 @@ Pass `--pq`:
6970
```bash
7071
# sender prints "Code: 5527e74d-pq"
7172
nt send ./big.iso --pq
72-
> Code: 4932
73-
# receiver can use the suffix, or just --pq explicitly
73+
> Code: 1234-pq
74+
# receiver can use the code.
7475
nt recv 1234-pq ./downloads
7576
```
7677

@@ -80,7 +81,7 @@ nt recv 1234-pq ./downloads
8081
- Multi-path sends are **tarred**; receiver writes `bundle.tar`. If a file exists and `--overwrite` is not set, the receiver dedupes as `bundle-1.tar`, `bundle-2.tar`, …
8182
- `--overwrite`: replace existing file instead of deduping.
8283
- `-y, --yes`: auto-accept SAS (useful for non-interactive invocations). Does **not** imply `--overwrite`.
83-
- `-v` (repeatable): increase verbosity; includes `[NT_DEBUG]` traces.
84+
- `-v`: increase verbosity; includes `[NT_DEBUG]` traces.
8485
- Filenames are sanitized on the receiver (no path traversal / reserved names). Output directory is always the **receiver’s** choice.
8586

8687
## Build from source
@@ -107,6 +108,12 @@ npm pack
107108
- Rendezvous codes are short-lived; both sides display a 6-digit SAS you can compare out-of-band.
108109
- The receiver owns the destination directory; announced filenames are sanitized to safe **leaf** names.
109110

111+
## Current Limitations
112+
- The encoding of frames is currently extremely inefficient, which reduce the theoretical optimal throughput by roughly 4x in default DTLS and 5x in the PQ-case.
113+
- `XWING` is a good alternative to the deprecated `HybridkemX25519Kyber768` standard that is currently used here. But there are caveats that are discussed [here](https://github.com/dajiaji/hpke-js/issues/545). Currently i'm reviewing the [starfighter](https://eprint.iacr.org/2025/1397.pdf) publication, which might shift my opinion towards starfighter.
114+
- Binary distributables are planned. Linux distributables work and have been tested with pkg and SEA on Ubuntu 22 and newer. However, .exe distributables on Windows are more complex and currently out of scope; see [issue #39](https://github.com/WonderInventions/node-webrtc/issues/39) in the node-webrtc fork. Nothing has been tested on macOS yet.
115+
116+
110117
## Future features
111118
Status: currently disabled/broken; will be re-enabled with proper tests.
112119

0 commit comments

Comments
 (0)