From 997b1411084e23bc821001c0f7fa50a0bca93285 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Tue, 10 Jan 2017 11:35:53 +0300 Subject: [PATCH] Installation instructions --- INSTALL | 2 +- doc/.well-known/openpgpkey/hu/.gitignore | 1 + .../hu/i4cdqgcarfjdjnba6y4jnf498asg8c6p.asc | 21 ++++++++ doc/Makefile | 1 + doc/contacts.texi | 8 +++ doc/download.texi | 10 ++++ doc/index.texi | 13 ++++- doc/install.texi | 50 +++++++++++++++++++ doc/integrity.texi | 40 +++++++++++++++ doc/sources.texi | 20 ++++++++ 10 files changed, 163 insertions(+), 3 deletions(-) mode change 100644 => 120000 INSTALL create mode 100644 doc/.well-known/openpgpkey/hu/.gitignore create mode 100644 doc/.well-known/openpgpkey/hu/i4cdqgcarfjdjnba6y4jnf498asg8c6p.asc create mode 100644 doc/contacts.texi create mode 100644 doc/download.texi create mode 100644 doc/install.texi create mode 100644 doc/integrity.texi create mode 100644 doc/sources.texi diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 1333ed7..0000000 --- a/INSTALL +++ /dev/null @@ -1 +0,0 @@ -TODO diff --git a/INSTALL b/INSTALL new file mode 120000 index 0000000..a4292cb --- /dev/null +++ b/INSTALL @@ -0,0 +1 @@ +doc/install.texi \ No newline at end of file diff --git a/doc/.well-known/openpgpkey/hu/.gitignore b/doc/.well-known/openpgpkey/hu/.gitignore new file mode 100644 index 0000000..3a1ab10 --- /dev/null +++ b/doc/.well-known/openpgpkey/hu/.gitignore @@ -0,0 +1 @@ +i4cdqgcarfjdjnba6y4jnf498asg8c6p diff --git a/doc/.well-known/openpgpkey/hu/i4cdqgcarfjdjnba6y4jnf498asg8c6p.asc b/doc/.well-known/openpgpkey/hu/i4cdqgcarfjdjnba6y4jnf498asg8c6p.asc new file mode 100644 index 0000000..e8cad95 --- /dev/null +++ b/doc/.well-known/openpgpkey/hu/i4cdqgcarfjdjnba6y4jnf498asg8c6p.asc @@ -0,0 +1,21 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQENBFh0lv0BCADmquHdyjr1Mr8VHRNxzipHxmgbdK3CGJL1yzb1ntj7zbJl5UnQ +71cxQ968pYPOBYqsA3oqtURAXzVL6qPGajHM+OXKB5OOjmt7vbd3xP5sBCWOjlrq +S7yWx5ffuXf++tCGiXGkG7q+4zmXJUBuaot0fQ5ebBVLzVVIMv2C4hArZFZtK+YZ +GkrIU+S49joe4qeUdCIQ1KpEB2m774QFxG05fMMys9L60wkL6ZgAy0GadkvCI5jD +Xj5nRxa0fn+T/pcOWCpy7ka4rCR0rKCCNB8ARvpDnknTu2S9cxnWy1uOMv8JQpTb +nY27vprdkH9aykdPl/7uHL/X1hutFxE8FOAjABEBAAG0I05OQ1AgcmVsZWFzZXMg +PHJlbGVhc2VzQG5uY3Bnby5vcmc+iQFXBBMBCABBFiEEksLwrv5zII5Gv/PeKyWG +jnWhqVMFAlh0lv0CGwMMCwoJDQgMBwsDBAECBxUKCQgLAwIFFgIBAwACHgECF4AA +CgkQKyWGjnWhqVOaBggAqWywYtUddljHpiR/SK8uiYjSl8/F4QemM+tsu66GW56Y +ZB7VFOxNFcpEfSnWwH61cJ5lCuRRgyjJcIOptzbKbO+nvYQEtXznjQYoJMLnPqAa +2UPI5Seaijx8sXQWzYRq2Vzl9KUDBlhB2y4jZD4CFC1V29NRbWuPUajZn8UiZzFT +IUR/gjvtYQozF0jN8Sevs+oGAN1tqK5kYo8YXEeL+3NCVUJkqFmBtFVxrxzty4cE +ozgKpXzt9bi10a1hthKluWcZD6Zc4InqQhAGXb2JB2a5wRTs8CkJtHadwBOD3JEt +HjfhBAoZMYmhOBeHt87AG5OjFNRIOJ2rRacnRDA3E4h1BBARCAAdFiEEz2Domlkj +HnbiY2QirhqBCeSYV+8FAlh0lxYACgkQrhqBCeSYV+9i1QD/bdLAY67nf5giI/wQ +i6K7v6PTPFwG6TtG6jj68Cy13RgA/iMuKw7niLwyPWRKzWcMIG1YhVyCNCgKQvFL +vdr6yKbN +=R8E0 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/doc/Makefile b/doc/Makefile index 90f5a37..4cfbdc2 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -18,3 +18,4 @@ nncp.html: *.texi --set-customization-variable CLOSE_QUOTE_SYMBOL=\" \ --set-customization-variable OPEN_QUOTE_SYMBOL=\" \ -o nncp.html index.texi + cp -r .well-known nncp.html/ diff --git a/doc/contacts.texi b/doc/contacts.texi new file mode 100644 index 0000000..473df97 --- /dev/null +++ b/doc/contacts.texi @@ -0,0 +1,8 @@ +@node Contacts +@unnumbered Contacts + +Please send questions regarding the use of NNCP, bug reports and patches to +@url{https://lists.cypherpunks.ru/pipermail/nncp-devel/, nncp-devel} +mailing list. Announcements also go to this mailing list. + +Official website is @url{http://www.nncpgo.org/}. diff --git a/doc/download.texi b/doc/download.texi new file mode 100644 index 0000000..29ca78d --- /dev/null +++ b/doc/download.texi @@ -0,0 +1,10 @@ +@node Tarballs +@section Prepared tarballs + +You can obtain releases source code prepared tarballs from the links below +Do not forget to check tarball @ref{Integrity, integrity}. + +@multitable {XXXXX} {XXXX KiB} {link sign} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} +@headitem Version @tab Size @tab Tarball @tab SHA256 checksum + +@end multitable diff --git a/doc/index.texi b/doc/index.texi index 6814723..6d033da 100644 --- a/doc/index.texi +++ b/doc/index.texi @@ -49,28 +49,37 @@ POSIX}-compatible systems. Easy integration with existing @url{https://en.wikipedia.org/wiki/SMTP, SMTP} servers. Single @url{http://yaml.org/, YAML} configuration file. +Why create yet another store-and-forward solution when UUCP, FTN and +even SMTP exists? Look in @ref{Comparison, comparison} section! +Simplicity, cryptographic security, sneakernet compatibility and easy +integration with current SMTP servers are the reasons. + @menu -* Comparison with existing solutions: Comparison. +* Comparison:: * Use cases:: * Workflow:: -* Configuration file: Configuration. +* Installation:: +* Configuration:: * Commands:: * Spool directory: Spool. * Log format: Log. * Packet format: Packet. * Sync protocol: Sync. +* Contacts and feedback: Contacts. * Copying conditions: Copying. @end menu @include comparison.texi @include usecases.texi @include workflow.texi +@include install.texi @include cfg.texi @include cmds.texi @include spool.texi @include log.texi @include pkt.texi @include sp.texi +@include contacts.texi @node Copying @unnumbered Copying conditions diff --git a/doc/install.texi b/doc/install.texi new file mode 100644 index 0000000..a362193 --- /dev/null +++ b/doc/install.texi @@ -0,0 +1,50 @@ +@node Installation +@unnumbered Installation + +NNCP should run on any POSIX-compatible operating system with file +systems supporting directory and filename's length up to 57 characters. + +NNCP is written on @url{https://golang.org/, Go} programming language +and you have to install Go compiler (1.7+ version is highly +recommended). @emph{Make} (BSD and GNU ones are fine) is recommended for +convenient building. @url{https://www.gnu.org/software/texinfo/, +Texinfo} is used for building documentation. + +Included required libraries: + +@multitable @columnfractions .50 .50 +@headitem Library @tab Licence +@item @code{github.com/dustin/go-humanize} @tab MIT +@item @code{github.com/flynn/noise} @tab BSD 3-Clause +@item @code{github.com/go-check/check} @tab BSD 2-Clause +@item @code{github.com/go-yaml/yaml} @tab Apache License 2.0 and MIT +@item @code{github.com/minio/blake2b-simd} @tab Apache License 2.0 +@item @code{golang.org/x/crypto} @tab BSD 3-Clause +@item @code{golang.org/x/net} @tab BSD 3-Clause +@item @code{golang.org/x/sys} @tab BSD 3-Clause +@end multitable + +Get @ref{Tarballs, the tarball}, check its +@ref{Integrity, integrity and authenticity} and run @command{make}. +@emph{nncp-*} binaries will be built in the current directory: + +@verbatim +% wget http://www.nncpgo.org/download/nncp-0.1.tar.xz +% wget http://www.nncpgo.org/download/nncp-0.1.tar.xz.sig +% gpg --verify nncp-0.1.tar.xz.sig nncp-0.1.tar.xz +% tar xf nncp-0.1.tar.xz +% make -C nncp-0.1 all +@end verbatim + +There is @code{install} target respecting @env{DESTDIR}. It will +install binaries and info-documentation. + +@menu +* Prepared tarballs: Tarballs. +* Tarballs integrity check: Integrity. +* Development source code: Sources. +@end menu + +@include download.texi +@include integrity.texi +@include sources.texi diff --git a/doc/integrity.texi b/doc/integrity.texi new file mode 100644 index 0000000..baa8765 --- /dev/null +++ b/doc/integrity.texi @@ -0,0 +1,40 @@ +@node Integrity +@section Tarballs integrity check + +You @strong{have to} check downloaded archives integrity and verify +their signature to be sure that you have got trusted, untampered +software. For integrity and authentication of downloaded binaries +@url{https://www.gnupg.org/, The GNU Privacy Guard} is used. You must +download signature (@file{.sig}) provided with the tarball. + +For the very first time you need to import signing public key. It is +provided below, but it is better to check alternative resources with it. + +@verbatim +pub rsa2048/0x2B25868E75A1A953 2017-01-10 + 92C2 F0AE FE73 208E 46BF F3DE 2B25 868E 75A1 A953 +uid NNCP releases +@end verbatim + +@itemize + +@item This website @ref{Contacts, alternates} and maillist containing +public key fingerprint. + +@item +@verbatim +% gpg --keyserver hkp://keys.gnupg.net/ --recv-keys 0x2B25868E75A1A953 +% gpg --auto-key-locate dane --locate-keys releases at nncpgo dot org +% gpg --auto-key-locate wkd --locate-keys releases at nncpgo dot org +% gpg --auto-key-locate pka --locate-keys releases at nncpgo dot org +@end verbatim + +@item +@verbatiminclude .well-known/openpgpkey/hu/i4cdqgcarfjdjnba6y4jnf498asg8c6p.asc + +@end itemize + +Then you could verify tarballs signature: +@verbatim +% gpg --verify nncp-0.1.tar.xz.sig nncp-0.1.tar.xz +@end verbatim diff --git a/doc/sources.texi b/doc/sources.texi new file mode 100644 index 0000000..d1d1bd9 --- /dev/null +++ b/doc/sources.texi @@ -0,0 +1,20 @@ +@node Sources +@section Development source code + +Development source code contains the latest version of the code. It may +be buggy. It does not contain compiled documentation and dependent +libraries source code. Because of that, it is not recommended for +porters to use @ref{Tarballs} instead. + +You can obtain it by cloning @url{http://git-scm.com/, Git} +@url{http://git.cypherpunks.ru/cgit.cgi/nncp.git/log/, repository} +and fetching dependent libraries source code as git submodules: + +@verbatim +% git clone git://git.cypherpunks.ru/nncp.git nncp +% cd nncp +% git checkout develop +% git submodule update --init +@end verbatim + +Github.com mirror exists: @url{https://github.com/stargrave/nncp}. -- 2.44.0