Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Usenet feeds via NNCP (UUCP successor) available

46 views
Skip to first unread message

John Goerzen

unread,
Aug 30, 2021, 11:01:57 PM8/30/21
to
Hi folks,

If you haven't heard of it, NNCP [1] is to UUCP approximately what ssh is to
rsh/telnet. NNCP is asynchronous, delay-tolerant for fire-and-forget secure
reliable files, file requests, Internet mail (and now NEWS) and commands
transmission. All packets are integrity checked, end-to-end encrypted,
explicitly authenticated by known participants public keys. Onion encryption is
applied to relayed packets. Each node acts both as a client and server, can use
push and poll behaviour model. NNCP can operate over a lot of transports:
Internet, USB sticks, tapes, CD-ROMs, ssh, Dropbox, etc.

So basically it's UUCP for the modern world. I've used NNCP for everything from
automated git repo synchronization [2] to hundreds-of-GB ZFS backup streams.

And I now intend to offer Usenet feeds to interested people that would like to
receive them over NNCP. The setup is easier than with UUCP, the environment is
more secure, and the approach is so similar that it needs only a tiny bit of
glue to drop in to INN in place of UUCP.

Over at https://github.com/jgoerzen/nncp-tools/blob/main/docs/usenet.org you can
find my instructions on doing this. It contains instructions both for
communicating with news.quux.org over NNCP (including prerequisites and
expectations) as well as some background on setting up NNCP for standalone
INN-based non-public networks.

It is also a sort of brief-ish tutorial on the minimum setup necessary to get
INN working with NNCP in this way. It could also, by extension, be somewhat of
a starting point for the INN side of things for those wishing to use UUCP as
well. The primary difference is using nncp-exec instead of uux, and there is a
small shell wrapper to pretend to be uux and transform the uux invocation into
an nncp-exec one. No INN patching is necessary.

For those interested, NNCP's integration page [3] discusses how to integrate it
with Postfix or Exim (agin using UUCP-like techniques), BitTorrent, etc. Over
at my nncp-tools page [4] I have information on the NNCP public relay I operate,
tunneling NNCP over other transports, and so forth.

I would welcome any corrections, contributions, feedback, etc. on any of this.

Thanks,

John

[1] http://www.nncpgo.org/ or https://nncp.mirrors.quux.org/

[2] https://changelog.complete.org/archives/10274-distributed-asynchronous-git-syncing-with-nncp

[3] https://nncp.mirrors.quux.org/Integration.html

[4] https://github.com/jgoerzen/nncp-tools

Chris Baird

unread,
Aug 31, 2021, 9:51:16 AM8/31/21
to
> So basically it's UUCP for the modern world.

UUCP for people with personality disorders.

There's been hundreds of projects trying to implement
Cypherpunk-approved sub-Internets.. but in the
$CURRENT_CENTURY they only attract trash and not the
people who create communities.
And needs moar Blockchain.
And less Go. Are you deliberately trying to be anti-interoperative?

--
Chris

John Goerzen

unread,
Aug 31, 2021, 11:57:50 AM8/31/21
to
["Followup-To:" header set to news.admin.peering.]

On 2021-08-31, Chris Baird <cjb+u...@brushtail.apana.org.au> wrote:
>> So basically it's UUCP for the modern world.
>
> UUCP for people with personality disorders.
>
> There's been hundreds of projects trying to implement
> Cypherpunk-approved sub-Internets.. but in the

That is not what NNCP is trying to do.

NNCP is low-level tooling. It is not about building some large community any
more than ssh is. It's not Hyperboria or Tor or I2P. The NNCP front page says
it's "intended to help build up small size (dozens of nodes) ad-hoc
friend-to-friend..."

It is a Unixy tool. It's not a website, not a community, not some TCP
replacement. A command-line tool, that requires an exchange of public keys
before conversation can even begin.

I don't really want to veer too far off-topic in this group, and would welcome
an email conversation.

Fundamentally, we have been in a place for awhile now where there's no good
Unixy way to do async. UUCP's security model is, at best, clumsy for this
moment in time. When your only tool is ssh, every problem looks like a
synchronous one. Those that don't need synchronous communication often resort
to it anyhow because the alternative is difficult and clumsy. Those that MUST
have async (eg, network backups to tape, certain large-scale logging
aggregations, etc) have to implement it custom each time.

So, I figure, what better way to explore secure async on Unix than with some
things it's ideally suited for? I have been using NNCP for my own backups. I
use it for syncing my org-mode git repo. It is close enough to UUCP to be a
fairly easy drop-in replacement for the things that still support UUCP: Postfix,
Exim, INN, and the like.

> $CURRENT_CENTURY they only attract trash and not the
> people who create communities.
> And needs moar Blockchain.
> And less Go. Are you deliberately trying to be anti-interoperative?

I'm not sure where that comes from - please do enlighten me if I'm making some
mistake here. I am open to feedback from the community and want to make sure I
am not causing a problem. I had visited about this plan with one of the
long-time server operators here before beginning. On every page I've written
about, I've emphasized that I welcome NNTP peers. I have several (thank you!)
and I want to give back in that way - and this one.

The post you were replying to was transmitted over NNCP. That didn't seem to
cause any trouble with propagation any more than UUCP would. It's just a
different layer underneath INN.

If there are specific suggestions you have for how to make sure I'm doing this
well, I'm all ears. But if what you're saying is "crypto transport leads to bad
things", I guess ssh (and UUCP over ssh, which some people still offer for
Usenet) would like a word with you. This is USENET we're talking about. It's
not a separate anything. It's still going to propagate via encrypted NNTP to
the globe, like anything else.

You will notice also, I hope, that I tried to be very clear for people getting a
NNCP feed from me what the expectations would be.

- John

opal hart

unread,
Sep 13, 2021, 3:43:59 PM9/13/21
to
On Tue, 31 Aug 2021 03:01:06 -0000 (UTC)
John Goerzen <jgoe...@complete.org> wrote:

> Hi folks,
>
> If you haven't heard of it, NNCP [1] is to UUCP approximately what ssh is to
> rsh/telnet.

Coming from n.a.peering (but removed the crosspost since it's offtopic
there) and I'd just like to give thanks for making me aware of NNCP. I
think one or more people I know may be interested in toying with it.

John Goerzen

unread,
Sep 16, 2021, 12:52:15 AM9/16/21
to
On 2021-09-13, opal hart <use...@wowana.me> wrote:
>
> Coming from n.a.peering (but removed the crosspost since it's offtopic
> there) and I'd just like to give thanks for making me aware of NNCP. I
> think one or more people I know may be interested in toying with it.

Great! Feel free to ask any questions you may have - here, on the NNCP mailing
list, wherever.

The quux public relay may be of interest to you also:

https://github.com/jgoerzen/nncp-tools/blob/main/docs/quux-relay.org

- John

Crypto God

unread,
Oct 9, 2021, 12:54:56 AM10/9/21
to
John Goerzen wrote:

> If you haven't heard of it, NNCP [1] is to UUCP approximately what ssh is to
> rsh/telnet. NNCP is asynchronous, delay-tolerant for fire-and-forget secure
> reliable files, file requests, Internet mail (and now NEWS) and commands

How do you see this working for email? Would one need an explicit .nncp
address (like in the old days with .uucp addresses)?

John Goerzen

unread,
Nov 8, 2021, 9:51:11 AM11/8/21
to
As with UUCP, it would be up to the individual site; NNCP is a transport, as UUCP is.

I've written up docs for running BSMTP over NNCP, but one could just as easily
run rmail over it, as it is nearly a drop-in replacement for uux.

https://nncp.mirrors.quux.org/Integration.html has the details on working with
Postfix (by the NNCP author) and Exim (by me).

I think the most common use would be for leaf sites (as in the final days of
mainstream UUCP) but it could be whatever a person wants to build it out as.

- John

Meow

unread,
Jun 17, 2023, 4:07:45 PM6/17/23
to
> Hi folks,
>
> If you haven't heard of it,
i havent
> NNCP [1] is to UUCP approximately what ssh
> is to rsh/telnet. NNCP is asynchronous, delay-tolerant for
> fire-and-forget secure reliable files, file requests, Internet mail (and
> now NEWS) and commands transmission. All packets are integrity checked,
> end-to-end encrypted,
> explicitly authenticated by known participants public keys. Onion
> encryption is applied to relayed packets.
unnedded for usenet
> Each node acts both as a
> client and server, can use push and poll behaviour model. NNCP can
> operate over a lot of transports:
> Internet, USB sticks, tapes, CD-ROMs, ssh, Dropbox, etc.
what about usb and dial up and 1(or two for input and one for uotput)(+)
pin RasPI GPIO
>
> So basically it's UUCP for the modern world. I've used NNCP for
> everything from automated git repo synchronization [2] to hundreds-of-GB
> ZFS backup streams.
>
> And I now intend to offer Usenet feeds to interested people that would
> like to receive them over NNCP. The setup is easier than with UUCP, the
> environment is more secure, and the approach is so similar that it needs
> only a tiny bit of glue to drop in to INN in place of UUCP.
im out of glue
> Over at https://github.com/jgoerzen/nncp-tools/blob/main/docs/usenet.org
> you can(t)
i added the t
> find my instructions on doing this. It contains instructions
> both for communicating with news.quux.org over NNCP (including
> prerequisites and expectations) as well as some background on setting up
> NNCP for standalone INN-based non-public networks.
> It is also a sort of brief-ish tutorial on the minimum setup necessary
> to get INN working with NNCP in this way. It could also, by extension,
> be somewhat of a starting point for the INN side of things for those
> wishing to use UUCP as well. The primary difference is using nncp-exec
> instead of uux, and there is a small shell wrapper to pretend to be uux
> and transform the uux invocation into an nncp-exec one. No INN patching
> is necessary.
but can i us nncp and uucp
>
> For those interested, NNCP's integration page [3] discusses how to
> integrate it with Postfix or Exim (agin using UUCP-like techniques),
> BitTorrent, etc. Over at my nncp-tools page [4] I have information on
> the NNCP public relay I operate,
that removes to f2f part
> tunneling NNCP over other transports,
can i use it on yggdrasil?
> and so forth.
>
> I would welcome any corrections, contributions, feedback, etc. on any of
> this.
>
> Thanks,
youre not welcome
yggdrasil http://y.www.nncpgo.org/
>
> [2]
> https://changelog.complete.org/archives/10274-distributed-asynchronous-

immibis

unread,
Dec 16, 2023, 9:35:44 AM12/16/23
to
(Necropost, but this project is still actively advertised on your site.)

My concern with this idea is that you may have designed an Abstraction
Inversion (https://wiki.c2.com/?AbstractionInversion): it seems like
NNCP is a protocol stack to transfer news over something virtually
identical to news, or at least something virtually identical to e-mail.

You make a point that everything's nice and simple because NNCP packets
are fundamentally just files - but so are news articles (and e-mails).
If you have a system to transfer NNCP packets containing news articles,
why not just transfer the news articles? I feel that e-mail and news
(not SMTP and NNTP) are already the asynchronous communication system
you want. I think the biggest difference is that in NNCP every node is
an anonymous remailer.
0 new messages