Skip to main content

No dependency, single file NNTP server library for developing modern, rfc3977-compliant (bridge) NNTP servers

Project description

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:

  • example_server.py returning hard-coded articles
  • hnnntp.py querying news.ycombinator.com (hackernews) API and caching results in an sqlite3 database. A public instance might be online at nessuent.xyz:564 (TLS only)

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nntpserver-0.0.3.tar.gz (22.7 kB view hashes)

Uploaded source

Built Distribution

nntpserver-0.0.3-py3-none-any.whl (22.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page