Skip to content

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

License

Notifications You must be signed in to change notification settings

epilys/nntpserver.py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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