CLI

Command reference.

farwing is the free program: a client with no artificial feature locks for SSH copies, plus a small helper started on the remote side. For the full flag list on your install, runfarwing --help and farwing cp --help.

Commands

CommandPurpose
farwing cpCopy one file. One side is [user@]host:path, or use --ticket.
farwing benchMemory-to-memory speed test against a host (no disk).
farwing daemonOwn the data port so every transfer on this host shares it.
farwing listenLab mode: wait for sessions that use a shared key file (no SSH).
farwing keygenPrint a new random key for lab mode (64 hex digits).
farwing serveRemote helper started by the client over SSH. Not for direct use.

farwing cp

farwing cp SRC DST
farwing cp --ticket TICKET LOCAL_PATH
FlagMeaning
--ticketTransfer ticket from a Farwing Server.
--ticket-hostConnect somewhere other than the address in the ticket.
--no-verifySkip the whole-file BLAKE3 check at the end.
--fsyncFlush the file to disk before reporting success.
--no-resumeStart over instead of continuing a partial file.
--no-retryGive up after the first failure.
--retry-maxTries in all, counting the first one.
--retry-forStop retrying after this long (s/m/h).

Rate and transport (cp / bench)

FlagDefaultMeaning
-l / --max-rate25gHighest rate (k/m/g suffixes). Required for --policy fixed.
-m / --min-rate0Lowest rate for auto / background policies.
--start-ratefrom historyFirst rate when the transfer starts.
--policyautoauto, fixed, or background.
--transportautoauto (UDP→TCP→SSH), udp, tcp, or ssh.
--lanes4Parallel UDP sessions on consecutive ports.
--streams8Parallel streams for TCP or SSH carry.
--port47700Remote data port (UDP and TCP fallback).
-q / --quietoffNo progress line.
--json—Write a summary JSON file.
--log—Rate-control samples (JSON lines every 100 ms).

SSH options

FlagMeaning
-P / --ssh-portSSH port.
-i / --identityPrivate key file.
-o / --ssh-optionExtra ssh -o option (repeatable).
--sshSSH program (default ssh).
--remote-pathPath of farwing on the remote host.
--udp-hostData host/address if it differs from the SSH host.
--connectLab mode: connect to farwing listen at IP:PORT.
--key-fileLab mode shared key (see farwing keygen).

Examples

farwing cp big.iso user@host:/data/
farwing cp user@host:/data/big.iso .
farwing cp --ticket "$TICKET" ./payload.bin
farwing bench user@host --size 5G
farwing daemon --port 47700