1. added multipath protocol and schema suport

2. added SCTP protocol and schema support
3. added set of NAS models support (Asustor, ReadyNAS, Drobo, QNAP, WD, Synology, Terramaster)
4. moved to fc00::/7 private segment
5. added Windows, MacOS and Linux UI for peers edit and current status
This commit is contained in:
vadym 2022-10-27 22:03:37 +03:00
parent cfa293d189
commit d8a4000141
198 changed files with 8589 additions and 697 deletions

View file

@ -0,0 +1,11 @@
Source: mesh
Package: mesh
Version: 0.4.4
Architecture: amd64
Maintainer: Vadym Vikulin <vadym.vikulin@rivchain.org>
Depends: lsb-base, debconf, readynasos (>= 6.0.5~T1271)
Section: net
Priority: optional
Installed-Size: 20000
Homepage: https://github.com/RiV-chain/RiV-mesh
Description: RiV-mesh is an implementation of a fully end-to-end encrypted IPv6 network

View file

@ -0,0 +1,61 @@
#!/bin/sh
# postinst script for mesh
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <postinst> `abort-remove'
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
configure)
chown -R admin:admin /apps/mesh
if systemctl restart apache2.service; then
# success
event_push app meshd '<add-s resource-type="LocalApp" resource-id="LocalApp"><LocalApp appname="mesh" success="1"/></add-s>' 0 0
else
# error
event_push app meshd '<add-s resource-type="LocalApp" resource-id="LocalApp"><LocalApp appname="mesh" success="0"/></add-s>' 0 0
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
if [ -f /etc/mesh.conf ]; then
mkdir -p /var/backups
echo "Backing up configuration file to /var/backups/mesh.conf.`date +%Y%m%d`"
cp /etc/mesh.conf /var/backups/mesh.conf.`date +%Y%m%d`
echo "Normalising and updating /etc/mesh.conf"
/apps/mesh/bin/mesh -useconf -normaliseconf < /var/backups/mesh.conf.`date +%Y%m%d` > /etc/mesh.conf
else
echo "Generating initial configuration file /etc/mesh.conf"
echo "Please familiarise yourself with this file before starting RiV-mesh"
sh -c 'umask 0027 && /apps/mesh/bin/mesh -genconf > /etc/mesh.conf'
fi
chmod 755 /etc/mesh.conf
if command -v systemctl >/dev/null; then
systemctl daemon-reload || echo -n "daemon not reloaded!"
systemctl enable mesh || echo -n "systemctl enable failed!"
systemctl restart mesh || echo -n "systemctl restart failed!"
fi
exit 0

View file

@ -0,0 +1,32 @@
#! /bin/sh
# postrm script for mesh
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
# for details, see /usr/share/doc/packaging-manual/
case "$1" in
purge)
rm -rf /apps/mesh
systemctl restart apache2.service
event_push app meshd '<delete-s resource-type="LocalApp" resource-id="LocalApp"><LocalApp appname="mesh" success="1" reboot="0"/></delete-s>' 0 0
;;
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 0
esac

View file

@ -0,0 +1,32 @@
#! /bin/sh
# prerm script for mesh
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <prerm> `remove'
# * <old-prerm> `upgrade' <new-version>
# * <new-prerm> `failed-upgrade' <old-version>
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
# * <deconfigured's-prerm> `deconfigure' `in-favour'
# <package-being-installed> <version> `removing'
# <conflicting-package> <version>
# for details, see /usr/share/doc/packaging-manual/
case "$1" in
remove|upgrade|deconfigure)
systemctl stop fvapp-mesh.service || true
systemctl disable fvapp-mesh.service || true
;;
failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 0
;;
esac
exit 0

View file

@ -0,0 +1,19 @@
[Unit]
Description=RiV-mesh is an early-stage implementation of a fully end-to-end encrypted IPv6 network
[Service]
Type=idle
Group=admin
ProtectHome=true
ProtectSystem=true
SyslogIdentifier=mesh
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE
ExecStartPre=+-/sbin/modprobe tun
ExecStart=/apps/mesh/bin/mesh -useconffile /etc/mesh.conf -httpaddress http://localhost:19019 -wwwroot /apps/mesh/www -logto /apps/mesh/var/log/mesh.log
ExecStop=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
TimeoutStopSec=10
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,12 @@
RewriteEngine on
RewriteRule "(.*)/apps/mesh$" "$1/apps/mesh/" [R=301,L]
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
<Location /apps/mesh/>
Include "/etc/frontview/apache/Admin_Auth.conf"
SSLRequireSSL
ProxyPreserveHost On
ProxyPass "http://127.0.0.1:19019/"
ProxyPassReverse "http://127.0.0.1:19019/"
</Location>

View file

@ -0,0 +1,10 @@
#!/bin/sh
get_info() {
rn_nml -g systeminfo | tr '\n' ' ' | sed -r "s|.*<$1>(.*)</$1>.*|\1|"
}
echo vendor=Netgear
echo vendorOperatingSystemName="$(get_info Firmware_Name)"
echo firmwareVersion="$(get_info Firmware_Version)"
echo model="$(get_info Model)"
echo serial="$(get_info Serial)"

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View file

@ -0,0 +1,9 @@
.nas-apps-config-form-app-logo {
height: 110px;
background: url(logo.png) left center no-repeat;
background-size: 262px 56px;
}
a {
color: #692782!important;
}

View file

@ -0,0 +1,10 @@
var ed = {
partnerId: 252,
applicationName: 'RiV-Mesh App',
nasOSName: 'Ready NAS OS 6',
vaultUrl: "https://github.com/RiV-chain/RiV-mesh",
basicEDWebsite: "https://github.com/RiV-chain/RiV-mesh",
nasVisitEDWebsiteLogin: "https://github.com/RiV-chain/RiV-mesh",
nasVisitEDWebsiteSignup: "https://github.com/RiV-chain/RiV-mesh",
nasVisitEDWebsiteLoggedin: "https://github.com/RiV-chain/RiV-mesh"
};