NNTP client considerations; how to avoid 480 error?

era <[email protected]> Tue, 04 May 2021 16:21:14 +0300
Newsgroups gmane.discuss
Message-ID <[email protected]>
I used to be able to use slrnpull on Debian out of the box to poll
Gmane.

Unfortunately, this is no longer feasible for a lambda running in AWS.
Being my usual optimistic self, I hacked up a quick client using Python
and the nntplib module from its standard library.

With readermode=True, it works fine for a while, but then I get an NNTP
480 error which traditionally seems to mean I should authenticate to the
server. Except, if I try to authenticate, Gmane's NNTP server just
rejects me immediately. (No wonder; I just made up my "credentials".)

Right now, it's just entering around 75 groups and getting the article
counts; but it fails after 60. I added a sleep between groups but that
did not help much. Making the sleep longer only means it fails after
fewer groups.

I tried to look around for guidance and best practices for NNTP client
authors, but the resources I found were all very old and of dubious
provenance. Is there something I failed to find which I should have
found?

Barring that, can you suggest some good practices for connecting to
Gmane specifically?

My initial use case it to just start fetching a few groups nightly, but
down the line, I might want to scale up to bigger batches, such as
perhaps eventually a large part of Gmane, if I can figure out a good way
to add value back to the site from my experiments.

(I have been using my employer's bandwidth; if merely switching to a
different IP address is all it takes, that's useful information, too.
I'd like for my affiliation to remain obscure, if that's alright.)

--
If this were my real .signature, it would suck less.  Well, perhaps not.