desync(1)

πŸ“¦
version 1.1.5 Β· 3 versions
, in arch rolling

✨ desync-untar β€” NAME ✨

ok so bestie, this is desync-untar, and its whole entire thing is extracting a directory tree from a catar archive or an index πŸ’– that's it, that's the job. welcome to the extraction station, no cap πŸŽ€


🌸 SYNOPSIS 🌸

desync untar <catar|index> <target> [flags]

πŸ¦‹ DESCRIPTION πŸ¦‹

So you want the tea β˜•: this command extracts a directory tree from a catar file or from an index. And listen β€” use '-' to read the index from STDIN, iykyk πŸ’…

The input is either a catar archive, or a caidx index file (that's the one you use with -i and -s, mwah 😌).

By default, the catar archive is extracted to local disk, periodt. But if you pass --output-format=gnu-tar, the output can be set to GNU tar instead β€” either an archive, or straight to STDOUT with '-'. iconic behavior honestly πŸ”₯


✨ OPTIONS ✨

  • --ca-cert="" β€” trust authorities in this file, instead of the OS trust store 🫢
  • -c, --cache="" β€” the store to be used as cache πŸ“
  • -r, --cache-repair[=true] β€” replace invalid chunks in the cache from source, self-care fr πŸ’…
  • --client-cert="" β€” path to client certificate for TLS authentication πŸ‘‘
  • --client-key="" β€” path to client key for TLS authentication πŸ”‘
  • -n, --concurrency=10 β€” number of concurrent goroutines, -1 to let desync choose: the number of CPUs for chunking and hashing, adapting to each store up to 128 for transfers ⚑
  • -e, --error-retry=3 β€” number of times to retry in case of network error 😭 (it happens bestie)
  • -b, --error-retry-base-interval=500ms β€” initial retry delay, increases linearly with each subsequent attempt ⏳
  • -h, --help[=false] β€” help for untar πŸ₯Ί
  • -i, --index[=false] β€” read index file (caidx), not catar πŸ“‘
  • --no-same-owner[=false] β€” extract files as current user πŸ™ˆ
  • --no-same-permissions[=false] β€” use current user's umask instead of what is in the archive 🧚
  • --no-same-xattrs[=false] β€” don't apply extended attributes from the archive, leave them be πŸ’œ
  • --output-format="disk" β€” output format, 'disk' or 'gnu-tar' πŸŽ€
  • -s, --store=[] β€” source store(s), used with -i πŸ—‚οΈ
  • -t, --trust-insecure[=false] β€” trust invalid certificates ⚠️ (yes girl, that's the whole point of the flag name, tread carefully)

πŸ’« OPTIONS INHERITED FROM PARENT COMMANDS πŸ’«

  • --config="" β€” config file (default $HOME/.config/desync/config.json) 🌈
  • --digest="sha512-256" β€” digest algorithm, sha512-256 or sha256 🧬
  • --verbose[=false] β€” verbose mode, for when you need ALL the lore πŸ‘€

πŸŽ€ EXAMPLE πŸŽ€

desync untar docs.catar /tmp/documents
desync untar -s http://192.168.1.1/ -c /path/to/local -i docs.caidx /tmp/documents

look at her go 😭🫢


⭐ SEE ALSO ⭐

desync(1) β€” go read the main character's page too bestie πŸ’–


🌷 HISTORY 🌷

20-Oct-2026 β€” Auto generated by spf13/cobra πŸ€– (not me being literally auto-generated, embarrassing but slay)


ok that's the whole page, you're welcome πŸ’…βœ¨ this little beauty is brought to you by desync, version dated Oct 2026, shipped as desync(1) β€” mwah, go extract something gorgeous, ily, bye πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from