Binn

A Binary Newsgroup Client


Introduction

Binn (Binary Newsreader, or Binn Is Not a Newsreader) is a client for binary newsgroups, with a simple text mode interface.

It parses the headers from a binary group and displays a summary of posts, with multipart posts represented by one line, marked as either complete (all parts available on the server) or incomplete.

The user can then download all available parts of a post with one command, and Binn will attempt to reassemble and decode them. Binn can also encode, split, and post a file. Encoding and decoding can be handled by the Convert::UU Perl module or by the unix uuencode and uudecode programs.

Binn only writes to disk when it has downloaded a complete article (ie one part of a multipart post) so if the connection is lost during download it can be restarted later at the appropriate part number. It can also reconnect and continue if the connection is lost while reading the headers from the server.

Caching of article headers is not implemented yet, but a record of last access time and article number is kept for each group if the user has a ~/.binn/newsrc file. These records are only used for the default server (either site wide default or specified in the user config file).

Binn is free software and you are welcome to redistribute it under the terms of the GNU General Public Licence. Binn comes with ABSOLUTELY NO WARRANTY.

Requirements:

To find out how to install Perl modules type `perldoc CPAN' at your prompt.

Installation:

To install, unpack the archive and run:

to configure the install path and the path to your perl executable, and then optionally edit the site wide defaults at the top of ./binn and run:

to install the program and manpage.

Users need a directory for binn's files (default ~/.binn). An example configuration file (~/.binn/config) is provided in the file example.config

Optionally a group list (default ~/.binn/newsrc) can be used to make group selection easier (see the `G' command below). This file is simply a list of group names, one per line. If the newsrc file exists, binn will add state information to it as necessary.

Usage:

$ binn [options] [newsgroup]

Options:

-h or --help
Print usage instructions.
--version or --warranty or --about
Print version/warranty information.
-v or --verbose
Print debugging information
-s or --server host
Connect to nntp server on `host'
-t or --timeout number
Set timeout for server connection to `number' seconds
-p or --post [file] [newsgroup] [subject] [from]
Post a file. Unspecified options are prompted for.
-G or --list-groups
List groups in newsrc file
-U or --no-decode
Do not uudecode downloaded posts.

Commands:

The following commands can be used at the binn> prompt. Arguments inside [] are optional. Space(s) between the command and first argument are optional.

The display commands (l,L,m and M) without an argument display the next batch of articles. An empty command is equivalent to l with no arguments.

h
display command help text.
s host
connect to nntp server on host.
G
show list of groups from ~/.binn/newsrc
g group
select newsgroup group.
g +
select next newsgroup from list.
g number
select newsgroup number from list.
l [number]
display summary of group starting with number.
L [number]
as l but only show complete posts.
m [number]
as l but only show multipart posts.
M [number]
as l but only show complete multipart posts.
r number
set summary range to number (0 for complete range).
i number
display information on post number.
t number
display headers for first part of post number.
d number [part]
download post number starting at part part.
u
toggle whether to uudecode downloaded posts.
! shell_command
run a shell command.
q
quit.

Download:

binn-0.2.0.tar.gz [12k]


[code] [home]