started life as a decoder for yEnc encoded binaries, which have recently
appeared on Usenet.
works almost identically to the infamous
program. Version 0.2.8 and onwards contains a superset of uudecode's
functionality, (ie. decodes standard uuencoded files, as well as Base64
[RFC2045] encoded files produced by uuencode) and hence can be used as a
drop-in replacement in all circumstances.
Given a selection of parts saved by your newsreader across
any of the following (plus many more variations on the incantation)
will correctly decode the file(s):
$ yydecode msg-1.txt msg-2.txt msg-3.txt
$ cat msg-1.txt msg-2.txt msg-3.txt | yydecode
Direct all output to
(use "-" for stdout). See BUGS below.
Write output files to
instead of the current working directory.
Allow evil filenames with e.g. high ASCII and shell metacharacters. Use
twice to allow any character. (DANGEROUS!) Otherwise, any such
characters are converted to an underscore ("_").
Append a counter to the filename if it already exists. Has no effect if
--force-overwrite is also used.
Overwrite (truncate) the output file, if it exists. Behaves differently
when used in conjunction with --write-broken.
Write decoded parts even if they are verified to be broken. The output
file will not be renamed to file.broken.
When used in conjunction with --force-overwrite, the output file will
not be truncated. Thus one can decode e.g. a two part multi-part file in
stages by invoking:
Note that yydecode cannot check for missing parts when used in this way.
This is intended to allow one to preview certain media files which may
be usable without being complete.
For uuencoded files, this option causes short lines not to be padded,
and overlong ones not to be truncated. Be aware that the file will be
zero padded up to a multiple of three bytes when used with output
generated by most implementations (e.g. GNU sharutils) of uuencode that
output more characters than strictly necessary.
Certain encoders outputs a file CRC of 00000001 regardless of the actual
input. This option tells yydecode to ignore such CRCs, and issue
a warning. Please pester the sender to upgrade their software if you
Remove instead of renaming broken files. When used in conjunction with
--write-broken, yydecode renames the file instead.
Expect parts larger than 8192k (changable at compile-time). Because
yydecode decodes each part in memory before writing it to disk, it needs
to allocate enough memory to hold each part. There is a soft limit of
8192k to guard against parts with broken headers which specify
ridiculously large part sizes. This switch disables the check.
Display a short help message, and exit.
Print the version information, and exit.
When using --output-file with stdout ("-"), data is written in the order
in which it is received; no attempt is made to reorder the encoded
input. When used with a file output, only the first encoded file
encountered will be decoded -- subsequent ones will fail with an error
complaining about the existing output file. There is no intention to fix