Plexus provides tools to easily manage private wireguard networks.
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.
- 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
- script will ask for
- 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
- 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>
- Language: Go
- HTTP Framework: Gin
- FrontEnd Framework: html/htmx
- CSS Library: w3schools
- Database(key/value): bbolt
- Pub/Sub Broker: nats.io
- Automatic SSL Certificates: certmagic
WireGuard and the WireGuard logo are registered trademarks of Jason A. Donenfeld.
Please use Issues or Discussions for support requests