summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD31
-rw-r--r--cc.deb.PKGBUILD46
-rw-r--r--com.skywire.Skywire.desktop12
-rw-r--r--com.skywirevpn.SkywireVPN.desktop12
-rwxr-xr-xskywire-autoconfig204
-rw-r--r--skywire-autoconfig.service15
-rw-r--r--skywire.pngbin0 -> 4861 bytes
-rw-r--r--skywire.service18
-rw-r--r--skywirevpn.pngbin0 -> 17183 bytes
-rwxr-xr-xupdates.sh4
11 files changed, 328 insertions, 32 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f4f4cd9f536a..212317975d27 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = skywire-bin
pkgdesc = Skywire: Building a new Internet. Skycoin.com
pkgver = 1.0.1
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/skycoin/skywire
install = skywire.install
arch = i686
@@ -17,8 +17,20 @@ pkgbase = skywire-bin
arch = arm
provides = skywire
conflicts = skywire
- source = skywire-scripts.tar.gz
- sha256sums = 9f3fb29acf20089cabd14fe27c7c8384b4d327750b23ff4ca4621d2f7953f3dd
+ source = skywire-autoconfig
+ source = com.skywire.Skywire.desktop
+ source = com.skywirevpn.SkywireVPN.desktop
+ source = skywirevpn.png
+ source = skywire.png
+ source = skywire.service
+ source = skywire-autoconfig.service
+ sha256sums = ac16dfee9ed4870ef4afc977211d1c47c36ee182c8511d41a940cdd98c483f4d
+ sha256sums = f0300bcde06b6818b637ccc23fa8206a40e67f63815781d265bd10d2cda93e65
+ sha256sums = e6ea2c7471bcf5bc83e8fd831c047ba61b98eab58ca7c055475714dcf6066539
+ sha256sums = ec24750a99f5cda8d8a8dc94743943218e1b2088c2b2c7dc1644ee78d954fe7e
+ sha256sums = a6941680b5858ca3e0c85d9bf5824455a0c95524b61e42352462f2abbb750495
+ sha256sums = ecb8c206ff44dbc3d06d26398551fb5d52bff1dd98eb069dd0b8673807025aed
+ sha256sums = 55293e05c5d6c877397eb4c52123bb02e8bc92aeaf663ba70e1cfab318ce727c
source_x86_64 = https://github.com/skycoin/skywire/releases/download/v1.0.1/skywire-v1.0.1-linux-amd64.tar.gz
sha256sums_x86_64 = 6cbbadb07ca6668dc04a91565b08e590e844422a28a813f1bb76a184b422432e
source_aarch64 = https://github.com/skycoin/skywire/releases/download/v1.0.1/skywire-v1.0.1-linux-arm64.tar.gz
diff --git a/PKGBUILD b/PKGBUILD
index 37ff07754206..347be8d6342a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@ _pkgname=${pkgname/-bin/}
_githuborg=skycoin
pkgdesc="Skywire: Building a new Internet. Skycoin.com"
pkgver='1.0.1'
-pkgrel=1
+pkgrel=2
_rc=''
_pkgver="${pkgver}${_rc}"
_tag_ver="v${_pkgver}"
@@ -16,9 +16,22 @@ provides=( 'skywire' )
conflicts=( 'skywire' )
#depends=( '' )
install=skywire.install
-_scripts=${_pkgname}-scripts
-source=("${_scripts}.tar.gz" )
-sha256sums=('9f3fb29acf20089cabd14fe27c7c8384b4d327750b23ff4ca4621d2f7953f3dd')
+#_scripts=${_pkgname}-scripts
+source=("skywire-autoconfig"
+"com.skywire.Skywire.desktop"
+"com.skywirevpn.SkywireVPN.desktop"
+"skywirevpn.png"
+"skywire.png"
+"skywire.service"
+"skywire-autoconfig.service"
+)
+sha256sums=('ac16dfee9ed4870ef4afc977211d1c47c36ee182c8511d41a940cdd98c483f4d'
+ 'f0300bcde06b6818b637ccc23fa8206a40e67f63815781d265bd10d2cda93e65'
+ 'e6ea2c7471bcf5bc83e8fd831c047ba61b98eab58ca7c055475714dcf6066539'
+ 'ec24750a99f5cda8d8a8dc94743943218e1b2088c2b2c7dc1644ee78d954fe7e'
+ 'a6941680b5858ca3e0c85d9bf5824455a0c95524b61e42352462f2abbb750495'
+ 'ecb8c206ff44dbc3d06d26398551fb5d52bff1dd98eb069dd0b8673807025aed'
+ '55293e05c5d6c877397eb4c52123bb02e8bc92aeaf663ba70e1cfab318ce727c')
sha256sums_x86_64=('6cbbadb07ca6668dc04a91565b08e590e844422a28a813f1bb76a184b422432e')
sha256sums_aarch64=('61dc18d71d766e707ccbdc9c0f5b0bbf0a992e6acdc0c53c1c9cba6ecc85f601')
sha256sums_armv8=('61dc18d71d766e707ccbdc9c0f5b0bbf0a992e6acdc0c53c1c9cba6ecc85f601')
@@ -68,7 +81,7 @@ for _i in ${_pkgdir}/${_skyapps}/* ; do
done
_msg2 'Installing scripts'
-install -Dm755 ${srcdir}/${_scripts}/${_pkgname}/* ${_pkgdir}/${_skyscripts}/
+install -Dm755 ${srcdir}/skywire-autoconfig ${_pkgdir}/${_skyscripts}/
for _i in ${_pkgdir}/${_skyscripts}/* ; do
ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/}
done
@@ -83,14 +96,12 @@ _msg2 'installing dmsghttp-config.json'
install -Dm644 ${srcdir}/dmsghttp-config.json ${_pkgdir}/${_skydir}/dmsghttp-config.json
_msg2 'Installing systemd services'
-install -Dm644 ${srcdir}/${_scripts}/systemd/* ${_pkgdir}/${_systemddir}/
+install -Dm644 ${srcdir}/*service ${_pkgdir}/${_systemddir}/
_msg2 'installing desktop files and icons'
mkdir -p ${_pkgdir}/usr/share/applications/ ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/
-install -Dm644 ${srcdir}/${_scripts}/desktop/com.skywire.Skywire.desktop ${_pkgdir}/usr/share/applications/com.skywire.Skywire.desktop
-install -Dm644 ${srcdir}/${_scripts}/desktop/com.skywirevpn.SkywireVPN.desktop ${_pkgdir}/usr/share/applications/com.skywirevpn.SkywireVPN.desktop
-install -Dm644 ${srcdir}/${_scripts}/desktop/skywire.png ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/skywire.png
-install -Dm644 ${srcdir}/${_scripts}/desktop/skywirevpn.png ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/skywirevpn.png
+install -Dm644 ${srcdir}/*.desktop ${_pkgdir}/usr/share/applications/
+install -Dm644 ${srcdir}/*.png ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/
}
_msg2() {
diff --git a/cc.deb.PKGBUILD b/cc.deb.PKGBUILD
index 8fe2ec0cc35d..ae283969cf5f 100644
--- a/cc.deb.PKGBUILD
+++ b/cc.deb.PKGBUILD
@@ -8,7 +8,7 @@ pkgver='1.0.1'
_rc=''
_pkgver="${pkgver}${_rc}"
_tag_ver="v${_pkgver}"
-pkgrel=1
+pkgrel=2
_pkgrel=${pkgrel}
_pkggopath="github.com/${_githuborg}/${_pkgname}"
_pkgarch=$(dpkg --print-architecture)
@@ -19,15 +19,23 @@ makedepends=('dpkg')
depends=()
_debdeps=""
#_debdeps=""
-_scripts="skywire-scripts"
+#_scripts="skywire-scripts"
_binarchive=("${_pkgname}-${_tag_ver}-linux")
_release_url=("${url}/releases/download/${_tag_ver}/${_binarchive}")
source=(
-"${_scripts}.tar.gz"
"${_release_url}-amd64.tar.gz"
"${_release_url}-arm64.tar.gz"
"${_release_url}-armhf.tar.gz"
"${_release_url}-arm.tar.gz"
+"skywire-autoconfig"
+"com.skywire.Skywire.desktop"
+"com.skywirevpn.SkywireVPN.desktop"
+"skywirevpn.png"
+"skywire.png"
+"skywire.service"
+"skywire-autoconfig.service"
+"postinst.sh"
+"prerm.sh"
)
noextract=(
"${_binarchive}-amd64.tar.gz"
@@ -35,11 +43,19 @@ noextract=(
"${_binarchive}armhf.tar.gz"
"${_release_url}-arm.tar.gz"
)
-sha256sums=('9f3fb29acf20089cabd14fe27c7c8384b4d327750b23ff4ca4621d2f7953f3dd'
- '6cbbadb07ca6668dc04a91565b08e590e844422a28a813f1bb76a184b422432e'
+sha256sums=('6cbbadb07ca6668dc04a91565b08e590e844422a28a813f1bb76a184b422432e'
'61dc18d71d766e707ccbdc9c0f5b0bbf0a992e6acdc0c53c1c9cba6ecc85f601'
'1633c917e1468de0295d7d3b30059156f194e18722578cb90fd49cd683a7f5d0'
- '6182f947e66a41c6793addd08ab8cc00fa09c132001e13f05e8f11464987c7ea')
+ '6182f947e66a41c6793addd08ab8cc00fa09c132001e13f05e8f11464987c7ea'
+ 'ac16dfee9ed4870ef4afc977211d1c47c36ee182c8511d41a940cdd98c483f4d'
+ 'f0300bcde06b6818b637ccc23fa8206a40e67f63815781d265bd10d2cda93e65'
+ 'e6ea2c7471bcf5bc83e8fd831c047ba61b98eab58ca7c055475714dcf6066539'
+ 'ec24750a99f5cda8d8a8dc94743943218e1b2088c2b2c7dc1644ee78d954fe7e'
+ 'a6941680b5858ca3e0c85d9bf5824455a0c95524b61e42352462f2abbb750495'
+ 'ecb8c206ff44dbc3d06d26398551fb5d52bff1dd98eb069dd0b8673807025aed'
+ '55293e05c5d6c877397eb4c52123bb02e8bc92aeaf663ba70e1cfab318ce727c'
+ '7b17a55e64d1371fecd24edc3da7c6a762cf2b3d058f6fc4a5dc7c5f9b4cff09'
+ '233ccf0e87b37e782828f53960e05e478cf381f61bbfdb16a0cc0254ee8be7c2')
build() {
_msg2 'creating the DEBIAN/control files'
@@ -111,10 +127,8 @@ for _i in ${_pkgdir}/${_skyapps}/* ; do
done
_msg2 'Installing scripts'
-install -Dm755 ${srcdir}/${_scripts}/${_pkgname}/* ${_pkgdir}/${_skyscripts}/
-for _i in ${_pkgdir}/${_skyscripts}/* ; do
- ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/}
-done
+install -Dm755 ${srcdir}/skywire-autoconfig ${_pkgdir}/${_skyscripts}/
+ln -rTsf ${_pkgdir}/${_skyscripts}/skywire-autoconfig ${_pkgdir}/usr/bin/skywire-autoconfig
_msg2 'Correcting symlink names'
ln -rTsf ${_pkgdir}/${_skybin}/${_pkgname}-visor ${_pkgdir}/usr/bin/${_pkgname}
@@ -126,20 +140,18 @@ _msg2 'installing dmsghttp-config.json'
install -Dm644 ${pkgdir}/test/dmsghttp-config.json ${_pkgdir}/${_skydir}/dmsghttp-config.json
_msg2 'installing systemd services'
-install -Dm644 ${srcdir}/${_scripts}/systemd/* ${_pkgdir}/${_systemddir}/
+install -Dm644 ${srcdir}/*.service ${_pkgdir}/${_systemddir}/
_msg2 'installing desktop files and icons'
mkdir -p ${_pkgdir}/usr/share/applications/ ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/
-install -Dm644 ${srcdir}/${_scripts}/desktop/com.skywire.Skywire.desktop ${_pkgdir}/usr/share/applications/com.skywire.Skywire.desktop
-install -Dm644 ${srcdir}/${_scripts}/desktop/com.skywirevpn.SkywireVPN.desktop ${_pkgdir}/usr/share/applications/com.skywirevpn.SkywireVPN.desktop
-install -Dm644 ${srcdir}/${_scripts}/desktop/skywire.png ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/skywire.png
-install -Dm644 ${srcdir}/${_scripts}/desktop/skywirevpn.png ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/skywirevpn.png
+install -Dm644 ${srcdir}/*.desktop ${_pkgdir}/usr/share/applications/
+install -Dm644 ${srcdir}/*.png ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/
_msg2 'installing control file and install scripts'
install -Dm755 ${srcdir}/${_pkgarch}.control ${_pkgdir}/DEBIAN/control
#install -Dm755 ${srcdir}/${_scripts}/preinst.sh ${_pkgdir}/DEBIAN/preinst
-install -Dm755 ${srcdir}/${_scripts}/postinst.sh ${_pkgdir}/DEBIAN/postinst
-install -Dm755 ${srcdir}/${_scripts}/prerm.sh ${_pkgdir}/DEBIAN/prerm
+install -Dm755 ${srcdir}/postinst.sh ${_pkgdir}/DEBIAN/postinst
+install -Dm755 ${srcdir}/prerm.sh ${_pkgdir}/DEBIAN/prerm
#install -Dm755 ${srcdir}/${_scripts}/postrm.sh ${_pkgdir}/DEBIAN/postrm
_msg2 'creating the debian package'
diff --git a/com.skywire.Skywire.desktop b/com.skywire.Skywire.desktop
new file mode 100644
index 000000000000..63b3ade988b0
--- /dev/null
+++ b/com.skywire.Skywire.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Categories=P2P;VPN;WWW;Network;Internet
+Exec=xdg-open http://127.0.0.1:8000/
+GenericName=Skywire Hypervisor Interface
+Comment=Skywire: Building a new Internet.
+Icon=skywire
+MimeType=application/x-skywire;
+Name=Skywire
+Terminal=false
+Type=Application
+StartupNotify=false
+Keywords=vpn;p2p;www;network;internet;
diff --git a/com.skywirevpn.SkywireVPN.desktop b/com.skywirevpn.SkywireVPN.desktop
new file mode 100644
index 000000000000..bb0b8aa640d4
--- /dev/null
+++ b/com.skywirevpn.SkywireVPN.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Categories=P2P;VPN;WWW;Network;Internet
+Exec=skywire-cli visor vpn ui
+GenericName=Skywire VPN Interface
+Comment=Skywire VPN Interface.
+Icon=skywirevpn
+MimeType=application/x-skywire;
+Name=SkywireVPN
+Terminal=false
+Type=Application
+StartupNotify=false
+Keywords=vpn;p2p;www;network;internet;
diff --git a/skywire-autoconfig b/skywire-autoconfig
new file mode 100755
index 000000000000..b1ae12137129
--- /dev/null
+++ b/skywire-autoconfig
@@ -0,0 +1,204 @@
+#!/bin/bash
+#/opt/skywire/scripts/skywire-autoconfig
+#skywire autoconfiguration script for debian & archlinux packages
+#source the skyenv file if it exists - provided by the skybian package or the user
+[[ -f /etc/profile.d/skyenv.sh ]] && source /etc/profile.d/skyenv.sh
+#set NOAUTOCONFIG=true to avoid running the script in the postinstall
+if [[ ${NOAUTOCONFIG} == true ]]; then
+ #unset the env
+ NOAUTOCONFIG=''
+ echo "autoconfiguration disabled. to configure and start skywire run: skywire-autoconfig"
+ exit 0
+fi
+#check for root
+if [[ $EUID -ne 0 ]]; then
+ echo "root permissions required"
+ exit 1
+fi
+#grant network permissions to the vpn app binaries
+setcap cap_net_admin+ep /opt/skywire/apps/vpn-client
+setcap cap_net_admin+ep /opt/skywire/apps/vpn-server
+# determine if skywire is running via systemd
+if [[ $(ps -eo pid,comm,cgroup | grep skywire) == *"system.slice"* ]]; then
+WSYSTEMD=1
+fi
+#root portion of the configuration
+if [[ $DMSGPTYTERM -ne "1" ]] && [[ $WSYSTEMD -eq "1" ]]; then
+ #halt any running instance
+ systemctl is-active --quiet skywire-visor && systemctl disable --now skywire-visor 2> /dev/null
+ systemctl is-active --quiet skywire-hypervisor && systemctl disable --now skywire-hypervisor 2> /dev/null
+fi
+systemctl is-active --quiet skywire-autoconfig && systemctl disable skywire-autoconfig 2> /dev/null
+
+#make the logging of this script colorful
+_nc='\033[0m'
+_red='\033[0;31m'
+_green='\033[0;32m'
+_yellow='\033[0;33m'
+_blue='\033[1;34m'
+_purple='\033[0;35m'
+_cyan='\033[0;36m'
+_bold='\033[1m'
+##set the argument to pass into functions##
+_1=${1}
+#recreate pacman logging
+_msg2() {
+ (( QUIET )) && return
+ local mesg=$1; shift
+ printf "${_cyan} ->${_nc}${_bold} ${mesg}${_nc}\n" "$@"
+}
+_msg3() {
+(( QUIET )) && return
+local mesg=$1; shift
+printf "${_blue} -->${_nc}${BOLD} ${mesg}${_nc}\n" "$@"
+}
+_errmsg1() {
+ (( QUIET )) && return
+ local mesg=$1; shift
+ printf "${_red}>>> Error:${_nc}${_bold} ${mesg}${_nc}\n" "$@"
+}
+_warnmsg1() {
+ (( QUIET )) && return
+ local mesg=$1; shift
+ printf "${_red}>>> Warning:${_nc}${_bold} ${mesg}${_nc}\n" "$@"
+}
+_errmsg2() {
+ (( QUIET )) && return
+ local mesg=$1; shift
+ printf "${_red}>>> FATAL:${_bold} ${mesg}${_nc}\n" "$@"
+}
+#helpful text
+_welcome(){
+ if [[ $(uname -m) == *"arm"* ]]; then
+ _msg2 "register your public key:"
+ _msg2 "${_blue}https://whitelist.skycoin.com/${_nc}"
+ _msg2 "track uptime:"
+ _msg2 "${_blue}http://ut.skywire.skycoin.com/uptimes${_nc}"
+ fi
+ _msg2 "support:
+${_blue}https://t.me/skywire${_nc}"
+}
+#generate config as root
+_config_gen() {
+ # remove any existing symlink
+ [[ -f /opt/skywire/skywire-visor.json ]] && rm /opt/skywire/skywire-visor.json
+ #create by default the local hypervisor config if no config exists ; and retain any hypervisor config which exists
+ [[ (! -f /opt/skywire/skywire.json) || ($(cat /opt/skywire/skywire.json | grep -Po '"hypervisor":') != "") ]] && _is_hypervisor="-i"
+ #check for argument - remote pk or 0
+ # 0 as argument drops any remote hypervisors which were set in the configuration
+ # & triggers the creation of the local hyperisor configuration
+ if [[ ${_1} == "0" ]]; then
+ _retain_hv=""
+ unset _1
+ _is_hypervisor="-i"
+ fi
+ # create the flag to set the remote hypervisor(s)
+ if [[ ! -z ${_1} ]]; then
+ _retain_hv=""
+ _hvpks="--hvpks ${_1}" #shorthand flag: -j
+ _is_hypervisor=""
+ fi
+ ##generate (hyper)visor configuration##
+ # show config gen command used
+ _msg3 "Generating skywire config with command:
+${_cyan}skywire-cli ${_yellow}config gen -bepr ${_retain_hv} ${_is_hypervisor} ${_public_rpc} ${_vpn_server} ${_test_env} ${_hvpks}${_nc}"
+ skywire-cli config gen -bepr ${_retain_hv} ${_is_hypervisor} ${_public_rpc} ${_vpn_server} ${_test_env} ${_hvpks} >> /dev/null 2>&1
+ if [[ ${?} != 0 ]]; then
+ #print the error!
+ skywire-cli config gen -bepr ${_retain_hv} ${_is_hypervisor} ${_public_rpc} ${_vpn_server} ${_test_env} ${_hvpks}
+ _err=$?
+ _errmsg2 "error generating skywire config"
+ exit ${_err}
+ fi
+ #logging check
+ if [[ -f /opt/skywire/skywire.json ]]; then
+ _msg3 "${_blue}Skywire${_nc} configuration updated
+config path: ${_purple}/opt/skywire/skywire.json${_nc}"
+ if [[ ! -f /etc/skywire-config.json ]]; then
+ _msg2 "backing up configuration to /etc/skywire-config.json"
+ cp -b /opt/skywire/skywire.json /etc/skywire-config.json
+ fi
+ else
+ _errmsg2 "expected config file not found at /opt/skywire/skywire.json"
+ exit 100
+ fi
+}
+
+#only use public rpc flag with env PUBLICRPC=1
+if [[ ( ${PUBLICRPC} -eq "1") ]]; then
+ _public_rpc="--publicrpc "
+fi
+#enable VPN server automatically on config re-gen with env VPNSERVER=1
+if [[ ${VPNSERVER} -eq "1" ]]; then
+ _vpn_server="--servevpn "
+fi
+#default to retaining hypervisors already set
+_retain_hv="-x"
+#use test deployment instead of production with env TESTENV=1
+if [[ ${TESTENV} -eq "1" ]]; then
+ _test_env="--testenv"
+fi
+#check if >>this script<< is a child process of the systemd service i.e.: run in dmsgpty terminal
+if [[ "${SYSTEMDCHILD}" -ne "1" ]]; then
+ _now="--now"
+fi
+
+#root portion of the config
+_msg2 "Configuring skywire"
+#attempt to import config if none exists - i.e. import skybian config or restore config
+if [[ ! -f /opt/skywire/skywire.json ]]; then
+ if [[ -f /etc/skywire-config.json ]]; then
+ _warnmsg1 "Importing configuration from /etc/skywire-config.json"
+ cp -b /etc/skywire-config.json /opt/skywire/skywire.json
+ fi
+fi
+#config generation
+_config_gen
+_svc=skywire
+if [[ $SKYBIAN == "true" ]]; then
+ _msg3 "Enabling ${_svc} service${_now/--/ and starting }..
+ systemctl enable ${_now} ${_svc}.service"
+systemctl enable ${_now} ${_svc}.service 2> /dev/null
+fi
+if [[ $DMSGPTYTERM == "1" ]]; then
+ if [[ ${_now} != "--now" ]]; then
+ _msg3 "Please restart ${_svc} service manually:
+ ${_red}systemctl restart ${_svc} 2> /dev/null${_nc}"
+ exit 0
+ else
+ _msg3 "Please shut down your visor and start it again with:
+ ${_red}systemctl start ${_svc} 2> /dev/null${_nc}"
+ exit 0
+ fi
+fi
+#restart the service
+ systemctl is-active --quiet ${_svc} && _msg3 "Restarting skywire.service..." && systemctl restart ${_svc} 2> /dev/null
+if ! systemctl is-active --quiet ${_svc} >/dev/null; then
+ _msg2 "Start the skywire service with:
+ ${_red}systemctl start ${_svc}${_nc}"
+ exit 0
+fi
+_pubkey=$(skywire-cli visor pk -p | tail -n1)
+_msg2 "Visor Public Key:
+${_green}${_pubkey}${_nc}"
+if [[ $_is_hypervisor == "-i" ]]; then
+ if [[ $(ps -o comm= -p $PPID) != "sshd" ]]; then
+ _msg2 "Starting now on:
+${_red}http://127.0.0.1:8000${_nc}"
+ _vpnurl=$(skywire-cli hv vpn url -p)
+ _msg2 "Use the vpn:
+${_red}${_vpnurl}${_nc}"
+# ${_red}http://127.0.0.1:8000/#/vpn/${_pubkey}/${_nc}"
+ fi
+ _lanip="$(ip addr show | grep -w inet | grep -v 127.0.0.1 | awk '{ print $2}' | cut -d "/" -f 1)"
+ _msg2 "Access hypervisor UI from local network here:
+${_yellow}http://${_lanip}:8000${_nc}"
+ _welcome
+ _msg2 "run the following command on OTHER NODES to set this one as the hypervisor:"
+ echo -e "${_cyan}skywire-autoconfig ${_yellow}${_pubkey}${_nc}"
+ _msg2 "to see this text again run: ${_cyan}skywire-autoconfig${_nc}"
+else
+ _msg2 "${_blue}Skywire${_nc} starting in visor mode"
+ _msg2 "Visor Public Key: ${_green}${_pubkey}${_nc}"
+ _welcome
+fi
diff --git a/skywire-autoconfig.service b/skywire-autoconfig.service
new file mode 100644
index 000000000000..06a9af51c1b6
--- /dev/null
+++ b/skywire-autoconfig.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=skywire-autoconfig
+After=systemd-networkd.service network.target armbian-firstrun.service armbian-resize-filesystem.service systemd-user-sessions.service network-online.target systend-networkd-wait-online.service NetworkManager-wait-online.service
+Before=skywire.service skywire-visor.service
+Wants=network-online.target
+
+[Service]
+Type=forking
+User=root
+Group=root
+Environment="SYSTEMDCHILD=1"
+ExecStart=/usr/bin/skywire-autoconfig
+
+[Install]
+WantedBy=multi-user.target
diff --git a/skywire.png b/skywire.png
new file mode 100644
index 000000000000..5e8a58e621dd
--- /dev/null
+++ b/skywire.png
Binary files differ
diff --git a/skywire.service b/skywire.service
new file mode 100644
index 000000000000..758ab507e328
--- /dev/null
+++ b/skywire.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Skywire
+Before=skywire-visor.service
+Conflicts=skywire-visor.service
+Wants=network-online.target
+
+[Service]
+Type=simple
+User=root
+Group=root
+Environment="SYSTEMDCHILD=1"
+ExecStart=/usr/bin/skywire -p
+Restart=on-failure
+RestartSec=20
+TimeoutSec=30
+
+[Install]
+WantedBy=multi-user.target
diff --git a/skywirevpn.png b/skywirevpn.png
new file mode 100644
index 000000000000..e816d1bada4a
--- /dev/null
+++ b/skywirevpn.png
Binary files differ
diff --git a/updates.sh b/updates.sh
index d1cb946296e4..2cf663f4a16f 100755
--- a/updates.sh
+++ b/updates.sh
@@ -2,7 +2,7 @@
#re-archive the scripts and update the checksums, etc.
#NOTE THAT THIS EXPECTS THE SCRIPTS HAVE BEEN EDITED LOCALLY
#git pull and tar -xf skywire-scripts.tar.gz before commiting and pushing
-tar -hczvf skywire-scripts.tar.gz skywire-scripts
+#tar -hczvf skywire-scripts.tar.gz skywire-scripts
#reset the pkgver to autogenerated
_version=$(git ls-remote --tags --refs --sort="version:refname" https://github.com/skycoin/skywire.git | tail -n1)
_version=${_version##*/}
@@ -30,5 +30,5 @@ makepkg --printsrcinfo > .SRCINFO
sha256sum skywire-scripts.tar.gz
echo "don't forget to increment pkgrel if you edited the PKGBUILD"
echo
-echo "git add -f ${_debPKGBUILD} ${_ccdebPKGBUILD} ${_devPKGBUILD} ${_gitPKGBUILD} PKGBUILD .SRCINFO skywire-scripts.tar.gz updates.sh test.sh"
+echo "git add -f ${_debPKGBUILD} ${_ccdebPKGBUILD} ${_devPKGBUILD} ${_gitPKGBUILD} PKGBUILD .SRCINFO skywire-autoconfig com.skywire.Skywire.desktop com.skywirevpn.SkywireVPN.desktop skywirevpn.png skywire.png skywire.service skywire-autoconfig.service updates.sh test.sh"
echo 'git commit -m " "'