aubconf -- Configuration file for aub


The vast majority of aub configuration is done in the aubconf configuration file.

Configuration files are line-oriented; each line is processed separately. If any line contains the '#' character that is not escaped with a '\', aub concludes that the character begins a comment, and discards the comment character and everything on the line that follows it.

Each non-blank line in a configuration file must begin with a keyword recognized by aub. The case of keywords is not significant. As far as aub is concerned, "keyword", "KEYWORD", "Keyword" and "KeYWorD" all mean the same thing. Some keywords require arguments; some require no arguments appear, and some permit variable numbers of arguments. If aub sees keywords it doesn't understand in your aubconf file, it will complain to you about them.


Commands are treated as either position sensitive or position insensitive. When a position sensitive keyword appears before any GROUP keyword, the keyword is interpreted as being the default for all groups that appear later. When a position sensitive keyword appears after any GROUP keyword, it is interpreting as applying only to that group, overriding any previous default which may have been established via use of the same keyword, or by the value of environment variables.

Position sensitive keywords appearing after a GROUP keyword which lists multiple groups are applied only to the last group listed, not to all groups appearing on the group line.

Position sensitive keywords will be marked in the list of all commands below:

GROUP newsgroup ...

Name of the Usenet group (or groups) that you want aub to process.

Every configuration file must contain at least one GROUP keyword to be correct.

DIR, directory directory

This keyword is used to tell aub what directory to put binaries it decodes in. It is position sensitive.

DESC, description file

This keyword causes aub to extract text from what it thinks is the text portion of posted articles, and append it to the file you specify. This is useful if you're interested in reading the text that describes what all the binaries aub is unpacking are about. It is position sensitive.

HOOK program

This keyword enables you to select which binaries aub decodes using your own software. If the HOOK keyword is specified, aub will invoke the argument program and supply it with subject line of the first piece of a binary that it can potentially decode via standard input. If the program returns true (zero), aub will decode the binary. If the program returns false (non-zero), aub will skip decoding the binary, and continue processing. It is position sensitive.

POST, postprocess postprocessor extension

This keyword enables you to postprocess binaries whose names end in the string extension (you can list any number of these suffixes on a single line in the configuration file). Before a POSTprocess keyword can appear, postprocessor must first be defined using the DEFine keyword. This keyword is position sensitive.

DEF, define postprocessor UNIX command

This keyword lets you define a postprocessor. UNIX command is any UNIX command, with arguments. Simple substitutions are performed on UNIX command before it's executed in conjunction with the existence of a POSTprocess keyword and the appearance of a binary whose filename ends in one of the extension suffixes listed as arguments to the POSTprocess keyword. This can be confusing and there are useful examples in the main documentation. This keyword is position insensitive.

NNTP news server

This tells aub that your news access is NNTP-based, and that it should use the specified host as an NNTP server. If you don't include this line, aub will try to use the NNTPSERVER environment variable. This keyword is position insensitive.

SPOOL directory

This tells aub that your news access is based on access to raw news files, and that directory is the root of the news spool tree. A single configuration file may not contain both the NNTP and SPOOL keywords. This keyword is position insensitive.


Sets the default debugging level aub runs at to N. N must be a non-negative integer. Debugging level 0 is the default; when run at debugging level zero, aub produces no output unless it runs into serious problems. Setting the debugging level to 1 will tell you about what aub is doing. Setting the debugging level to 2 will tell you even more about what aub is doing. Setting the debugging level to 3 or higher will show you more than you ever wanted to know. This keyword is position insensitive.

REC, recognize extension

The recognition code (the part of aub that identifies binaries) maintains a list of common suffixes that it uses to recognize binaries while it scans subject lines. The RECognize keyword allows you to add suffixes to this internal list of hints.This keyword is position insensitive.

ONLYREC, onlyrecognize extension

Works like RECognize, except that this list will not add to, but will replace the current list of extensions, and aub will only extract files that match one of the given extensions. This keyword is position insensitive.

SAM, sample N

For each group, examine at most N messages. Note that fewer than N messages may be loaded, if the newsgroup is missing articles.This keyword is position insensitive.


This keyword is meaningful only if your news access is NNTP-based. It will cause aub to not use the XHDR command to access the subject lines of news articles, even if the NNTP server you're using has XHDR capability. This keyword is position insensitive.

USER username

This keyword is meaningful only if your news access is NNTP-based. It enables NNTP authentication and provides the name you will use to log in. This keyword is position insensitive.

PASS [password]

This keyword is meaningful only if your news access is NNTP-based. It enables NNTP authentication and provides the name you will use to log in. This keyword is position insensitive.


This keyword will have aub completely ignore any unresolved articles. On large groups, this can be a huge speed-up but it will also result in aub ignoring any file that is incomplete as of the time you run aub but may complete itself later. Be careful when you use this as it will update the .aubrc file as if they had all be checked and come negatively. In other words, you run this once and any information you have about unresolved articles previous to running this is thrown away. Using this keyword is not recommended but it's here per a user request.

If the same keyword appears multiple times, and the second appearance is not a position sensitive override of some established default, then aub ignores the second instance of the keyword.


# optional: sample

# optional: onlyrecognize - saves files only if they have these extensions
# case-insensitive (.gif matches .GIF too, files will be saved as .gif)
ONLYRECOGNIZE .gif .jpg .jpeg .mpg .mpeg .mp3

# default directory to extract all files to
DIR /var/cache/aub/incoming/food

# add as many "group" directives as needed....
# group may be followed by another "dir" which applies to that group only


Mark Stantz (No valid email address known)

Brandon Long

Avinash Chopde

Mako Hill (responsible for this document)


Copyright (c) 1992-2002 Mark Stantz, Brandon Long, Avinash Chopde, Mako Hill

This code is offered as-is. Anyone is welcome to make improvements, provided that my notice of authorship is retained. I accept no responsibility for loss or damage caused by this program, nor do I accept responsibility for supporting it.


aub(1); the INTRODUCING_AUB document