NNTPKick - Another pounding Blender Software (BS) production
------------------------------------------------------------

This is a client for AmigaNOS that posts Usenet articles to a NNTP server.

I couldn't get AmigaNOS' built-in NNTP poster to work and Demon Internet's
mail2news gateway messes around with the headers something chronic and it
can't cope with 8 bit characters (because it's mail). So I wrote this.


What you need
-------------

Kickstart 2 or above and Graham Walter's version of AmigaNOS (I'm using GW6,
I don't know if earlier versions will work).

You also need ARexx running if you want to use the UUCP to AmigaNOS script.


Installing
----------

Copy NNTPKick to the TCPIP:Clients drawer.

In your TCPIP:NOS-Startup file (towards the end), put 'client nntpkick'. You
might want to set up the options, look down a bit for that.

Make the directory TCPIP:Spool/Nqueue. This is a directory which holds
spooled articles, like TCPIP:Spool/Mqueue does for mail.

Get your news articles into Nqueue before you use AmigaNOS to dial up your
Internet provider. It depends on your set up how you do this...

If you use an AmigaNOS/UUCP/Demon Internet set up then make a file called
UULIB:sitename. This is a single line that holds your full site name, mine's
'blender.demon.co.uk'. Then copy the ARexx script NNTPPost to wherever you
want and mark it as a script by typing 'protect NNTPPost srwd'. Now just run
the script before dialing up and you're sorted. With DIS3, if you alter
'newspost' in DIS:C/Newsreader to 'nntppost' then everything's as automatic
as it was before. Protect DIS:C/Newsreader srwd after editing it.

If you run an AmigaNOS/UUCP setup but not with Demon then do the same, but
change the 'batchfile' variable at the top of the script to whatever yours
is called and re-protect srwd it if you need to.

If you use AmigaNOS without UUCP then put the line 'assign UULIB: S:' in your
User-Startup, make the file S:sitename, and sort out yourself how to get your
articles into Nqueue (the hints at the end will probably help).

The ARexx script needs the Tail command in either C: or the same directory as
NNTPPost. If you've already got it then you might still need to use this one.
Some versions of Tail can't cope with long lines, which means that some
postings might not get out.


Options
-------

From the shell:	NNTPKick SERVER,DIR=DIRECTORY/K,IHAVE/S,POST/S
From AmigaNOS:	client "NNTPKick SERVER,DIR=DIRECTORY/K,IHAVE/S,POST/S"

- SERVER
  The news server to post the articles to. If you don't give a server then
  it looks in TCPIP:Spool/News/nntp.dat and uses the one in there.

- DIR=DIRECTORY/K
  The directory for the news spool. Defaults to TCPIP:Spool/Nqueue.

- IHAVE/S
  Ignore any 'posting denied' message given by the news server once NNTPKick
  is connected (instead of disconnecting immediately). The reason is that
  some servers say that posting is denied through the POST command but still
  allow postings through the IHAVE command (which is the default for this
  program). Try this if NNTPKick with no options doesn't work.

- POST/S
  Use the POST command instead of the IHAVE command (which is the default)
  for posting articles. Try this if NNTPKick with no options doesn't work and
  NNTPKick with the IHAVE option doesn't work.


Hints and tips
--------------

When you use NNTPKick from the command session window (or TCPIP:NOS-Startup),
the quotes are important unless you're just using 'client nntpkick' with no
options where you can get away with leaving them out.

If there's a problem at the server (eg. the server's busy) you can use
'client nntpkick' from the command session window to start it up again (use
FKey to speed up typing).

Or you could tell NNTPKick to use a different, less busy, server. For Demon
people you can use distort.demon.co.uk instead of news.demon.co.uk, so you'd
use 'client "nntpkick distort.demon.co.uk"' from the command session window
(or TCPIP:NOS-Startup).

If there's a posting failure, the .wrk file is deleted but the .txt file is
left behind in SLIP:Spool/Nqueue. Only a .txt/.wrk pair is posted, .txt files
on their own are ignored. You can try to post it again if you want by making
the .wrk file again.


Techy stuff
-----------

- Format of Nqueue.

  Each article spooled in Nqueue is held in two files...

	filename.txt
	filename.wrk

  Also there is a third file...

	filename.lck

  If you make a file called this (it doesn't matter what it holds, so it may
  as well be empty) then NNTPKick won't even look at the .txt and .wrk files.
  So the script that spools the article to Nqueue has to make this file
  first, then make the .txt and .wrk files, then delete the .lck file.
  Otherwise if you're on-line NNTPKick could try to post half-spooled files.

- Format of filename.txt.

  Filename.txt holds the news article. It should have the following headers
  at least (it doesn't matter about the order)...

  From: <username>@<sitename> (Real Name)
  Date: Day, DD Mon YYYY HH:MM:SS TIMEZONE
  Newsgroups: <newsgroups>
  Subject: <subject>
  Message-Id: <message-id@sitename>
  Path: <sitename!username>

  If you use a UUCP setup then PostNews and NNTPPost do everything you need
  automatically so you don't have to bother checking anything. If you don't
  then you've got to sort everything out yourself.

- Format of filename.wrk.

  Filename.wrk file holds the article's message ID on a single line. It
  mustn't hold the header and it must have the angled brackets...

  <dan.0001@blender.demon.co.uk>


Boring wibble
-------------

Apart from the Tail command, it's copyrighted by me but freely distributible.
It shouldn't be altered in any way and you should only charge for disks,
postage, or packing if you charge anything.

If you lose news then I can't be held responsible lost news or anything else
going wrong - you use this program at your own risk. After all, it's free -
what more do you want? But I trust it enough to use it.

And it can't be used as part of anything that's sold for profit without my
say so, although the chances of that are fairly remote, I think.

My Email address is dan@blender.demon.co.uk, if you spot a bug or something.

Actually I'm closing my Demon account fairly soon. If you get a bounce or
no reply, try CM-D.J.Cannon@tees.ac.uk instead.

Dan.
