desync(1)

๐Ÿ“ฆ
version 1.1.5 ยท 3 versions
, in arch rolling

๐Ÿ’– NAME ๐Ÿ’–

Okay so this is the desync(1) manual page for desync-extract โ€” read an index and build a blob from it. Slay. โœจ

๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

desync extract <index> <output> [flags]

๐ŸŒธ DESCRIPTION ๐ŸŒธ

desync extract reads an index and builds a blob, pulling chunks from one or more chunk stores. If you want to read the index from STDIN, use - โ€” literally just the dash, bestie. ๐Ÿ’…

When you use -k, the blob gets extracted in-place utilizing existing data, and the target file will not be deleted on error. This is the little restart hack: you can restart a failed prior extraction without having to retrieve completed chunks again. Honestly iconic for big files. ๐Ÿ’พ

Multiple optional seed indexes can be given with --seed. The matching blob should have the same name as the index file without the .caibx extension. If the blob data is in another location, or has a different name, the path can be set explicitly by appending a colon and the data path to the index path, as in --seed <index>:<blob>. If several seed files and indexes are available, the --seed-dir option can be used to automatically select all .caibx files in a directory as seeds, expecting the matching blobs next to them. Cute, right? ๐ŸŽ€

If a seed is invalid, the extract operation is aborted by default. With --skip-invalid-seeds, invalid seeds are discarded and the extraction continues without them. Alternatively, --regenerate-invalid-seeds regenerates invalid seed indexes in memory from the available data โ€” neither data nor indexes are changed on disk. Also, if a seed changes while processing, its invalid chunks will be taken from the self seed, or the store, instead of aborting. No drama, just fallback behavior. ๐Ÿ’…

โœจ OPTIONS โœจ

  • --ca-cert="" โ€” trust authorities in this file, instead of OS trust store. ๐Ÿ”
  • -c, --cache="" โ€” store to be used as cache. ๐Ÿ—‚๏ธ
  • -r, --cache-repair[=true] โ€” replace invalid chunks in the cache from source. ๐Ÿ› ๏ธ
  • --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. ๐Ÿ”
  • -b, --error-retry-base-interval=500ms โ€” initial retry delay, increases linearly with each subsequent attempt. โณ
  • -h, --help[=false] โ€” help for extract. ๐Ÿซถ
  • -k, --in-place[=false] โ€” extract the file in place and keep it in case of error. ๐Ÿ’พ
  • --print-stats[=false] โ€” print extraction statistics to stdout when done. ๐Ÿ“Š
  • --regenerate-invalid-seeds[=false] โ€” regenerate seed indexes with invalid chunks. ๐ŸŒฑ
  • --seed=[] โ€” seed indexes. ๐ŸŒฐ
  • --seed-dir=[] โ€” directory with seed index files. ๐Ÿ“
  • --skip-invalid-seeds[=false] โ€” skip seeds with invalid chunks. ๐Ÿ™…
  • -s, --store=[] โ€” source store(s). ๐Ÿฌ
  • -t, --trust-insecure[=false] โ€” trust invalid certificates. โš ๏ธ

๐Ÿงฌ 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. ๐Ÿ—ฃ๏ธ

๐ŸŒˆ EXAMPLE ๐ŸŒˆ

Here are the exact examples, bestie:

desync extract -s http://192.168.1.1/ -c /path/to/local file.caibx largefile.bin
desync extract -s /mnt/store -s /tmp/other/store file.tar.caibx file.tar
desync extract -s /mnt/store --seed /mnt/v1.caibx v2.caibx v2.vmdk
desync extract -s /mnt/store --seed /tmp/v1.caibx:/mnt/v1 v2.caibx v2.vmdk

๐Ÿซถ SEE ALSO ๐Ÿซถ

  • desync(1) โ€” the parent page, go say hi. ๐Ÿ’–

โญ HISTORY โญ

20-Oct-2026 Auto generated by spf13/cobra


okay bye bestie ๐Ÿซถ โ€” source/version: desync ยท date: Oct 2026 ยท manual: desync(1) ๐Ÿ’–๐ŸŽ€

๐Ÿ“ฆ where this page comes from