Skip to content

devilcove/plexus

Repository files navigation

Plexus

tests Go Report Card Go Reference

Plexus provides tools to easily manage private wireguard networks.

Overview

This repository provides the code for plexus-server and plexus-agent. Plexus-server serves the web ui and controls communications with plexus agents for peer and network updates. Plexus-agent runs as a daemon to communicate with the plexus server for peer and network updates. It also provided a cli to register and leave servers and to join/leave networks.

Quick Start

Server

  • Requirements
    • linux VPS with minimum 1CPU/1GB memory (eg. $6 DigitalOcean droplet)
    • DNS record pointing to the IP of your server
    • systemd
    • tcp ports 443 and 4222 -- for server
    • udp ports 51820 -- for agent: additional ports are needed for each network
  • Download install script
  • make script executable (chmod +x install-server.sh)
  • run script (as root)
    • script will ask for
      • FQDN of server
      • email to use with Let's Encrypt
      • name/password for web ui admin user
    • script will install and start plexus-server and plexus-agent daemons
  • log into server web ui
  • create registration key via web ui
  • create network via web ui
  • register agent(s) with server vi agent cli
  • join peer to network : can use server web ui or agent cli

Agent

  • Requirements
    • Linux host with systemd
  • Download install script
  • make script executable (chmod +x install-server.sh)
  • run script (as root)
    • script will install and start plexus-agent daemon
  • copy registration key from server
  • register with server and join network
    plexus-agent register <registraton key>
    plexus-agent join <network name>

Tech Stack

Docs

Legal

WireGuard and the WireGuard logo are registered trademarks of Jason A. Donenfeld.

Support

Please use Issues or Discussions for support requests

coffee