Skip to content

epilys/nntpserver.py

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

nntpserver.py

https://pypi.org/project/nntpserver/

python3 -m pip install nntpserver

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Languages