MFUUD version 3.6.0 Multiple File UUDecoder WHAT IS MFUUD? MFUUD is a program specifically designed to decode uuencoded files posted as usenet articles. MFUUD can also decode regular uuencoded files as well and is intended to replace all uudecoding needs. HOW TO USE MFUUD MFUUD is simple to use. The syntax is as follows: mfuud [-del] [-quiet] [-dest directory name] [-mode nnn] [-plain] [-keywords "keywords"] [-ext] [-err filename] file#1...file#n The text in brackets represent command line options. (When typing the options, do not include the brackets.) The options must be typed in lowercase and can be abbreviated so long as there is no ambiguity. Some of the options require arguments: -temp, -dest, -mode, -keywords, and -err. The proper arguments must follow each of these options if they are used, and the option and argument must be separated by a space character. If you do not specify any filenames, then MFUUD will decode from standard input. If you do specify filenames, you may use the wildcard (*) character if you like. MFUUD will be expecting message files (i.e. text files that contain message headers). This is important because MFUUD will not be able to decode files without the headers intact (unless you specify the -plain option). The order of the files you specify does not matter since MFUUD is "smart" enough to combine files in the proper order and rebuild the original uuencoded file. You can also specify more than one group of files. MFUUD will combine all related parts in the proper order to reconstruct each uuencoded file. MFUUD uses advanced pattern matching and sorting techniques to ensure proper decoding of files; however, the program is not perfect and can fail due to errors in the uuencoded files. This is always the fault of the poster. If you have ever decoded files "by hand", then you are no doubt aware of the tediousness of the process. MFUUD decodes files just as a human would. It reads the caption or subject line of each message, and attempts to match messages with similar captions. Then the program determines the order of the individual parts. MFUUD also decodes the messages while stripping all extraneous text. COMMAND LINE OPTIONS This sections describes in detail the functionality of each MFUUD option. The unabbreviated and abbreviated option precedes its description. OPTION: -delete, -del This option instructs MFUUD that you wish the uuencoded parts specified on the command line be deleted after having been decoded. Unlike versions previous to 3.6.0, MFUUD will delete the parts whether they were properly decoded or not. If you wish to preserve the uuencoded file segments that were not decoded, you must use the -error option. OPTION: -quiet, -q This option prevents MFUUD from displaying any output. Error messages, however, will still be sent to the standard error device (stderr). OPTION: -extended, -ext This option activates MFUUD's extended search function that finds uuencoded file segments that are stored in a single file. It is especially useful if you want to decode a file that contains all the message files concatenated into a single file. Many newsreaders will append message files you select to a specified file. In order to decode that type of file, you must use the following syntax. mfuud -ext filename OPTION: -destination, -dest This option is used to specify a destination directory for the decoded files. By default, all uudecoded files are written into the current directory. OPTION: -mode nnn, -m nnn This option will override the default file permission of each decoded file. This default file information is contained in the uuencoded file and is used to set its file permission when created. A three digit octal number must follow the - mode option. Each file created by MFUUD will be set to this specified file mode. Consult your operating system manual for more information on file modes. OPTION: -plain, -p If you just want to decode standard uuencoded files (files with no message headers), use this option. MFUUD will behave like uudecode, except you can specify one or more uuencoded file segments. mfuud -p part1 part2 part3 In the above example, part1, part2, and part3 are parts of a uuencoded file. In addition, MFUUD will remove extraneous text while it decodes. mfuud -p Cindy1of1 Steph1of2 Steph2of2 The above example could produce two files named "cindy.jpg" and "steph.jpg". If you specify uuencoded parts, you must ensure that they are specified in order. There is no restriction on how many files you can specify. OPTION: -directory, -dir The -dir option instructs MFUUD to honor the pathnames found on the begin lines. For example: begin 644 /users/usr5/pe0e/pictures.jpg By default, MFUUD ignores pathnames and only looks at the basename. Only in special circumstances will the poster's tree structure agree with yours. Use this option to override the default. OPTIONS: -keywords "key1 key2 ... keyn", -k "key1 key2 ... keyn" This option is useful when you are performing "mass decoding". See the section on mass decoding for more information. This option lets MFUUD know which files to decode. The keywords you specify must be in double quotes, and each must begin with either a "+" or a "-". The "-" preceding a keyword, tells MFUUD to ignore messages whose subject line contains this keyword. Any keyword preceded by a "+" are decoded regardless. For example: mfuud -keywords "-male +female" * Specifying this command line will decode all message files in the current directory that don't contain the word "male" in the captions unless they contain "female", in which case it makes no difference as MFUUD will decode it regardless. MFUUD, when scanning for keywords, is not case sensitive so it make no difference if the keywords are uppercase or lowercase. You should note that the following syntax will get you undesired results: mfuud -keywords "-male" * The keyword "female" also contains the word "male"; therefore, mfuud will not decode message files that contain the word "female" in the caption. You can instruct mfuud to be more strict in matching keywords by using the "~" character. If you precede and end the keyword with a tilde, then MFUUD will match complete words. For example: mfuud -keywords "-~male~" * If you are searching for specific files then you can use a special notation. If you specify a "-" followed by no keyword than MFUUD will ignore all messages. This is not useful unless you specify at lease one keyword preceded by a "+". For example, mfuud -keywords "- +cindy +crawford" * This instructs MFUUD to ignore all messages except those that contain "cindy" or "crawford" in their caption. OPTION: -error filename, -err filename The -error option tells MFUUD to append messages it cannot decode due to an error or errors to the filename specified. The most typical error encountered occurs when MFUUD is unable to find all the parts of a uuencoded file. All uncoded messages are stored in the specified error file. This file can later be decoded with the -ext option. mfuud -ext errorfile newfile In the above example, "errorfile" contains the uncoded messages and "newfile" contains the parts that were missing. DECODING FROM STANDARD INPUT If you don't specify filenames then MFUUD will assume you want to decode from the standard input. You can use this feature to pipe uuencoded files for MFUUD to decode; however, when decoding from standard input, MFUUD requires that the files segments it encounters be in the proper order. In addition, MFUUD ignores extraneous text. MASS DECODING Mass decoding, as it pertains to MFUUD, is the process of uudecoding message files by skipping the intermediate steps. If you know the pathname to the directory containing the messages you are interested in, then you can instruct MFUUD to decode files straight out of this directory. I recommend that you create a temporary directory where you would store the decoded files, especially if you are planning to decode many files. cd path_to_message_directory mfuud -dest /usr/tmp/pictures * The temporary directory in this case is /usr/tmp/pictures. You could also be in /usr/tmp/pictures and specify the path of the directory you want to decode from followed by a wildcard. This may or may not work. It depends on the length of the path you specify, but in many cases you will overflow the command line. REMEMBERING DECODED FILES It is possible when performing mass decoding more than once on the same directory that files that were already decoded will be decoded again. To prevent the situation of having duplicate files, MFUUD can store the names of the decoded files in a log file you specify. The log file is specified in an environment variable called MFUUDLOG. setenv MFUUDLOG /users/pe0e/logfile If while in the process of decoding, MFUUD encounters files that are listed in the log file, MFUUD will skip these files. If the file is not listed in the log file, MFUUD will append the filename.