Nuzer

Contents: Purpose Objectives Dependencies Related Projects Code Usage

Purpose

A secure fast MIME/uuencode decoder that scans newsgroups for binaries and fetches them.

Objectives

Dependencies

Client side
Any system with a POSIX-compliant filesystem (including hard links), TCP/IP support, and capable of running Perl should work. The Perl code for decoding uuencode and base64 is quite slow.
Server side
Requires the XOVER extension and probably depends on a number of INN-specific features. Relies on XOVER database for network bandwidth efficiency. If the news server generates XOVER data on the fly then the client will be comparable in speed with non-enhanced news decoder programs such as aub. Only tested with INN.

Related Projects

aub inspired me to write this program, i.e. it was beyond saving.

uudeview is much better known but nuzer came first.

The idea of automated newsgroup binary decoding is as old as file attachments in news articles. This is nothing new.

Code

nuzer Perl script.

Usage

nuzer history-file 'alt.binaries.*' '!*pictures*'
The "history-file" argument contains nuzer's incremental download history database. It lists message-ID's of articles that it has successfully decoded or that contain no encoded binary data. The remaining arguments are newsgroup pattern specifiers that select newsgroups to decode articles from. Articles are decoded in the current directory with directory names based on newsgroup names. Cross-posted binaries are hard-linked to all relevant directories when decoded. Patterns that start with '!' are negative-matching patterns. In the example, binaries are fetched from any newsgroup name starting with "alt.binaries." and not containing the word "pictures".