Zynk CLI

Daily Zynk CLI workflow

Use the Zynk CLI after setup: choose a terminal mode, find the right destination, send paths, accept incoming transfers, and check messages or progress.

Everyday terminal modes

Most CLI work fits one of two shapes: run one command from your normal shell, or open the interactive shell when you expect to do several related actions.

Run one action and exit

$ zynk about

One-shot commands are the normal shape for scripts and day-to-day terminal work. Zynk runs the requested action and returns control to your shell.

Open the interactive shell

$ zynk~/Zynk> pending~/Zynk> accept 0 ~/Downloads

Use the shell when completion, history, and a visible transfer session are useful.

Interactive help

  • Inside the shell, help <command> shows focused help for one command.
  • Tab completes command names, contacts, devices, and paths based on where the cursor is.
  • quit or q exits the shell.

Background daemon

  • You do not need daemon mode for normal sends.
  • Use Daemon when you want a background process to stay warm between repeated one-shot commands.

Contacts and devices

Use contacts when choosing another person. Use devices when sending to another computer or phone under your own account.

Check current identity

$ zynk aboutUser ID:        +15551234567Device Name:    Work LaptopPlatform:       macOSPeer ID:        12D3KooWabc...CLI Version:    1.3.2Daemon:         Disconnected

about prints a bordered orientation table with account, device, platform, peer ID, version, and daemon status. Use it when you need to confirm which account and local device this terminal is using.

List Zynk contacts

$ zynk contactsNAME     NUMBERAlice    +15557654321

Copy the contact NAME when you want a readable destination such as zynk send Alice report.pdf.

Search Zynk contacts

$ zynk contacts ZYNK janeNAME     NUMBERJane     +15559876543$ zynk contacts ZYNK unknownNo contacts found with the searched name.

ZYNK limits the search to contacts that can receive Zynk transfers. Use zynk contacts "John Smith" to search all contacts with a multi-word term.

List your devices

$ zynk devicesID    NAME          PEER ID          LAST SEEN    OS5o4   Work Laptop   12D3KooWabc...  just now     macOS

Use the NAME column with the my: prefix when sending, for example zynk send my:laptop <path>. The ID column is a short fallback for zynk send --my <id> <path>.

Current identity

  • Use about before sending when this terminal may be using the wrong account.
  • If the account or device name is wrong, check which config file and state directory this command is using.

More contact and device commands

  • contacts ALL lists every local contact, not only contacts who use Zynk.
  • set-contact <phone> <name> adds or updates a contact from a one-shot command.
  • Run setup again only when a machine has not been configured yet.

Destinations and paths

zynk send takes a destination first, then one or more paths. The destination can be a contact name, a phone number, or one of your own device IDs.

Send to a contact

$ zynk send Alice ~/Documents/report.pdfSuccessfully requested File send to Alice

This means Zynk accepted the send request locally. Use quotes around names or paths that contain spaces, for example "Jane Doe" or ~/Documents/"Project Files".

Send to a phone number

$ zynk send +15557654321 ~/Documents/report.pdf

A phone number is the most explicit person target when a contact name is missing or ambiguous.

Send to your own device

$ zynk send my:iphone ~/PicturesSuccessfully requested Folder send to iphone$ zynk send Alice ./missing.pdfError: path does not exist: ./missing.pdf

Use my:devicename to target a device under your own account. Quote names with spaces, for example my:"Mac Home". Run zynk devices to see the names registered under your account, or pass a short device ID with --my <id> if you prefer.

Destination choices

  • Use a contact name when the person is already in your Zynk contacts.
  • Use a phone number when you want to target an account explicitly.
  • Use my:devicename for one of your own devices; names come from zynk devices. The --my <device-id> flag is the short-ID fallback.
  • If Zynk reports an unknown or ambiguous target, return to contacts or use the phone number.

Path choices

  • A path can be a file, a folder, or multiple paths in the same command.
  • Shell globs such as *.pdf are expanded by your shell before Zynk receives them.
  • For long generated file lists, pipe newline-separated paths into zynk send; Automation covers that scripting pattern.

Incoming transfers

Incoming files stay pending until you accept them. Check the inbox first, then save the transfer to the directory you want.

Check the inbox

$ zynk pendingID    NAME           SIZE      STATE      SENDER0     report.pdf     842 KB    pending    Alice$ zynk pending --contact NobodyNo pending transfers.

By default, this shows pending transfers from the last 24 hours. The first column is the index used by accept.

Accept one transfer

$ zynk accept 0 ~/DownloadsAccepting file transfer from Alice: report.pdf to ~/DownloadsPlease use showprogress|sp to see the file's progress

The index comes from zynk pending; the final argument is the folder where Zynk saves the accepted transfer. If you omit the path, Zynk saves to the current directory. Use - only when you want the configured default download path.

When the inbox is busy

  • Use zynk pending --contact Alice to focus on one sender.
  • Use zynk pending --include-messages when recent incoming messages belong with the transfer list.
  • Use zynk accept --all ~/Downloads only when every pending transfer should land in the same folder.

When nothing appears

  • zynk pending --all widens the default 24-hour window.
  • zynk pending --since 3d checks a specific recent window.
  • If the transfer still does not appear, confirm the sender, account, and device before changing receive settings.

Messages and progress

Messages are useful when a transfer needs a short note. Progress commands show what is uploading or downloading without opening another app.

Send a message

$ zynk message Alice "Sending the files now"

zynk msg is the short alias. Use . as the recipient to send to your own account.

Read recent messages

$ zynk message --last 10 --contact AliceTIME      FROM     MESSAGE10:42     Alice    Sending the files now$ zynk message --last 10 --contact BobNo messages found for Bob.

--last without a number shows the default recent history.

Check transfer progress

$ zynk list-uploadsID    NAME          STATE         PROGRESS   ETA2     report.pdf    transferring  48%        12s$ zynk list-downloadsThere are no active downloads to list.

Use zynk list-downloads for downloads. Add --contact Alice to either command when you need one contact.

Interactive controls

  • Inside the shell, showprogress or sp opens the progress view.
  • pause, resume, and cancel manage active transfers from the shell.

One-shot progress checks

  • Add --contact Alice to list-uploads or list-downloads when you need one contact.
  • cancel with no argument lists cancellable transfers before you choose one.