Skywire

Skywire là một mesh network, nó được kì vọng sẽ thay đổi cách thức mà chúng ta giao tiếp qua internet. Hiện tại bạn có thể dùng Skywire như là một VPN xịn với tốc độ khá nhanh. Bài viết này hướng dẫn bạn cài Skywire trên hệ điều hành Linux gốc debian. Tôi đã cài thử và thành công trên Debian, Ubuntu 32bit lẫn 64 bit.

Skywire-Skycoin

Để cài đặt Skywire, bạn cần phải cài:

1. GOLANG: môi trường GO để chạy Skywire Manager & Node
2. Skywire: phần mềm Skywire do nhóm skycoin phát triển

Trước khi cài đặt GOLANG ta tiến hành cập nhật và cài linux dependenci cần thiết

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y curl git mercurial make binutils gcc bzr bison libgmp3-dev screen gcc build-essential

1. Cài đặt GOLANG

Vì skywire chạy bằng ngôn ngữ GO nên phải cài đặt GO trước khi cài skywire

Khai báo phiên bản GO cần cài đặt. Ở đây tôi cài đặt GO 1.10

cd ~ 
export GOV=1.10 # phiên bản golang. Có thể là 1.9, 1.10... tuỳ theo yêu cầu tối thiểu của từng phiên bản skycoin
1.1 Tải và giải nén mã nguồn golang

Tuỳ theo phiên bản hệ điều hành 32 hay 64bit mà tải bản GO tương ứng

64bit

curl -sS https://storage.googleapis.com/golang/go$GOV.linux-amd64.tar.gz > go$GOV.linux-amd64.tar.gz
tar xvf go$GOV.linux-amd64.tar.gz
rm go$GOV.linux-amd64.tar.gz

32bit

curl -sS https://storage.googleapis.com/golang/go$GOV.linux-386.tar.gz > go$GOV.linux-386.tar.gz
tar xvf go$GOV.linux-386.tar.gz
rm go$GOV.linux-386.tar.gz
1.2 Cài đặt GO
sudo mv go /usr/local/go 
sudo ln -s /usr/local/go/bin/go /usr/local/bin/go 
sudo ln -s /usr/local/go/bin/godoc /usr/local/bin/godoc 
sudo ln -s /usr/local/go/bin/gofmt /usr/local/bin/gofmt 

Tạo thư mục GO

mkdir -p $HOME/go
mkdir -p $HOME/go/bin
mkdir -p $HOME/go/src
mkdir -p $HOME/go/pkg

Thiết lập biến $GOPATH

(i) Từ thư mục nhà (cd ~), sửa file .bashrc bằng cách sử dụng lệnh vi (hoặc nano)

vi .bashrc

(ii) Trong vi, thêm vào những dòng sau đây

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN

thiet-lap-bien-GOPATH.jpg

(iii) Bấm Esc 2 lần để thoát, shift colon ( : ), wq, và Enter để lưu

(iv) Load lại đường dẫn (Path) bằng cách sử dụng lệnh sau

source ~/.bashrc 

Đến đây chúng ta đã hoàn tất việc cài đặt GOLANG để có môi trường chạy Skywire. Việc tiếp theo là cài đặt Skywire và chạy thử

2. Cài đặt Skywire

2.1 Cài đặt

Cài đặt skywire bao gồm tải skywire trên github và tạo file chạy skywire manager và skywire node trên hệ điều hành

Tải skywire trên github của nhóm skycoin

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

Tạo file chạy skywire trên Linux

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

2.1 Chạy thử Skywire Manager và Skywire Node

a. Chạy thử Skywire Manager

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

Tip: với lệnh chạy thử ở trên bạn sẽ không thể đóng cửa sổ hiện hành, nếu bạn đóng của sổ hiện hành nó sẽ đóng luôn ứng dụng Skywire Manger. Do đó lệnh ở trên chỉ để xem sự hoạt động ban đầu của Skywire Manager có bị lỗi gì hay không. Sau khi Skywire Manager chạy và không báo lỗi bạn có thể Ctrl + C để ngắt lệnh đang chạy và chạy câu lệnh sau để chạy ngầm ứng dụng Skywire Manager

Lưu ý: không thực thi 2 lệnh bên trên cùng lúc, chỉ chọn 1 trong 2 lệnh.

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

b. Kiểm tra việc chạy thử Skywire Manager

Sau khi chạy Skywire Manager, bạn kiểm tra sự hoạt động của nó bằng cách mở trình duyệt và gõ vào địa chỉ của máy cài skywire:

http://ip_của-máy-cài-skywire:8000 (ví dụ http://192.168.1.10:8000) 
hoặc http://localhost:8000 nếu bạn cài trực tiếp trên máy đang sử dụng.

Bạn đã thành công cài đặt và chạy Skywire Manager nếu trình duyệt hiển thị form đăng nhập của Skywire Manager. Pass đăng nhập mặc định là 1234

c. Chạy thử Skywire Node

Tương tự Skywire Manger, Skywire Node cũng có 2 lệnh tương tương ứng. Bạn chỉ thực hiện 1 trong 2 lệnh và không chạy đồng thời

cd $GOPATH/bin
./node -connect-manager -manager-address 127.0.0.1:5998 -manager-web 127.0.0.1:8000 -discovery-address discovery.skycoin.net:5999-034b1cd4ebad163e457fb805b3ba43779958bba49f2c5e1e8b062482904bacdb68 -address :5000 -web-port :6001
cd $GOPATH/bin
nohup ./node -connect-manager -manager-address :5998 -manager-web :8000 -discovery-address discovery.skycoin.net:5999-034b1cd4ebad163e457fb805b3ba43779958bba49f2c5e1e8b062482904bacdb68 -address :5000 -web-port :6001 > /dev/null 2>&1 &cd /

d. Kiểm tra việc chạy thử Skywire Node

Gõ địa chỉ của máy cài skywire lên trình duyệt và đăng nhập, bạn sẽ thấy node hiển thị sau khi đăng nhập,

Kết nối và sử dụng như socks 5

Bonus: cập nhật GO lang

https://golangcode.com/updating-go-on-ubuntu/

https://skywug.net/forum/Thread-Configure-Skywire-Node-on-Ubuntu-Server

https://github.com/skycoin/skywire

https://github.com/skycoin/skywire/wiki

Kiểm tra uptime của node https://skywirenc.com/