Skip to content

Latest commit

 

History

History
31 lines (20 loc) · 1.53 KB

DEV_GUIDE.md

File metadata and controls

31 lines (20 loc) · 1.53 KB

Developer's guide to Mysterium VPN desktop app

This desktop app is built with:

  • Typescript - Typed superset of JavaScript that compiles to plain JavaScript
  • Electron - Build cross-platform desktop apps with JavaScript, HTML, and CSS
  • node - Mysterium Node, hereinafter referred to as Node
  • node/supervisor - Supervisor: Background service for installing/running Node
  • mysterium-vpn-js - JS SDK for communicating with Node
  • mobx-react-lite - Simple, scalable state management

Supervisor

Supervisor's job is to start Node when necessary and kill it when its job is done.

Below is a typical communication sequence on a user system where neither Supervisor nor Node is initially running (clean install).

Myst supervisor

Node (Tequilapi)

Desktop app communicates to Node's REST API, aka Tequilapi.
The easiest way to do that is to use JS SDK.
Another possible way is to construct HTTP calls by yourself, consulting documentation.

Below is a typical communication sequence between the App and the Node when establishing a VPN connection.

Node Tequilapi

Further steps

Fork the repository and start hacking!