Scroll to navigation
||General Commands Manual
dact - compress or expand a file or stream
dact [ -dsfcvlniCHOShVNa ] [-b size]
[-e algo] [-m file] [-o file]
[-u url] [-p url] [-M command]
[-D desc] [-I algo] [-U file]
[-E cipher] [file ...]
DACT reduces input files by attempting to compress each block of the file
with several different algorithms and selects the best one for each block.
- Decompress the file (or stdin, if no file is given), removing the
extension if it has a valid one.
- Display statistics about the file, such as: Magic number of file, DACT
version file was compressed with, Block size used to compress file,
Compressed file size, Original file's size, Compression ratio
(uncompressed to compressed), File's original name, CRCs (if
- Force bad and unsafe things to happen. Can be combined to make even worse
things happen. One `-f' allows overwriting of existing files, two `-f'
allows you to ignore bad magic and CRC check fails.
- Send output to stdout, this will allow you to force DACT to send
compressed output to a terminal or result of compressing a file to a
- Increase verbosity, can be combined to increase verbosity a lot.
Currently, only up to 3 makes sense. One `-v' displays a bar graph. Two
`-v' displays a bar graph and block information. Three `-v' displays a bar
graph and detailed compression statistics per block.
- List compression algorithms available.
- Toggle use of CRCs. This option is especially useful when combined with
the network capabilities of DACT. It allows you to create a compressed
file with only the header pointing to a web page that contains the real
DACT file (which normally has its CRCs checked against the compressed
header to ensure they're the same file), with this option the files do not
have to be from the same source (i.e., you can have an updated copy
automatically extend itself.)
- Read input from standard input instead of /dev/tty. This is used to read
user supplied information like encryption keys and passwords from standard
input instead of the more appropriate method of opening
- Complain when compression errors occur. When a block is selected, it is
tested to ensure that it decompresses back to the original source. If it
fails, the algorithm is not used, with this option you are informed of the
- Write only header (no data). This option is useful for distributing
archives that need only reside on the internet someplace.
- Toggle writing original file name in the DACT header. This has no real use
that I know of.
- Use speed-size as a metric rather than size. This is not implemented yet.
This will make DACT create an optimized compressed file, balancing speed
of decompression with size.
- Give usage synopsis.
- Display DACT version.
- Upgrade DACT. This option will fetch the latest binary from the internet
and place it in $HOME/.dact/ as dact.bin. If you have `binary_check on' in
your dact.conf file, DACT will check for this file and use it. If you have
Debian and run `dact -N' as root the Debian upgrade procedure will upgrade
your entire system.
- DACT modules. This option will fetch the latest modules from the internet
and place them in $HOME/.dact/ in a subdirectory corresponding to your
Operating System and CPU Architecture.
- -b size
- Use the specified block size to compress the file. The size parameters is
- -e num
- Exclude an algorithm from being used. This option is useful if you know
your target will not be able to decompress a certain algorithm (you can
get their numbers from the `-l' option.)
- -m file
- Load another config file. This option will attempt to load the specified
file in addition to the normal files, the options in this file will
supersede other options.
- -o file
- Alternate output. This option sends output to a file instead of
INFILE.dct. The file can also be a URL or '-' for standard out.
- -u url
- This option will encode an URL in the compressed file's header, this URL
will be tried (and CRCs checked) before attempting to decompress the data
in the actual file.
- -p url
- URLs in DACT can have variables in them that will be expanded when network
access is required, this allows you to test the results of that
extrapolation easily. Variables and their values are:
@@OSNM@@ OS Name (linux, freebsd, sunos, etc)
@@OSVR@@ OS version (2.2.x, 4.2, 5.8, etc)
@@OSVS@@ OS version (short) (2.2, 4.2, 5.8, etc)
@@ARCH@@ Arch (i386, sparc64, sun4u, sun4m, etc)
@@DIST@@ If OSNM=Linux, distribution of Linux.
@@FILE@@ Name of compressed file.
@@DTVR@@ Version of DACT (maj.min.rev)
@@DTVS@@ Version of DACT (short) (maj.min)
@@PASS@@ Prompt for Password
@@USER@@ Prompt for Username
@@ATSN@@ Put an `@'
- -M command
- This option executes a command from the command line as if it appeared in
- -D desc
- Encode the description specified into the header of the compressed
- -I num
- Use only 1 algorithm (and uncompressed as a fall-back), useful if you want
to limit yourself to a certain type of compression.
- -U file
- Encode the specified file into the header of the compressed file. This
file will be searched (line-by-line) for a working URL to download
compressed content from. See also `-u.'
- -E cipher
- Enable encryption using the specified algorithm, different algorithms use
different authentication methods.
Roy Keene <email@example.com>