n2n: move to packages feeds (#10611)

Signed-off-by: Beginner-Go <70857188+Beginner-Go@users.noreply.github.com>

Signed-off-by: Beginner-Go <70857188+Beginner-Go@users.noreply.github.com>
This commit is contained in:
Beginner 2022-12-24 01:26:21 +08:00 committed by GitHub
parent 317d92dd3e
commit 2292bc3559
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 0 additions and 263 deletions

View File

@ -1,82 +0,0 @@
# SPDX-License-Identifer: GPL-3.0-only
#
# Copyright (C) 2020 - ntop.org and contributors
# Copyright (C) 2021-2022 ImmortalWrt.org
include $(TOPDIR)/rules.mk
PKG_NAME:=n2n
PKG_VERSION:=3.0
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/ntop/n2n/tar.gz/$(PKG_VERSION)?
PKG_HASH:=25fcabba7bfcf25f4c9cd7fecc7ce11de48beb0b0f3506053d8485604ea8f50d
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILE:=LICENSE
PKG_MAINTAINER:=Emanuele Faranda <faranda@ntop.org>
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/n2n/template
SECTION:=net
CATEGORY:=Network
SUBMENU:=VPN
TITLE:=N2N Peer-to-peer VPN
URL:=http://www.ntop.org/n2n
DEPENDS:=+libopenssl +libpthread +libzstd
endef
define Package/n2n
$(call Package/n2n/template)
DEPENDS+=+libcap +kmod-tun +resolveip
endef
define Package/n2n/description
This package contains client node and supernode for the N2N infrastructure.
endef
define Package/n2n/conffiles
/etc/config/n2n
endef
define Package/n2n-utils
$(call Package/n2n/template)
DEPENDS+=+n2n +libpcap
endef
define Package/n2n-utils/description
This package contains extend utilities for the N2N infrastructure.
endef
CMAKE_OPTIONS+= \
-DCMAKE_BUILD_TYPE=Release \
-DN2N_OPTION_USE_PTHREAD=ON \
-DN2N_OPTION_USE_OPENSSL=ON \
-DN2N_OPTION_USE_PCAPLIB=ON \
-DN2N_OPTION_USE_ZSTD=ON
define Package/n2n/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/edge $(1)/usr/bin/n2n-edge
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/supernode $(1)/usr/bin/n2n-supernode
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/n2n.config $(1)/etc/config/n2n
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/n2n.init $(1)/etc/init.d/n2n
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/n2n-migrate-conf.sh $(1)/etc/uci-defaults/50-n2n-migrate-conf
endef
define Package/n2n-utils/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/n2n-benchmark $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/n2n-decode $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/n2n-keygen $(1)/usr/bin/
endef
$(eval $(call BuildPackage,n2n))
$(eval $(call BuildPackage,n2n-utils))

View File

@ -1,4 +0,0 @@
#!/bin/sh
[ ! -e "/etc/config/n2n_v2" ] || mv "/etc/config/n2n_v2" "/etc/config/n2n"
exit 0

View File

@ -1,24 +0,0 @@
config edge
option enabled '0'
option tunname 'n2n0'
option mode 'static'
option ipaddr '10.0.0.100'
option prefix '24'
option mtu '1290'
option supernode '1.2.3.4'
option port '1234'
option community 'example'
option key 'password'
option route '1'
option masquerade '0'
config supernode
option enabled '0'
option port '1235'
option subnet '10.0.0.0-10.0.0.0/24'
config route
option enabled '0'
option ip '192.168.2.0'
option mask '24'
option gw '10.0.0.200'

View File

@ -1,142 +0,0 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2008-2020 OpenWrt.org
# Copyright (C) 2022 ImmortalWrt.org
START=99
USE_PROCD=1
start_instance() {
local cfg="$1"
local type
config_get type "$cfg" TYPE
case "$type" in
edge)
local enabled
config_get_bool enabled "$cfg" 'enabled' '0'
[ "$enabled" = "1" ] || return 1
local masquerade tunname mode ipaddr prefix mtu
local supernode port second_supernode second_port
local community key route
config_get_bool masquerade "$cfg" 'masquerade' '0'
config_get tunname "$cfg" 'tunname'
config_get mode "$cfg" 'mode'
config_get ipaddr "$cfg" 'ipaddr'
config_get prefix "$cfg" 'prefix'
config_get mtu "$cfg" 'mtu'
config_get supernode "$cfg" 'supernode'
config_get port "$cfg" 'port'
config_get second_supernode "$cfg" 'second_supernode'
config_get second_port "$cfg" 'second_port'
config_get community "$cfg" 'community'
config_get key "$cfg" 'key'
config_get_bool route "$cfg" 'route' '0'
local address
address="$ipaddr/$prefix"
[ "$mode" != 'dhcp' ] || address='0.0.0.0'
procd_open_instance "edge_$cfg"
procd_set_param command /usr/bin/n2n-edge -f
procd_append_param command -u 0 -g 0
procd_append_param command -d "$tunname"
procd_append_param command -a "$mode:$address"
procd_append_param command -c "$community"
procd_append_param command -l "$supernode:$port"
[ -z "$key" ] || procd_append_param command -k "$key"
[ -z "$mtu" ] || procd_append_param command -M "$mtu"
[ -z "$second_supernode" -o -z "$second_port" ] || procd_append_param command -l "$second_supernode:$second_port"
[ "$route" = "0" ] || procd_append_param command -r
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
iptables -I FORWARD -i "$tunname" -j ACCEPT -m comment --comment 'n2n edge eth'
iptables -I FORWARD -o "$tunname" -j ACCEPT -m comment --comment 'n2n edge eth'
[ "$masquerade" = "0" ] || iptables -t nat -I POSTROUTING -o "$tunname" -j MASQUERADE -m comment --comment 'n2n edge net'
;;
supernode)
local enabled
config_get_bool enabled "$cfg" 'enabled' '0'
[ "$enabled" = "1" ] || return 1
local port subnet
config_get port "$cfg" 'port'
config_get subnet "$cfg" 'subnet'
procd_open_instance "supernode_$cfg"
procd_set_param command /usr/bin/n2n-supernode -f
procd_append_param command -p "$port"
procd_append_param command -a "$subnet"
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
iptables -I INPUT -p udp --dport $port -j ACCEPT -m comment --comment 'n2n supernode port'
;;
route)
local enabled
config_get_bool enabled "$cfg" 'enabled' '0'
[ "$enabled" = "1" ] || return 1
local ip mask gw
config_get ip "$cfg" 'ip'
config_get mask "$cfg" 'mask'
config_get gw "$cfg" 'gw'
route add -net "$ip/$mask" gw "$gw"
;;
esac
}
stop_instance() {
local cfg="$1"
local type
config_get type "$cfg" TYPE
case "$type" in
edge)
local tunname masquerade
config_get tunname "$cfg" 'tunname'
config_get_bool masquerade "$cfg" 'masquerade' '0'
iptables -D FORWARD -i "$tunname" -j ACCEPT -m comment --comment 'n2n edge eth' 2>/dev/null
iptables -D FORWARD -o "$tunname" -j ACCEPT -m comment --comment 'n2n edge eth' 2>/dev/null
iptables -t nat -D POSTROUTING -o "$tunname" -j MASQUERADE -m comment --comment 'n2n edge net' 2>"/dev/null"
;;
supernode)
local port
config_get port "$cfg" 'port'
iptables -D INPUT -p udp --dport "$port" -j ACCEPT -m comment --comment 'n2n supernode port' 2>"/dev/null"
;;
esac
}
start_service() {
config_load 'n2n'
config_foreach start_instance 'edge'
config_foreach start_instance 'supernode'
( sleep 2; config_foreach start_instance 'route'; ) &
}
stop_service() {
config_load 'n2n'
config_foreach stop_instance 'edge'
config_foreach stop_instance 'supernode'
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger "n2n"
}

View File

@ -1,11 +0,0 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -185,7 +185,7 @@ if(N2N_OPTION_USE_PCAPLIB AND (NOT DEFIN
# Linux Capabilities
find_library(CAP_LIB cap)
if(CAP_LIB)
- target_link_libraries(edge cap.a)
+ target_link_libraries(edge cap)
set(CMAKE_REQUIRED_LIBRARIES ${CAP_LIB})
ADD_DEFINITIONS("-DHAVE_LIBCAP")
endif()