• Stars
    star
    161
  • Rank 233,470 (Top 5 %)
  • Language
    TypeScript
  • Created over 7 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Skywire Meshnet and VPN

skywire logo

NOTE: This repo is no longer actively maintained. Please check out the new Skywire Testnet and Mainnet repos.

Skywire

Other languages:

Links:

Skywire is still under heavy development.

2018-01-21 10 44 06

Table of Contents

Requirements

Install

First take a look at the script integration README to know a few facts ant tips that will help you to understand how Skywire is integrated to the Unix systems, very important is the part of the Network Policies.

Now if you read that you must realize that if you use a different IP set you will need to change a few things, we will point them out when needed.

Unix systems

mkdir -p $GOPATH/src/github.com/skycoin
cd $GOPATH/src/github.com/skycoin
git clone https://github.com/skycoin/skywire.git

Build the binaries for skywire

cd $GOPATH/src/github.com/skycoin/skywire/cmd
go install ./...

Set the IP of the manager

If you are using the default network IP set you are set, follow to the next step.

If you uses a different IP set you need to modify the file in static/script/skywire.defaults, in particular the variable called MANAGER_IP in the default file it points to the default manager IP, in the case of a different IP set this will need to be changed to the manager IP.

Just for a matter of precaution, after modify this file be sure that there isn't a fille called /etc/default/skywire if it's there erase it. It will be updated once you run skywire.

Run Skywire

Unix systems

Run Skywire Manager

cd $GOPATH/bin
./skywire-manager -web-dir ${GOPATH}/src/github.com/skycoin/skywire/static/skywire-manager

tip: If you run with the above command, you will not be able to close the current window or you will close Skywire Manger.

If you need to close the current window and continue to run Skywire Manager, you can use

cd $GOPATH/bin
nohup ./skywire-manager -web-dir ${GOPATH}/src/github.com/skycoin/skywire/static/skywire-manager > /dev/null 2>&1 &sleep 3

Note: do not execute the above two commands at the same time, just select one of them.

Run Skywire Node

Open a new command window

cd $GOPATH/bin
./skywire-node -connect-manager -manager-address 127.0.0.1:5998 -manager-web 127.0.0.1:8000 -discovery-address testnet.skywire.skycoin.com:5999-028ec969bdeb92a1991bb19c948645ac8150468a6919113061899051409de3f243 -address :5000 -web-port :6001 

tip: If you run with the above command, you will not be able to close the current window or you will close Skywire Node.

If you need to close the current window and continue to run Skywire Manager, you can use

cd $GOPATH/bin
nohup ./skywire-node -connect-manager -manager-address :5998 -manager-web :8000 -discovery-address testnet.skywire.skycoin.com:5999-028ec969bdeb92a1991bb19c948645ac8150468a6919113061899051409de3f243 -address :5000 -web-port :6001 > /dev/null 2>&1 &cd /

Stop Skywire Manager and Node.

  1. If the Skywire Manager and Node are started by using the terminal window, please press Ctrl + c on the respective terminal of Manager and Node.

  2. Use the shutdown terminal to keep running, please enter:

Stop Skywire Manager
cd $GOPATH/bin
pkill -F manager.pid
Stop Skywire Node
cd $GOPATH/bin
pkill -F node.pid

Official Images

Run Skywire Manager

Open a command window on a PC that will act like a manager and follow the install procedure, then to start a node do this:

${GOPATH}/src/github.com/skycoin/skywire/static/script/manager_start

tip: the manager start script will also run a local node, you don't need to run in manually on the manager.

Run Skywire Node

Open a command window on a node only computer and follow the install procedure, then to start a node:

${GOPATH}/src/github.com/skycoin/skywire/static/script/node_start

tip: the node is instructed to connect to the manager IP automatically, if you use a non default IP set you must check the file "/etc/default/skywire" and change the MANAGER_IP variable on each Pc of your setup.

This two files are the default start script for skywire services, take a peek on them to know more if yu are interested.

Stop Skywire Manager and Node.

If you started the manager and the nodes by the ways stated above you can stop them on each Pc by this command on a console:

${GOPATH}/src/github.com/skycoin/skywire/static/script/stop

This will check for the pid of the running processes and kill them. If you ran them by hand using a call to a the specific manager or node binaries this will not stop them, in this case you must run this:

killall node
killall manager
Installing the manager and node as a service using systemd

If you use a modern Linux OS (released after 2017) you are using systemd as init manager, skywire has the files needed to make them a service inside systemd.

Please note that the manager instance will start also a local node, so you must select just a manager on a net and the rest will be nodes.

Installing & start of mananger unit file on systemd
cp ${GOPATH}/src/github.com/skycoin/skywire/static/script/upgrade/data/skywire-manager.service /etc/systemd/system/
systemctl enable skywire-manager
systemctl start skywire-manager
Installing & start of nodes unit file on systemd
cp ${GOPATH}/src/github.com/skycoin/skywire/static/script/upgrade/data/skywire-node.service /etc/systemd/system/
systemctl enable skywire-node
systemctl start skywire-node

From this point forward you can user this services to start/stop your skywire instances via systemd commands:

# for the nodes
systemctl *start* skywire-node
systemctl *stop* skywire-node
systemctl *status* skywire-node
# for the manager
systemctl *start* skywire-manager
systemctl *stop* skywire-manager
systemctl *status* skywire-manager

Open Skywire Manager View

Open http://localhost:8000. The default login password for Skywire manager is 1234.

Connect to node

  1. Connect to node โ€”โ€” Search services โ€”โ€” Connect

  2. Connect to node โ€”โ€” Enter the key for node and app โ€”โ€” Connect

In the first way, you can search for nodes around the world, and select the nodes you want to connect to; The second way is to connect to the specified node.

Use Skywire App

After the default normal start, the App will display "** available port **" (e.g. 9443) after successful connection.

Use Firefox Browser

Install FoxyProxy Standard

Open Firefox Browser,address bar input"https://addons.mozilla.org/zh-CN/firefox/addon/foxyproxy-standard/", Click "add to Firefox" button to follow the prompts to install.

Configuration FoxyProxy Standard

After the installation is complete, browse the Firefox address bar enter about: "addons" into the plugin page, find FoxyProxy "Standard" and click on the preferences into the configuration page < br > select "Use Enabled Proxies By Patterns and Priority" enable FoxyProxy < br > Click "Add" to Add the configuration,

Proxy Type: SOCKS5
IP address, DNS name, server name: 127.0.0.1
Port: 9443

And then finally click "Save"

SSH tool

SSH

After this service is opened, the application public key will be generated. Based on the public key of the node and the public key, the node can be managed remotely in any machine running Skywire.

Note: do not open SSH at will, and show the Node Key and App Key to strangers.

SSH Client

Enter Node Key and App Key. After the connection is successful, the Port (Port) will be displayed under the button, for example, 30001, and finally, use any SSH remote connection tool connection.

Docker

docker build -t skycoin/skywire .

Start the manager

docker run -ti --rm \
  --name=skywire-manager \
  -p 5998:5998 \
  -p 8000:8000 \
  skycoin/skywire

Note: The images of skywire for ARM v5 and v7 are built upon busybox whereas the ARM v6 and v8 containers will run on alpine.

Open http://localhost:8000. The default login password for Skywire manager is 1234.

Start a node and connect it to the manager

docker volume create skywire-data
docker run -ti --rm \
  --name=skywire-node \
  -v skywire-data:/root/.skywire \
  --link skywire-manager \
  -p 5000:5000 \
  -p 6001:6001 \
  skycoin/skywire \
    node \
      -connect-manager \
      -manager-address skywire-manager:5998 \
      -manager-web skywire-manager:8000 \
      -address :5000 \
      -web-port :6001 \
      -discovery-address testnet.skywire.skycoin.com:5999-028ec969bdeb92a1991bb19c948645ac8150468a6919113061899051409de3f243

Docker Compose

docker-compose up

Open http://localhost:8000.

Download System Images

Note: these images can only be run on Orange Pi Prime.

Skyflash & Skybian

We developed our own custom flashing tool that prepares & flashes our custom OS Skybian for operation on our Skyminers. Skybian is our custom OS built upon armbian. It comes with Skywire and its dependencies preinstalled and its IP configuration is adjusted by Skyflash according to your network environment. Please refer to the installation guide on our wiki for more details & instructions.

Official Skyminer Skybian Images

We are hosting eight (8) prepared Skybian images which are ready to use, i.e. you only need to flash them. They come with the default official Skyminer IP ranges:

  • manager: 192.168.0.2
  • node 1: 192.168.0.3
  • node 2: 192.168.0.4
  • node 3: 192.168.0.5
  • node 4: 192.168.0.6
  • node 5: 192.168.0.7
  • node 6: 192.168.0.8
  • node 7: 192.168.0.9

In case you cannot operate the official Skyminer in its default IP configuration you must use Skyflash to change the IP addresses on the images.

The images are hosted here. Make sure to select the most recent Skybian version, please refer to the Skybian releases.

More Repositories

1

skycoin

Skycoin Core and Wallet
Go
585
star
2

skywire

Skywire Node implementation
Go
72
star
3

cx

A new programming language for blockchain.
Go
43
star
4

cxo

CX Object System
Go
36
star
5

whitepapers

whitepapers
34
star
6

bbs

Go
31
star
7

skycoin-exchange

DEPRECATED DO NOT USE
Go
27
star
8

skycoin-explorer

Skycoin blockchain explorer
TypeScript
18
star
9

exchange-api

Golang API wrappers with CLI for cryptocurrency exchanges
Go
17
star
10

services

Incubator repo for various services
Go
16
star
11

skycoin-web

Webclient for Skycoin
TypeScript
16
star
12

skybian

Base image for Skywire boards. Available for Orange and Raspberry Pi.
Shell
16
star
13

teller

Skycoin exchange service
Go
15
star
14

net

DEPRECATED: Moved to https://github.com/skycoin/skywire/tree/master/pkg/net
Go
15
star
15

pyskycoin

Skycoin Python client library
Python
13
star
16

skycoin-mobilewallet

DEPRECATED. Not in use and not production ready
TypeScript
13
star
17

Orange-Pi-H5

Orange Pi H5 images for Skyminer
12
star
18

docs

Developer information
CSS
12
star
19

hardware-wallet

Firmware and Bootloader for the Skywallet.
C
11
star
20

cx-chains

Execute CX programs on blockchain. Turing complete blockchain virtual machine.
Go
11
star
21

cx-games

Makefile
11
star
22

viscript

Go
10
star
23

skywire-updater

Go
10
star
24

arena

9
star
25

skyhash

JavaScript
9
star
26

cxfx

Makefile
8
star
27

cx-website

TypeScript
8
star
28

libskycoin

C
8
star
29

utilities

Go
8
star
30

skycoin-notebooks

Access to Skycoin client libraries from Jupyter notebooks
7
star
31

skycoin-cipher-web

DEPRECATED: Use
JavaScript
7
star
32

skywire-discovery

Discovery server used by skywire
Go
7
star
33

skyledger-blog

blog.skyledger.net
7
star
34

homebrew-skycoin

Homebrew formula for installing Skycoin projects and dependencies on OS X
Ruby
7
star
35

skyencoder

Code-generation based encoder for Skycoin
Go
7
star
36

dmsg

dmsg
Go
7
star
37

repo-info

Metadata for all Docker images built for the Skycoin project
Shell
7
star
38

cx-game

Game Prototype
Go
7
star
39

skyaway

Go
6
star
40

dmsg-deprecated

Distributed messaging system for Skywire
Go
6
star
41

skycoin-osx-vpn

Objective-C
6
star
42

skycoin-lite

Skycoin mobile/js bindings
Go
6
star
43

cx-evolves

Go
6
star
44

httputils

HTTP related utilities for Go.
Go
6
star
45

coinhour-bank-issues

Public issue tracker for the Coin Hour Bank
6
star
46

ledger-nano

Ledger Nano integration for Skycoin
C
6
star
47

examples

Go
6
star
48

hardware-wallet-go

C
5
star
49

skyflash

GUI tool to flash Skybian for Skyminer on SD card images of any kind
Python
5
star
50

cx-gui-helper

Go
5
star
51

cx-book

TeX
5
star
52

hardware-wallet-manual

Skywallet User Manual
4
star
53

User-Manuals

Repo for User Manuals pertaining to the Skycoin ecosystem.
4
star
54

git-telegram-bot

Bot that polls activity API for Github organisation and pushes updates to Telegram.
Go
4
star
55

skylight

CX Game
4
star
56

encodertest

Test utilities for the skycoin encoder
Go
3
star
57

gomobile

Go
3
star
58

nex

Go
3
star
59

gltext

Go
2
star
60

AUR

Shell
2
star
61

wiki

Contains source code for the Skycoin Wiki
HTML
2
star
62

skycoin-node-deploy

Tools for deploying Skycoin nodes
Shell
2
star
63

obelisk

obelisk consensus algorithm prototype for Skycoin 1.0
Go
1
star
64

hardware-wallet-protob

Makefile
1
star
65

cx-tracker

CX chain spec and node tracker.
Go
1
star
66

hardware-wallet-daemon

Go
1
star
67

cx-space-arena

Go
1
star
68

cx-cats

digital cat generator
Go
1
star
69

dmsg-http

1
star
70

skywire-utilities

Go
1
star
71

Linux_SkyminerV2

1
star