Binary Grabber (bgrab)

Why is it here?

 Ok well I found this app like 3 years ago and thought it was great. It saves so much time
and I have yet to find anything that compaires. Over the last year it has seemed to disapear
off the face of the earth so I decided to make it a website.

  I have found two versions 1.2.3 and 1.3.6.  1.3.6 didnt compile for me but with a few little
chages I got it to work. I don't know if I will make any other changes to or anything other than
leave it here.

There is some config file with some regex options but I am not shure exatly how that works
if any one has that documentation I would be happy to put it up here. Also I dont have too much
bandwith so be nice and if you want to mirror.


What is it?

The purpose of this program is to automate the downloading of binary
attachments from UseNet Newsgroups.  Given a group name, this program
will connect to a news server, read all messages in that group and
extract any binary attachments included in any of those messages
(including multipart attachments).  This program does not require any
keyboard interaction and could be fairly easily scheduled to run from


These is no warranty, expressed or implied, for the suitability of
this program for any particular purpose.  By using this program you
take full responsibility for any repercussions of your use of it,
including but not limited to loss of income, property, women, friends,
and life.


Staticly Linked striped i386 binary and Docs (300k)

Patched source code to 1.3.6 (this included my patches and patches I found in an srpm both good) (16k)

    My patch aplyes to clean source includes both the others    (4k)
    regex patch (changes include from rxposix.h -> regex.h) (4k)
    no replace patch (4k)
    my patch without the others (8k)

Version 1.3.6 (20k)

Version 1.2.3  (16k)


To compile this program, you need to be on a system that uses the GNU
C++ Compiler (or that has some other ANSI C++ compliant compiler linked
to run as the 'gcc' executable).  You also need to have either curses or
ncurses installed.

Makefiles are included for Linux and Solaris systems.  The attached
configure script does nothing more than try to figure out if you're
running one of these two OS'es and create a link from one of them to
Makefile if you are.  The Linux makefile assumes you have ncurses
installed, the Solaris that you have curses itself.

If some of this isn't true (i.e. if you're running some other variant
of UNIX or if your curses is called something different), you're on
your own to compile.


"make install" will try to move the program binary (bgrab) to
/usr/local/bin and make it root/root/755.


You'd probably want to create a special directory and then run this
program from within that directory.  The program creates the following

        groupname       A file named the same name as the group
                        it's reading.  This is used to store the
                        database of message ID's of the messages
                        that have already been read, so that they
                        aren't read again.

        *.uue           These files store Unix-to-Unix encoded
                        message *parts*.  That is to say, you will
                        only see these files if the group you're
                        reading contained only parts of a large
                        multi-part post.  The reader saves the parts
                        that are there, but since the remaining parts
                        are never found, it never gets around to
                        completing that particular attachment and
                        removing the "part" files.  These should
                        be manually removed every few days.

Additionally, of course, the reader will output any attachments it
does manage to decode into the current directory.

The program does not do any actual decoding itself, by the way, but
in fact forks off uudecode and mmencode processes.  If you do not
have those utilities installed, you will not be able to decode
Unix-to-Unix encoded files or MIME encoded files, respectively.

By default, Binary Grabber tries to access "news" as its news
server.  If you do not have your DNS configured so that this
actually resolves to your news server, you must set the environment
variable NNTPSERVER to your valid news server's name.

Otherwise, type "bgrab" without any command line arguments to see
the correct syntax for running the program.