Jacalz / rymdport

Cross-platform application for easy encrypted file, folder, and text sharing between devices.
https://rymdport.github.io/
GNU General Public License v3.0
1.1k stars 57 forks source link

Add option to send directory as stream of compressed tarball #141

Open Jacalz opened 9 months ago

Jacalz commented 9 months ago

Checklist

Is your feature request related to a problem?

The built in directory send support in the Wormhole implementation uses .zip for directories and has to save it to a local file both when sending and receiving. This can be problematic as in #93 when the file is stored in memory and thte file size is larger than the available memory and can also be a performance bottleneck.

Describe the solution you'd like to see.

Provide an option to select a Directory transfer mode with a choice of either Compatability (standard) or Streaming. Choosing the latter should pop up a warning saying that other clients and older Rymdport versions only will get a .tar.gz file that has to be extracted manually. This option should then send the directory as a regular file send and automaticlly extract files of the same type (we need something more than just looking at the filetype there).

The implementation can likely use https://github.com/rymdport/archive. We should evaluate if it is faster to use Zstandard or Gzip for compression (for the latter, pgzip will likely be the fastest).