💾 Archived View for complete.org › getting-started-with-nncp captured on 2024-08-24 at 23:36:46. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-08-18)
-=-=-=-=-=-=-
This page describes the basic installation and configuration of NNCP[1].
If you aren't already familiar with how NNCP works, I highly recommend you start with NNCP Concepts[2].
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
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.
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.
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.
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/
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
--------------------------------------------------------------------------------
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.
This page describes some basic concepts of NNCP[15].
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/
19: /asynchronous-communication/
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/
(c) 2022-2024 John Goerzen