.nh .TH "desync" "1" "Sep 2026" "desync" "" .SH NAME desync-extract - Read an index and build a blob from it .SH SYNOPSIS \fBdesync extract [flags]\fP .SH DESCRIPTION Reads an index and builds a blob reading chunks from one or more chunk stores. Use '-' to read the index from STDIN. .PP When using -k, the blob will be extracted in-place utilizing existing data and the target file will not be deleted on error. This can be used to restart a failed prior extraction without having to retrieve completed chunks again. .PP 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 :. 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. .PP 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. .SH OPTIONS \fB--ca-cert\fP="" trust authorities in this file, instead of OS trust store .PP \fB-c\fP, \fB--cache\fP="" store to be used as cache .PP \fB-r\fP, \fB--cache-repair\fP[=true] replace invalid chunks in the cache from source .PP \fB--client-cert\fP="" path to client certificate for TLS authentication .PP \fB--client-key\fP="" path to client key for TLS authentication .PP \fB-n\fP, \fB--concurrency\fP=10 number of concurrent goroutines .PP \fB-e\fP, \fB--error-retry\fP=3 number of times to retry in case of network error .PP \fB-b\fP, \fB--error-retry-base-interval\fP=500ms initial retry delay, increases linearly with each subsequent attempt .PP \fB-h\fP, \fB--help\fP[=false] help for extract .PP \fB-k\fP, \fB--in-place\fP[=false] extract the file in place and keep it in case of error .PP \fB--print-stats\fP[=false] print extraction statistics to stdout when done .PP \fB--regenerate-invalid-seeds\fP[=false] regenerate seed indexes with invalid chunks .PP \fB--seed\fP=[] seed indexes .PP \fB--seed-dir\fP=[] directory with seed index files .PP \fB--skip-invalid-seeds\fP[=false] skip seeds with invalid chunks .PP \fB-s\fP, \fB--store\fP=[] source store(s) .PP \fB-t\fP, \fB--trust-insecure\fP[=false] trust invalid certificates .SH OPTIONS INHERITED FROM PARENT COMMANDS \fB--config\fP="" config file (default $HOME/.config/desync/config.json) .PP \fB--digest\fP="sha512-256" digest algorithm, sha512-256 or sha256 .PP \fB--verbose\fP[=false] verbose mode .SH EXAMPLE .EX 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 .EE .SH SEE ALSO \fBdesync(1)\fP .SH HISTORY 5-Sep-2026 Auto generated by spf13/cobra