1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-02 06:03:50 +00:00

New port: net/cjdns

Cjdns implements an encrypted IPv6 network using public-key cryptography for
address allocation and a distributed hash table for routing. This provides
near-zero-configuration networking, and prevents many of the security and
scalability issues that plague existing networks.

WWW: https://github.com/cjdelisle/cjdns

PR:		210730
Submitted by:	Yuri Victorovich <yuri@rawbw.com>
This commit is contained in:
Kurt Jaeger 2016-07-31 14:26:30 +00:00
parent 3cb8d78020
commit 65a88eabba
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=419383
6 changed files with 113 additions and 0 deletions

View File

@ -68,6 +68,7 @@
SUBDIR += cf
SUBDIR += chrony
SUBDIR += citrix_ica
SUBDIR += cjdns
SUBDIR += clamz
SUBDIR += cloud-init
SUBDIR += clusterit

42
net/cjdns/Makefile Normal file
View File

@ -0,0 +1,42 @@
# Created by: Yuri Victorovich <yuri@rawbw.com>
# $FreeBSD$
PORTNAME= cjdns
PORTVERSION= 17.4
DISTVERSIONPREFIX= cjdns-v
CATEGORIES= net security
MAINTAINER= yuri@rawbw.com
COMMENT= Routing engine designed for security, scalability, speed
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= node:www/node \
bash:shells/bash
USE_GITHUB= yes
GH_ACCOUNT= cjdelisle
USES= gmake python
USE_RC_SUBR= cjdns
SUB_FILES= cjdns pkg-message
SUB_LIST= LOCALBASE=${LOCALBASE}
PLIST_FILES= bin/cjdroute bin/run-cjdroute man/man5/cjdroute.conf.5.gz
post-patch:
@${REINPLACE_CMD} -i '' -e 's|/etc/|${LOCALBASE}/etc/|g' \
${WRKSRC}/contrib/sh/run-cjdroute.sh
do-build:
cd ${WRKSRC} && ./do
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/cjdroute ${STAGEDIR}${PREFIX}/bin
${INSTALL_SCRIPT} ${WRKSRC}/contrib/sh/run-cjdroute.sh ${STAGEDIR}${PREFIX}/bin/run-cjdroute
${INSTALL_MAN} ${WRKSRC}/doc/man/cjdroute.conf.5 ${STAGEDIR}${MANPREFIX}/man/man5
do-test:
${WRKSRC}/cjdroute --bench
.include <bsd.port.mk>

3
net/cjdns/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1467325399
SHA256 (cjdelisle-cjdns-cjdns-v17.4_GH0.tar.gz) = 2f30aa4d2cc96a6c1f00e873df19b7b213cca1af716d74a091f59aa98b5758c4
SIZE (cjdelisle-cjdns-cjdns-v17.4_GH0.tar.gz) = 3955198

23
net/cjdns/files/cjdns.in Normal file
View File

@ -0,0 +1,23 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: cjdns
# REQUIRE: LOGIN
. /etc/rc.subr
name="cjdns"
rcvar=cjdns_enable
command="%%PREFIX%%/bin/cjdroute"
command_args="< %%PREFIX%%/etc/cjdroute.conf"
if expr "$1" : ".*start" > /dev/null && ! [ -r %%PREFIX%%/etc/cjdroute.conf ]; then
%%PREFIX%%/bin/cjdroute --genconf > %%PREFIX%%/etc/cjdroute.conf &&
echo "$name: (!!!) generated the initial config file %%PREFIX%%/etc/cjdroute.conf" &&
echo "$name: (!!!) keep this file secret because it contains your secret key"
chmod 0600 %%PREFIX%%/etc/cjdroute.conf
fi
load_rc_config $name
run_rc_command "$1"

View File

@ -0,0 +1,38 @@
======================================================================
You installed CJDNS: IPv6 routing engine
It is recommended to run CJDNS as a service:
# sysrc cjdns_enable="YES"
# service cjdns start
When started the first time, CJDNS will create the config file
%%PREFIX%%/etc/cjdroute.conf that you should edit to make CJDNS connected:
* You may want to add some nodes to connect to the section "connectTo"
from some of these sites:
* https://pad.meshwith.me/p/public
* http://cjdns.me/
* https://github.com/hyperboria/peers
* You may want to uncomment "tunDevice" to make CJDNS always use the same
tun device.
In order to be able to open IPv6 websites available through CJDNS network
that you connect to, you need to add the IPv6 default route:
# route -6 add default fc00::1
In order to create an IPv4 or IPv6 VPN, on the server in the section
ipTunnel/allowedConnections of the config file you need to add the public
keys of the clients, and to define the VPN network. On the clients you
only need to add the public key of the server in the section
ipTunnel/outgoingConnections. You may also need to bridge the tunN
interface on the server to connect the segments of the VPN network.
Here are some websites on CJDNS Hyperboria network:
* http://socialno.de/ - social network
* https://rows.io/ - Jabber server
* http://forum.meshbits.io/ - forums
* http://h.fc00.org/ - network map
Warning: When CJDNS daemon is connected to outside network, tunN
interface will generally directly expose your computer to that network,
bypassing the regular firewall that you normally use.
======================================================================

6
net/cjdns/pkg-descr Normal file
View File

@ -0,0 +1,6 @@
Cjdns implements an encrypted IPv6 network using public-key cryptography for
address allocation and a distributed hash table for routing. This provides
near-zero-configuration networking, and prevents many of the security and
scalability issues that plague existing networks.
WWW: https://github.com/cjdelisle/cjdns