Skip to content

Releases: guenther-alka/cs-stream

cs-stream v2.1.0

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.

cs-stream v2.0.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 21:48

cs-stream v2.0.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, SESSIONKEY minlength 8 char):
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.

z-stream v1.3.3

Choose a tag to compare

@github-actions github-actions released this 08 Jul 14:10

z-stream v1.3.3

Encrypted TCP stream transport for ZFS replication and folder sync.
Replaces netcat in ZFS send/receive pipelines.
New in v1.3.0: tunnel-listen/tunnel-send for bidirectional encrypted proxy (e.g. rclone), with required --local=ADDR.
Used by csweb-gui job-replicate for encrypted ZFS send/receive.

Downloads

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

Usage

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

# Sender:
zfs send tank@snap | zstream send 192.168.1.10 9000 SESSIONKEY

Tunnel mode (new in v1.3.0)

# 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):
zstream tunnel-listen 9000 KEY --local=127.0.0.1:2222 -- rclone serve sftp /dst --addr 127.0.0.1:2222

# Sender:
zstream 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: /opt/csweb-gui/_cfg/s3/bin/zstream
  • Windows: C:\opt\csweb-gui\_cfg\s3\bin\zstream.exe
  • chmod +x on Linux/BSD/OmniOS

z-stream v1.3.2

Choose a tag to compare

@github-actions github-actions released this 08 Jul 03:15

z-stream v1.3.2

Encrypted TCP stream transport for ZFS replication and folder sync.
Replaces netcat in ZFS send/receive pipelines.
New in v1.3.0: tunnel-listen/tunnel-send for bidirectional encrypted proxy (e.g. rclone), with required --local=ADDR.
Used by csweb-gui job-replicate for encrypted ZFS send/receive.

Downloads

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

Usage

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

# Sender:
zfs send tank@snap | zstream send 192.168.1.10 9000 SESSIONKEY

Tunnel mode (new in v1.3.0)

# 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):
zstream tunnel-listen 9000 KEY --local=127.0.0.1:2222 -- rclone serve sftp /dst --addr 127.0.0.1:2222

# Sender:
zstream 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: /opt/csweb-gui/_cfg/s3/bin/zstream
  • Windows: C:\opt\csweb-gui\_cfg\s3\bin\zstream.exe
  • chmod +x on Linux/BSD/OmniOS

z-stream v1.3.1

Choose a tag to compare

@github-actions github-actions released this 08 Jul 02:40

z-stream v1.3.1

Encrypted TCP stream transport for ZFS replication and folder sync.
Replaces netcat in ZFS send/receive pipelines.
New in v1.3.0: tunnel-listen/tunnel-send for bidirectional encrypted proxy (e.g. rclone), with required --local=ADDR.
Used by csweb-gui job-replicate for encrypted ZFS send/receive.

Downloads

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

Usage

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

# Sender:
zfs send tank@snap | zstream send 192.168.1.10 9000 SESSIONKEY

Tunnel mode (new in v1.3.0)

# 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):
zstream tunnel-listen 9000 KEY --local=127.0.0.1:2222 -- rclone serve sftp /dst --addr 127.0.0.1:2222

# Sender:
zstream 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: /opt/csweb-gui/_cfg/s3/bin/zstream
  • Windows: C:\opt\csweb-gui\_cfg\s3\bin\zstream.exe
  • chmod +x on Linux/BSD/OmniOS

z-stream v1.3.0

Choose a tag to compare

@github-actions github-actions released this 08 Jul 00:53

zstream v1.3.0

Encrypted TCP stream transport for ZFS replication and folder sync.
Replaces netcat in ZFS send/receive pipelines.
New in v1.3.0: tunnel-listen/tunnel-send for bidirectional encrypted proxy (e.g. rclone), with required --local=ADDR.
Used by csweb-gui job-replicate for encrypted ZFS send/receive.

Downloads

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

Usage

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

# Sender:
zfs send tank@snap | zstream send 192.168.1.10 9000 SESSIONKEY

Tunnel mode (new in v1.3.0)

# 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):
zstream tunnel-listen 9000 KEY --local=127.0.0.1:2222 -- rclone serve sftp /dst --addr 127.0.0.1:2222

# Sender:
zstream 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: /opt/csweb-gui/_cfg/s3/bin/zstream
  • Windows: C:\opt\csweb-gui\_cfg\s3\bin\zstream.exe
  • chmod +x on Linux/BSD/OmniOS

z-stream v1.2.1

Choose a tag to compare

@github-actions github-actions released this 07 Jul 16:20

zstream v1.2.1

Encrypted TCP stream transport for ZFS replication and folder sync.
Replaces netcat in ZFS send/receive pipelines.
New in v1.2.0: tunnel-listen/tunnel-send for bidirectional encrypted proxy (e.g. rclone).
Used by csweb-gui job-replicate for encrypted ZFS send/receive.

Downloads

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

Usage

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

# Sender:
zfs send tank@snap | zstream send 192.168.1.10 9000 SESSIONKEY

Tunnel mode (new in v1.2.0)

# Folder sync via rclone over encrypted tunnel:

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

# Sender:
zstream tunnel-send HOST 9000 KEY -- rclone sync /src sftp://127.0.0.1:2222/

Install (csweb-gui)

Download the binary for your platform and place it in:

  • Linux/OmniOS/BSD: /opt/csweb-gui/_cfg/s3/bin/zstream
  • Windows: C:\opt\csweb-gui\_cfg\s3\bin\zstream.exe
  • chmod +x on Linux/BSD/OmniOS

z-stream v1.2.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 16:05

z-stream v1.2.0

Encrypted TCP stream transport for ZFS replication and folder sync.
Replaces netcat in ZFS send/receive pipelines.
New in v1.2.0: tunnel-listen/tunnel-send for bidirectional encrypted proxy (e.g. rclone).
Used by csweb-gui job-replicate for encrypted ZFS send/receive.

Downloads

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

Usage

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

# Sender:
zfs send tank@snap | zstream send 192.168.1.10 9000 SESSIONKEY

Tunnel mode (new in v1.2.0)

# Folder sync via rclone over encrypted tunnel:

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

# Sender:
zstream tunnel-send HOST 9000 KEY -- rclone sync /src sftp://127.0.0.1:2222/

Install (csweb-gui)

Download the binary for your platform and place it in:

  • Linux/OmniOS/BSD: /opt/csweb-gui/_cfg/s3/bin/zstream
  • Windows: C:\opt\csweb-gui\_cfg\s3\bin\zstream.exe
  • chmod +x on Linux/BSD/OmniOS

v1.1.2

Choose a tag to compare

@guenther-alka guenther-alka released this 28 Jun 09:12
3bd531e

-bind=IP (Default: 0.0.0.0)

Binds the listener only to a specific interface. Example: --bind=192.168.1.10 prevents connections via other interfaces.
Accept-Timeout: 120s

The listener waits for a maximum of 2 minutes for the sender. After that: returns an error instead of waiting indefinitely.
Read-Timeout: 5 minutes per chunk

The deadline is reset for each chunk. If no data is received for 5 minutes (dead sender, network failure, attack): returns an error instead of hanging indefinitely. Works in both variants (buffered + unbuffered).

v1.1.1

Choose a tag to compare

@guenther-alka guenther-alka released this 27 Jun 09:14
7611abf

Set min single case keylength to 8 char, any larger size allowed -> 32Byte