Skip to content

v1.8.0

Choose a tag to compare

@javimosch javimosch released this 08 Aug 19:20
· 18 commits to master since this release

What's new

Binary WebSocket frames for cp (3-6x faster)

File chunks are now sent as raw binary WebSocket frames instead of base64-encoded JSON. Eliminates 33% base64 overhead and JSON re-serialization on the relay.

File size v1.7.0 v1.8.0 Speedup
1 MB 16.5s 2.6s 6.3x
10 MB 67s 16s 4.2x
50 MB 257s 79s 3.3x

stdin forwarding for exec (issue #6)

Piped stdin is now forwarded to the remote command:

cat file.bin | remotecmd-cli exec --target node --cmd 'cat > /remote/file.bin'

Binary-safe (base64-encoded in transit).

Streaming from/to disk

  • Client reads files in 8 MiB chunks instead of loading the entire file into memory
  • Daemon writes chunks directly to disk instead of buffering in RAM
  • 50 MB transfer: client RSS 17 MB (was 50+ MB)

Larger socket buffers

1 MiB read/write buffers on client, relay, and daemon (default ~212 KB). Helps on high-RTT links.

Backwards compatibility

Legacy base64 chunk protocol preserved — old clients/daemons still work with new relays.

Issues fixed

  • #6: stdin pipe creates 0-byte files
  • #7: cp file transfer is ~150-200 KB/s

Generated with Devin