Sign inSign up

cdpxe/wendzelnntpd

By cdpxe

•Updated about 1 year ago

WendzelNNTPd is an easy to configure Usenet server (NNTP daemon). Github-generated docker images.

Image
Networking
0

996

cdpxe/wendzelnntpd repository overview

⁠Description

WendzelNNTPd is an easy to configure Usenet server (NNTP daemon). WendzelNNTPd breaks down complicated things into an easy-to-use configuration file and tool. The server is portable (Linux/OpenBSD/FreeBSD/NetBSD and some similar systems), supports IPv4 and IPv6, experimental support for TLS (SNNTP/NNTPS), AUTHINFO authentication, contains support for Access Control Lists (ACL), Role-based Access Control (RBAC) and supports invisible newsgroups. It currently supports MySQL and SQLite backends.

This server is tailored for retro computing people as well as small workgroups, where users trust each other and where no synchronization with other usenet servers is necessary. For this reason, not all advanced NNTP features are included (e.g. commands for server synchronization).

⁠Why you want a Usenet server

Probably because you are into retro computing and already run a Gopher service! :) WendzelNNTPd is not tailored as a critical service, it is for nerds who like to play with the protocol and want to use it for fun! Also, feel invited to contribute your patches and extensions!

Read my blog posting on WendzelNNTPd⁠.

⁠Features

  • Runs on Linux, OpenSolaris, *BSD
  • Supports IPv6
  • Conservative design philosophy:
    • Tiny (approx. 11,000 Lines of Code), to limit potential (security) flaws, including optional features that can be deactivated at compile time.
    • Do not implement unnecessary features.
    • Do not make things too complicated and check for compatibility with old newsreaders.
  • Written in C
  • Database abstraction layer (supports SQLite3 and MySQL)
  • Supports NNTP authentication (AUTHINFO USER/PASS)
  • Supports advanced Access Control Lists (ACL) and Role-based Access Control (RBAC)
  • Automatically prevents double-postings
  • Supports "invisible newsgroups"
  • It is open + free software! :)
  • v.2.2: TLS server authentication and data encryption
  • v.2.2: Supports multiple connectors so that multiple socket configurations can be used simultaneously
  • v.2.2.: Supports NNTPS ans SNNTP with TLS 1.0-1.3
  • v.2.2.: Support for client certificate verification (mTLS) and CRL checks

⁠How to use this image

$ docker run --name my-wendzelnntpd -d -p 119:119 -p 563:563 cdpxe/wendzelnntpd

⁠Specify volumes for the database and configuration files

$ docker run --name my-wendzelnntpd -d -p 119:119 -p 563:563 -v wendzelnntpd_config:/usr/local/etc/wendzelnntpd -v wendzelnntpd_data:/var/spool/news/wendzelnntpd cdpxe/wendzelnntpd

⁠Administration with wendzelnntpadm

$ docker run --rm -v wendzelnntpd_config:/usr/local/etc/wendzelnntpd -v wendzelnntpd_data:/var/spool/news/wendzelnntpd cdpxe/wendzelnntpd wendzelnntpadm

Find further information regarding the administration of WendzelNNTPd in Running - WendzelNNTPd⁠.

⁠Create new certificates

$ docker run --rm -v wendzelnntpd_config:/usr/local/etc/wendzelnntpd cdpxe/wendzelnntpd create_certificate

⁠Configuration

⁠Get the configuration file

Copy the default configuration file from the image to the host:

$ docker run --rm --entrypoint=cat cdpxe/wendzelnntpd /usr/local/etc/wendzelnntpd/wendzelnntpd.conf > /home/youruser/wendzelnntpd.conf

Or copy the current configuration file from your container:

$ docker cp my-wendzelnntpd:/usr/local/etc/wendzelnntpd/wendzelnntpd.conf /home/youruser/wendzelnntpd.conf 
⁠Edit the configuration file

Find further information regarding the configuration of WendzelNNTPd in Configuration - WendzelNNTPd⁠.

⁠Provide the configuration file to the container

Copy the configuration file back to the container:

$ docker cp /home/youruser/wendzelnntpd.conf my-wendzelnntpd:/usr/local/etc/wendzelnntpd/wendzelnntpd.conf

Or bind mount the configuration file (the file needs to be owned by root in this case):

$ sudo chown 0:0 /home/youruser/wendzelnntpd.conf
$ docker run --name wendzelnntpd -d -p 119:119 -p 563:563 -v wendzelnntpd_config:/usr/local/etc/wendzelnntpd -v wendzelnntpd_data:/var/spool/news/wendzelnntpd -v /home/youruser/wendzelnntpd.conf:/usr/local/etc/wendzelnntpd/wendzelnntpd.conf:ro -d cdpxe/wendzelnntpd

Or build a new image with your configuration file:

FROM cdpxe/wendzelnntpd
COPY wendzelnntpd.conf /usr/local/etc/wendzelnntpd/wendzelnntpd.conf

⁠Further information

⁠License

WendzelNNTPd is licensed under the GPLv3 license (see license information⁠).

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

Tag summary

Content type

Image

Digest

sha256:292669bcd…

Size

32.9 MB

Last updated

about 1 year ago

docker pull cdpxe/wendzelnntpd