💾 Archived View for gemini.complete.org › getting-started-with-nncp captured on 2024-08-31 at 12:06:08. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-07-09)

-=-=-=-=-=-=-

Getting Started with NNCP

This page describes the basic installation and configuration of NNCP[1].

1: /nncp/

If you aren't already familiar with how NNCP works, I highly recommend you start with NNCP Concepts[2].

2: /nncp-concepts/

This is a companion to, and often a parallel of, the Workflow section of the NNCP manual[3].

3: https://nncp.mirrors.quux.org/Workflow.html

Installation

Main documentation: NNCP Manual: Installation Section[4].

4: https://nncp.mirrors.quux.org/Installation.html

On that page, you can find links to packages for various operating systems.

Building from source

Alternatively, if you need to build it yourself, you can download a source tarball[5] and build it from source.[6]

5: https://nncp.mirrors.quux.org/Tarballs.html

6: https://nncp.mirrors.quux.org/Build_002dinstructions.html

To build from source, you'll need Go[7] installed.

7: https://golang.org/

Then, from within the NNCP source tree, run something like:

export PREFIX=$HOME/nncp
./contrib/do install

Adjusting PREFIX, of course, to where you want it to go. Another popular value may be `/usr/local` or `/usr/local/nncp` for a systemwide installation.

Configuration

First, you'll generate a new NNCP config file:

$PREFIX/bin/nncp-cfgnew > $PREFIX/etc/nncp.hjson

(Use appropriate paths here; for instance, on Debian, nncp-cfgnew is in /usr/bin and the config goes under `/etc/nncp`.)

The NNCP configuration manual[8] describes what's in this file and how to use it.

8: https://nncp.mirrors.quux.org/Configuration.html

By default, you will have a node that is configured for itself, but doesn't know how to talk to others. Your general process now will be:

1. Run `nncp-cfgnew` on each machine you want to talk to

2. Copy the public keys from machine A to the neigh section[9] of machine B, and vice-versa. (This is similar to the ssh known_hosts and authorized_keys files).

9: https://nncp.mirrors.quux.org/CfgNeigh.html

If you don't have another machine to talk to, you could join the quux.org NNCP public relay[10] instead.

10: /quux-org-nncp-public-relay/

Use

Now, you can use it. Again, NNCP's workflow page[11] will explain how things generally work.

11: https://nncp.mirrors.quux.org/Workflow.html

--------------------------------------------------------------------------------

Links to this note

12: /ideas-for-nncp-projects/

I sometimes see people read about NNCP[13] and wonder "This sounds great! But... what can I do with it?" This page aims to answer those questions.

13: /nncp/

14: /nncp-concepts/

This page describes some basic concepts of NNCP[15].

15: /nncp/

16: /quux-org-nncp-public-relay/

According to the NNCP documentation[17], NNCP[18] is intended to help build up small size ad-hoc friend-to-friend (F2F) statically routed darknet delay-tolerant[19] networks for fire-and-forget secure reliable files, file requests, Internet Email[20] and commands transmission. All packets are integrity checked, end-to-end Encrypted[21], 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. Also there is multicasting area support.

17: https://nncp.mirrors.quux.org/

18: /nncp/

19: /asynchronous-communication/

20: /email/

21: /encrypted/

22: /nncp/

NNCP lets you securely send files, or request remote execution, between systems. It uses asynchronous communication[23], so the source and destination need never be online simultaneously. NNCP can route requests via intermediate devices -- other NNCP nodes, USB sticks, tapes, radios, phones, cloud services, whatever -- leading to a network that is highly resilient and flexible. NNCP makes it much easier to communicate with devices that lack Internet connectivity, or have poor Internet.

23: /asynchronous-communication/

More on www.complete.org

Homepage

Interesting Topics

How This Site is Built

About John Goerzen

Web version of this site

(c) 2022-2024 John Goerzen