epilys

nntpserver.py: no-dependency single file NNTP server library


Repository: https://github.com/epilys/nntpserver.py

No-dependency, single file NNTP server library for developing modern, rfc3977-compliant (bridge) NNTP servers for python >=3.7. Developed as part of tade, a web discussion forum with mailing list/NNTP interfaces which powers the https://sic.pm link aggregator.

Included example servers are:

screenshot of nntp server accessed via commodore amiga

https://sic.pm NNTP server that uses nntpserver.py
accessed on a Commodore Amiga with NewsCoaster client

Running example_server.py:

$ python3 example_server.py --connect-with-nntplib
Listening on localhost:9999
Connecting with nntplib...
New connection.
sending 201 NNTP Service Ready, posting prohibited
got: CAPABILITIES
sending 101 Capability list:
sending VERSION 2
sending READER
sending HDR
sending LIST ACTIVE NEWSGROUPS OVERVIEW.FMT SUBSCRIPTIONS
sending OVER
sending .
got: GROUP example.all
Group name example.all
sending 211 1 1 1 example.all
got: XOVER 1-1
sending 224 Overview information follows (multi-line)
sending 1       Hello world!    epilys <epilys@example.com>     Wed, 01 Sep 2021 15:06:01 +0000 <unique@example.com>            16      1
sending .
got: LIST OVERVIEW.FMT
sending 215 Order of fields in overview database.
sending Subject:
sending From:
sending Date:
sending Message-ID:
sending References:
sending Bytes:
sending Lines:
sending .
1 epilys <epilys@example.com> Hello world! (1)
Done with nntplib.

return to index