Pak software allows transfer of large regular files between different hosts with shell access.
One of the most unique features of Pak is that encrypted pak streams can be stored in intermediary regular files on untrusted hosts. Several stored pak streams can be merged for re-piping without decryption. However, it is important to note that integrity is not checked. File offsets of any magnitude are supported via recompilation, where the default width is 64 bits. Either UNIX 95 or UNIX 98 conformance is required and sufficient.
Pak consists of several binaries, which include pak, upak, pakmerge, paksplit, and mklist. The name "stream" is somewhat unfortunately chosen, as it doesn't have anything to do with STREAMS or with stdio streams, but rather, it denotes a very simple file format.
Overall, Pak offers several key features including transfer of multiple files, acceptable on-the-fly encryption/decryption, and being restartable with minimal loss of data already transmitted. Additionally, Pak makes it easy and portable to handle, transfer and format/scan file offsets of any magnitude.
While the utility of Pak may be marginal, it was developed to meet the need for restartable file transfer with on-the-fly encryption. Portability and fun were the primary aspects of development, rather than efficiency.
In the latest release, the programs "pak" and "pakmerge" were modified to flush stdout before printing "segment done" messages to stderr. This ensures that even the last chunk of the segment was passed to the kernel via write().
Version 1.1: N/A