• Stars
    star
    1,096
  • Rank 42,298 (Top 0.9 %)
  • Language
    Go
  • License
    GNU General Publi...
  • Created almost 8 years ago
  • Updated 4 months ago

Reviews

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

Repository Details

Mysterium Network Node - official implementation of distributed VPN network (dVPN) protocol

Mysterium Node - decentralized VPN built on blockchain

Go Report Card pipeline status codecov GoDoc

Cross-platform software to run a node in Mysterium Network. It contains Mysterium server (node), client API (tequila API) and client-cli (console client) for Mysterium Network.

Currently node supports WireGuard as its underlying VPN transport.

Getting Started

Installation options

Debian / Ubuntu / Raspbian

Install latest stable release:

sudo -E bash -c "$(curl -s https://raw.githubusercontent.com/mysteriumnetwork/node/master/install.sh)"

Or install latest snapshot (development build):

SNAPSHOT=true sudo -E bash -c "$(curl -s https://raw.githubusercontent.com/mysteriumnetwork/node/master/install.sh)"

Service logs:

sudo journalctl -u mysterium-node.service

Service status:

sudo systemctl status mysterium-node.service

Installation script tested on these OSes so far: Raspbian 10, Debian 9, Debian 10, Ubuntu 18.04 and Ubuntu 20.04.

Docker

Our docker images can be found in Docker hub.

To run a node in a docker container you will need docker. On Linux, to manage docker as a non-root user (execute commands without sudo), follow postinstall guide. You should be able to run a node on any OS that supports docker. We have tested it on these OSes so far:

  • Debian 9
  • Debian 10
  • Ubuntu 18.04
  • Ubuntu 20.04
  • Ubuntu 22.04
  • Yocto Linux (BalenaOS)

Run node:

docker run \
  --cap-add NET_ADMIN \
  --net host \
  --name myst -d \
  mysteriumnetwork/myst service --agreed-terms-and-conditions

Access service logs:

docker logs -f myst

Further information

More installation options are described in the installation guide. For possible issues while running a node refer to our Troubleshooting guide.

Built With

  • go - The Go Programming Language
  • gitlab - GitLab CI/CD
  • docker - Containerize applications
  • openvpn - Solid VPN solution
  • wireguard - Extremely simple yet fast and modern VPN
  • geth - Official Go implementation of the Ethereum protocol

Contributing

For a detailed guide, please visit our developer docs.

Core contributors

  • Valdas Petrulis - Lead developer, go evangelist, node bootstrapper - Waldz
  • Tadas Valiukas - Senior developer, experienced bug maker - tadovas
  • Donatas Kučinskas - Senior developer, clean code savvy - donce
  • Antanas Masevičius - Network engineer / developer, net guru - zolia
  • Ignas Bernotas - Senior developer, open source enthusiast - ignasbernotas
  • Dmitry Shihovtsev - Senior developer, devops ninja - soffokl
  • Viktoras Kuznecovas - Senior developer, supersonic typing specialist vkuznecovas
  • Tadas Krivickas - Senior fullstack engineer, CI boss, refactoring fairy tadaskay
  • Jaro Šatkevič - Senior developer, micro-payments researcher, crypto maniac chompomonim
  • Andzej Maciusovič - Senior developer, disciplined world changer anjmao
  • Mantas Domaševičius - Senior fullstack engineer, always ready for pair programming mdomasevicius
  • Tomas Mikalauskas - Backend developer, golang lover, payment guru tomasmik
  • Vlad Iarmak - Protocol architect, networking guru, inexhaustible RFC writer Snawoot

See also full list of contributors who participated in this project.

License

This project is licensed under the terms of the GNU General Public License v3.0 (see details).

More Repositories

1

mysterium-vpn-mobile

Mobile client for Mysterium Network
Kotlin
206
star
2

mysterium-vpn-desktop

Mysterium VPN is a Desktop VPN client for Windows, macOS and Linux
TypeScript
194
star
3

go-openvpn

Go
115
star
4

contracts

Python
38
star
5

payments-smart-contracts

Smart contracts for payments flow
Solidity
29
star
6

winter-is-coming

Technical task for developers
26
star
7

api

Python
25
star
8

payments

Golang package/SDK for Mysterium Network payments system
Go
24
star
9

openvpn-forwarder

Forwards Openvpn traffic to Mysterium Network nodes
Go
12
star
10

mysterium-vpn-js

Javascript SDK for Mysterium Node
TypeScript
11
star
11

documentation

JavaScript
8
star
12

wireguard_dart

Wireguard Dart SDK
C++
8
star
13

devbook

Mysterium developer's handbook
SCSS
8
star
14

dvpn-web

TypeScript
7
star
15

go-wondershaper

golang port of wondershaper: utility for limiting an adapter's bandwidth
Go
7
star
16

myst-launcher

Mysterium Exit Node Launcher
Go
7
star
17

node-builds

Snapshot builds
5
star
18

go-ci

Go
5
star
19

discovery

Go
5
star
20

dvpn-desktop-tutorial

Simple tutorial to show how you can build your own dVPN desktop client based on Electron + React
TypeScript
4
star
21

dvpn-desktop

Mysterium VPN is desktop application to access Mysterium Network - decentralized VPN built on blockchain
TypeScript
4
star
22

iqp

IQ protocol implementation in go
Go
3
star
23

everssl

Periodic job for SSL cert monitoring
Go
3
star
24

feedback

Service to collect user feedback
Go
3
star
25

workshop

A demo code for workshop session
TypeScript
3
star
26

mips

Mysterium Improvement Proposals
Go
3
star
27

docs

Mysterium protocol documentation available at http://docs.mysterium.network
Go
3
star
28

metrics

Makefile
2
star
29

js-tequilapi

TypeScript
2
star
30

terms

JavaScript
2
star
31

node_infograph

Shell
2
star
32

mysterium-vpn-release

Place for mysterium-vpn release builds
2
star
33

myst-telegram-bot

MYST token faucet telegram bot for ethereum ropseten testnet
Go
2
star
34

vmbackup

Victoria Metrics daily backup image
Shell
1
star
35

geth

Dockerized version of ethereum geth
Dockerfile
1
star
36

asymmetric-udp-echo

Receives datagram on receiver port, extracts Port and UUID and sends UUID back to originating address on specified Port.
Makefile
1
star
37

screensavers

1
star
38

node-supervisor

Go
1
star
39

nightly

Mysterium network nightly builds
1
star
40

go-dvpn-web

Go
1
star
41

node-js

TypeScript
1
star
42

logger

Logger configured to work with internal k8s infra for internal services
Go
1
star
43

wireproxy

HTTP proxy routing requests through Wireguard tunnel using userspace network stack
Go
1
star
44

token-v2

MYSTv2 token and set of tools for token migration
Solidity
1
star
45

tequilapi-webapp-tutorial

Simple web app that will show us how we can use TequilAPI
TypeScript
1
star
46

ethcheck

Checks via RPC API whether Ethereum full node is alive, up to date and responsive
Go
1
star
47

cocoapodspecs

Cocoapod spec repository
Ruby
1
star
48

xgo

Go CGO cross compiler
Shell
1
star
49

mysterium-checkbot

Slack Bot that checks Mysterium node availability upon user requests
JavaScript
1
star
50

myst-launcher-osx

Mysterium Node Launcher for MacOS
Objective-C
1
star