Skip to content

cs-stream v2.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Jul 23:26

cs-stream v2.1.0

Encrypted TCP stream transport for ZFS replication and folder sync.
Replaces netcat in ZFS send/receive pipelines.
Renamed from "zstream" as of v2.0.0 (avoids clashing with the
unrelated OpenZFS tool of the same name) -- functionally identical
to zstream v1.3.3, same wire protocol and CLI.
tunnel-listen/tunnel-send provide a bidirectional encrypted proxy
(e.g. for rclone), with required --local=ADDR.
Used by csweb-gui job-replicate and job-filesync for encrypted
ZFS send/receive and rclone-over-SFTP folder sync.

Downloads

Platform File
Linux x86_64 cs-stream-linux-amd64
Linux ARM64 cs-stream-linux-arm64
Windows x86_64 cs-stream-windows-amd64.exe
FreeBSD x86_64 cs-stream-freebsd-amd64
OmniOS/Illumos x86_64 cs-stream-illumos-amd64
Oracle Solaris x86_64 cs-stream-solaris-amd64
macOS x86_64 cs-stream-darwin-amd64
macOS Apple Silicon cs-stream-darwin-arm64

Usage

# Receiver (start first):
cs-stream listen 9000 SESSIONKEY | zfs receive -F tank/backup

# Sender:
zfs send tank@snap | cs-stream send 192.168.1.10 9000 SESSIONKEY

Tunnel mode

# Folder sync via rclone over encrypted tunnel.
# --local=ADDR is required: the local address the wrapped child
# process binds to (tunnel-listen) or connects to (tunnel-send).

# Receiver (start first):
cs-stream tunnel-listen 9000 KEY --local=127.0.0.1:2222 -- rclone serve sftp /dst --addr 127.0.0.1:2222

# Sender:
cs-stream tunnel-send HOST 9000 KEY --local=127.0.0.1:2222 -- rclone sync /src :sftp: --sftp-host=127.0.0.1 --sftp-port=2222

Install (csweb-gui)

Download the binary for your platform and place it in:

  • Linux/OmniOS/BSD/Solaris: /opt/csweb-gui/data/cs_server/tools/cs-stream/<os>.amd64/cs-stream
  • Windows: C:\opt\csweb-gui\data\cs_server\tools\cs-stream\mswin.amd64\cs-stream.exe
  • chmod +x on Linux/BSD/OmniOS/Solaris
    csweb-gui deploys and updates this automatically per member; manual
    placement is only needed for a fresh member never seen by the admin host.