Newsie

An NNTP Client Library targeting NodeJS. It supports the authentication, TLS encryption, base NNTP commands, and more.

I started this project after trying several NNTP clients and libraries and being disappointed in functionality, test coverage, and documentation. This library has extensive tests pulled directly from the implemented RFC documents themselves, and several examples.

Usage

Be sure to use the latest LTS (8.9.4+) of NodeJS. Earlier versions of NodeJS are not supported.

Install the library with yarn or npm:

npm install newsie yarn add newsie

Use the library to talk to an NNTP server:

const Client = require ( ' newsie ' ) . default const client = new Client ( { host : ' news.easynews.com ' , port : 110 } ) client . connect ( ) . then ( response => { console . log ( response ) return client . capabilities ( ) } ) . then ( response => { console . log ( response ) return client . quit ( ) } ) . then ( response => { console . log ( response ) } )

See the examples folder for more examples.

Development Notes

In IntelliJ, to debug files in the src directory, set Node Parameters to -r ts-node/register .

The semantic-release tool requires the GITLAB_TOKEN and NPM_TOKEN. It is configured with the @semantic-release/gitlab-config package.

Licensing

All code is licensed under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3.