1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-24 09:25:01 +00:00

New port: net/nncp: Utilities for secure store-and-forward files and mail exchanging

More information is here: http://www.nncpgo.org/

PR:		215973
Submitted by:	Sergey Matveev <stargrave@stargrave.org>
Approved by:	tcberner (mentor), mat
Differential Revision:	https://reviews.freebsd.org/D13700
This commit is contained in:
Yuri Victorovich 2018-01-29 16:17:45 +00:00
parent f6c02dacb9
commit 04c43d10af
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=460314
12 changed files with 195 additions and 0 deletions

View File

@ -480,6 +480,7 @@
SUBDIR += nifmon
SUBDIR += nload
SUBDIR += nmsg
SUBDIR += nncp
SUBDIR += nocatsplash
SUBDIR += norm
SUBDIR += nph

31
net/nncp/Makefile Normal file
View File

@ -0,0 +1,31 @@
# $FreeBSD$
PORTNAME= nncp
DISTVERSION= 2.0
CATEGORIES= net
MASTER_SITES= http://www.nncpgo.org/download/
MAINTAINER= stargrave@stargrave.org
COMMENT= Utilities for secure store-and-forward files and mail exchanging
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= go:lang/go
USES= tar:xz
MAKEFILE= BSDmakefile
USE_RC_SUBR= nncp-caller nncp-daemon nncp-toss
INSTALL_TARGET= install-strip
SUB_FILES= pkg-message pkg-install pkg-deinstall
OPTIONS_DEFINE= DOCS
PORTDOCS= AUTHORS NEWS NEWS.RU README README.RU THANKS
INFO= nncp
post-install:
${INSTALL_DATA} ${FILESDIR}/nncp.newsyslog.conf.sample ${STAGEDIR}${PREFIX}/etc/nncp.conf.sample
.include <bsd.port.mk>

3
net/nncp/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1514626571
SHA256 (nncp-2.0.tar.xz) = bef31b13fb25381ea511fb77067798ab27409238bdf5600fe2eadb29e5e78996
SIZE (nncp-2.0.tar.xz) = 1009932

View File

@ -0,0 +1,29 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: nncp-caller
# REQUIRE: DAEMON NETWORKING FILESYSTEMS
# KEYWORD: shutdown
#
# Add these lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# nncp_caller_enable (bool): Set to NO by default.
# Set it to YES to enable nncp-caller.
# nncp_caller_config (path): Set to %%PREFIX%%/etc/nncp.yaml by default.
. /etc/rc.subr
name=nncp_caller
rcvar=nncp_caller_enable
load_rc_config $name
: ${nncp_caller_enable:="NO"}
: ${nncp_caller_config="%%PREFIX%%/etc/nncp.yaml"}
command=%%PREFIX%%/bin/nncp-caller
command_args="-quiet -cfg $nncp_caller_config &"
run_rc_command "$1"

View File

@ -0,0 +1,32 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: nncp-daemon
# REQUIRE: DAEMON NETWORKING FILESYSTEMS
# KEYWORD: shutdown
#
# Add these lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# nncp_daemon_enable (bool): Set to NO by default.
# Set it to YES to enable nncp-daemon.
# nncp_daemon_config (path): Set to %%PREFIX%%/etc/nncp.yaml by default.
# nncp_daemon_bind (string): Address:port to bind to
# Default is "[::]:5400".
. /etc/rc.subr
name=nncp_daemon
rcvar=nncp_daemon_enable
load_rc_config $name
: ${nncp_daemon_enable:="NO"}
: ${nncp_daemon_config="%%PREFIX%%/etc/nncp.yaml"}
: ${nncp_daemon_bind="[::]:5400"}
command=%%PREFIX%%/bin/nncp-daemon
command_args="-quiet -bind $nncp_daemon_bind -cfg $nncp_daemon_config &"
run_rc_command "$1"

View File

@ -0,0 +1,32 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: nncp-toss
# REQUIRE: DAEMON NETWORKING FILESYSTEMS
# KEYWORD: shutdown
#
# Add these lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# nncp_toss_enable (bool): Set to NO by default.
# Set it to YES to enable nncp-toss.
# nncp_toss_config (path): Set to %%PREFIX%%/etc/nncp.yaml by default.
# nncp_toss_cycle (int): Repeat tossing after that number of seconds.
# Default is "60".
. /etc/rc.subr
name=nncp_toss
rcvar=nncp_toss_enable
load_rc_config $name
: ${nncp_toss_enable:="NO"}
: ${nncp_toss_config="%%PREFIX%%/etc/nncp.yaml"}
: ${nncp_toss_cycle="60"}
command=%%PREFIX%%/bin/nncp-toss
command_args="-quiet -cycle $nncp_toss_cycle -cfg $nncp_toss_config &"
run_rc_command "$1"

View File

@ -0,0 +1 @@
/var/spool/nncp/log 644 7 100 * CXN

View File

@ -0,0 +1,9 @@
#!/bin/sh
[ "$2" = "POST-DEINSTALL" ] || exit 0
if [ -e %%PREFIX%%/etc/nncp.yaml ]; then
echo "%%PREFIX%%/etc/nncp.yaml with your private keys is not removed!"
fi
exec rmdir /var/spool/nncp

View File

@ -0,0 +1,5 @@
#!/bin/sh
[ "$2" = "POST-INSTALL" ] || exit 0
[ -e /var/spool/nncp ] || exec mkdir -p /var/spool/nncp

View File

@ -0,0 +1,17 @@
======================================================================
- Add the following lines to /etc/rc.conf to enable nncp-daemon,
nncp-caller and nncp-toss:
nncp_daemon_enable="YES"
nncp_caller_enable="YES"
nncp_toss_enable="YES"
- %%PREFIX%%/etc/newsyslog.conf.d/nncp.conf
log rotation configuration has been installed.
- /var/spool/nncp is the packet spool directory.
- Look in nncp.info how to integrate mail exchanging with Postfix.
- Generate NNCP configuration file using the command:
# umask 077
# nncp-cfgnew > %%PREFIX%%/etc/nncp.yaml
======================================================================

16
net/nncp/pkg-descr Normal file
View File

@ -0,0 +1,16 @@
NNCP (Node to Node copy) is a collection of utilities simplifying
secure store-and-forward files and mail exchanging.
This utilities are intended to help build up small size (dozens of
nodes) ad-hoc friend-to-friend (F2F) statically routed darknet networks
for fire-and-forget secure reliable files, file requests and Internet
mail transmission. All packets are integrity checked, end-to-end
encrypted (E2EE), 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.
Out-of-box offline sneakernet/floppynet, dead drops, sequential and
append-only CD-ROM/tape storages, air-gapped computers support. But
online TCP daemon with full-duplex resumable data transmission exists.
WWW: http://www.nncpgo.org/

19
net/nncp/pkg-plist Normal file
View File

@ -0,0 +1,19 @@
bin/nncp-bundle
bin/nncp-call
bin/nncp-caller
bin/nncp-cfgenc
bin/nncp-cfgmin
bin/nncp-cfgnew
bin/nncp-check
bin/nncp-daemon
bin/nncp-file
bin/nncp-freq
bin/nncp-log
bin/nncp-mail
bin/nncp-pkt
bin/nncp-reass
bin/nncp-rm
bin/nncp-stat
bin/nncp-toss
bin/nncp-xfer
@sample etc/nncp.conf.sample etc/newsyslog.conf.d/nncp.conf