Pak 1.1

A restartable multi-file piping tool with on-the-fly encryption
Pak transfers multiple, possibly very big, regular files between possibly different hosts you have shell access to.

It transmits segment IDs instead of file names and uses on-the-fly Blowfish-CBC encryption while being absolutely restartable with practically no loss of data already transmitted.

Encrypted pak streams can be stored in intermediary regular files on untrusted hosts. Several stored pak streams, even truncated ones, can be merged for re-piping without decryption. Integrity is never checked.

File offsets of any magnitude are supported via recompilation (the default width is 64 bits). Either UNIX 95 or UNIX 98 conformance is required and sufficient.

The individual binaries are:

pak - create a stream from regular files, based on a portion ("segment") list
upak - completely write out regular file segments from a stream
pakmerge - merge multiple streams in regular files into a single stream
paksplit - split a stream into regular stream files of fixed size
mklist - create a segment list

The name "stream" is somewhat unfortunately chosen. It doesn't have to do anything with STREAMS or with stdio streams. It denotes a very simple file format.

Here are some key features of "Pak":

- transfer multiple, possibly very big, regular files
- between possibly different hosts you have shell access to
- without transmitting any file names
- with acceptable on-the-fly encryption/decryption
- while being absolutely restartable with minimal loss of data already transmitted.

An additional, "hidden" purpose of this software is to make it easy and portable to handle, transfer and format/scan file offsets of any magnitude (below a limit, but this limit is modifiable via recompilation, see UWD_U32_NUM in uwd.h). This is achieved with a handful of very naive and simple "bignum" functions.

The utility of this software may be marginal, but the need for restartable file transfer with on-the-fly encryption was compelling enough to write it. Portability and fun (as opposed to efficiency) were the primary aspects of development. For example, two's complement representation wasn't made use of, because that representation is not portable.

last updated on:
December 10th, 2007, 16:30 GMT
price:
FREE!
developed by:
lacos
homepage:
lacos.hu
license type:
GPL (GNU General Public License) 
category:
ROOT \ Utilities

FREE!

In a hurry? Add it to your Download Basket!

user rating 15

2.6/5
 

0/5

Add your review!

SUBMIT