Mysterium Node - decentralized VPN built on blockchain
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
- Homepage
- Whitepaper
- Latest release
- Snapshot builds - bleeding edge, use at your own risk
- Documentation
- Installation guide
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).