Skip to content

skywire bin

Moses Narrow edited this page Jul 2, 2022 · 5 revisions

skywire-bin

skywire-bin AUR

AUR source repo

https://aur.archlinux.org/skywire-bin.git

Builds

PKGBUILD
cc.deb.PKGBUILD

Binaries

  • skywire-visor
  • skywire-cli

App Binaries

  • vpn-server
  • vpn-client
  • skysocks
  • skysocks-client
  • skychat

Installation path

$ tree -l
/
├── opt
│   └── skywire
│       ├── apps
│       │   ├── skychat
│       │   ├── skysocks
│       │   ├── skysocks-client
│       │   ├── vpn-client
│       │   └── vpn-server
│       ├── bin
│       │   ├── skywire-cli
│       │   └── skywire-visor
│       ├── dmsghttp-config.json
│       ├── local
│       └── scripts
│           ├── skywire-autoconfig
│           └── skywire-autoconfig.sh
└── usr
    ├── bin
    │   ├── skychat -> ../../opt/skywire/apps/skychat
    │   ├── skysocks -> ../../opt/skywire/apps/skysocks
    │   ├── skysocks-client -> ../../opt/skywire/apps/skysocks-client
    │   ├── skywire -> ../../opt/skywire/bin/skywire-visor
    │   ├── skywire-autoconfig -> ../../opt/skywire/scripts/skywire-autoconfig
    │   ├── skywire-cli -> ../../opt/skywire/bin/skywire-cli
    │   ├── skywire-visor -> ../../opt/skywire/bin/skywire-visor
    │   ├── vpn-client -> ../../opt/skywire/apps/vpn-client
    │   └── vpn-server -> ../../opt/skywire/apps/vpn-server
    ├── lib
    │   └── systemd
    │       └── system
    │           ├── skywire-autoconfig.service
    │           ├── skywire.service
    │           └── skywire-visor.service
    └── share
        ├── applications
        │   ├── com.skywire.Skywire.desktop
        │   └── com.skywirevpn.SkywireVPN.desktop
        └── icons
            └── hicolor
                └── 48x48
                    └── apps
                        ├── skywire.png
                        └── skywirevpn.png

17 directories, 25 files

PLEASE NOTE: the systemd services for the .deb packages are included in /etc rather than /usr/lib

Script and systemd service reference

script & systemd service archive

  • skywire-autoconfig(.sh)
    • triggered to run by the post-install and on upgrades for all packages
    • geenerates or regenerates a skywire configuration
    • determines the correct systemd service to enable and start by the configuration of remote hyprevisors
    • can take public key as argument to create a visor configuration with remote hypervisor public key
    • can take "0" as argument to reset to the default hypervisor configuration
  • skywire-autoconfig.service
    • enabled by skymanager.service (skybian)
    • systemd service to produce skywire (hypervisor) config & start skywire on boot in the context of installing skywire in a chroot!
  • skywire.service
    • ExecStart=/usr/bin/skywire -pk
  • skywire-visor.service
    • ExecStart=/usr/bin/skywire -p

Skywire-autoconfig environmenntal variables

External

$NOAUTOCONFIG == true

Exit the script immediately after invocaion

$EUID -ne 0

Exit if script invoked as non root

$DMSGPTYTERM -eq "1"

Indicates the script is invoked from the dmsgpty terminal

  • the state of the services must be unchanged and the user prompted to restart at the completion of the configuraton
$SKYBIAN == "true"

Indicates the skywire installation is in the skybian image

  • autostart the correct systemd service || false only restarts a service
$PUBLICRPC -eq "1"

use --publicrpc flag for config gen

$VPNSERVER -eq "1"

use --servevpn flag for config gen

$TESTENV -eq "1"

use -t --testenv flag for config gen

$SYSTEMDCHILD -ne "1"

Determines if the sript was invoked as a child process of the skywire systemd service ; this env is set in the service

  • use the --now flag for systemctl enable and disable to start the

Internally set or state checks

WSYSTEMD=1

Set if skywire is running via systemd

$(ps -o comm= -p $PPID) != "sshd"

Prevents showing link to access the visor from localhost if the script is invoked from ssh session