SamNet-dev
wg-orchestrator
Shell

Complete WireGuard VPN management made easy. Zero-touch deployment with beautiful TUI & Web UI. One script = full VPN appliance.

Last updated Jul 3, 2026
93
Stars
15
Forks
0
Issues
0
Stars/day
Attention Score
55
Language breakdown
Shell 52.1%
Go 31.4%
JavaScript 11.0%
CSS 4.7%
Dockerfile 0.7%
HTML 0.0%
โ–ธ Files click to expand
README

 โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— โ•‘                                                                                       โ•‘ โ•‘  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—      โ–ˆโ–ˆโ•—    โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—       โ•‘ โ•‘  โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•      โ–ˆโ–ˆโ•‘    โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•       โ•‘ โ•‘  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—     โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘ โ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ–ˆโ•—      โ•‘ โ•‘  โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•     โ–ˆโ–ˆโ•‘   โ•šโ•โ•โ•โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘      โ•‘ โ•‘  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ•šโ•โ• โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•‘         โ•šโ–ˆโ–ˆโ–ˆโ•”โ–ˆโ–ˆโ–ˆโ•”โ•โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•      โ•‘ โ•‘  โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•  โ•šโ•โ•โ•šโ•โ•     โ•šโ•โ•โ•šโ•โ•  โ•šโ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•   โ•šโ•โ•          โ•šโ•โ•โ•โ•šโ•โ•โ•  โ•šโ•โ•โ•โ•โ•โ•       โ•‘ โ•‘                                                                                       โ•‘ โ•‘                      Z E R O - T O U C H   W I R E G U A R D                          โ•‘ โ•‘                        V P N   O R C H E S T R A T O R                                โ•‘ โ•‘                                                                                       โ•‘ โ•‘                             [ v1.0.4 - samnet-wg ]                                    โ•‘ โ•‘                                                                                       โ•‘ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• 

Version License [Platform]() [WireGuard]()

One script. Full deployment. Complete control.


โ“ What is it?

SamNet-WG is a complete, enterprise-grade WireGuard VPN management solution that transforms any Linux server into a secure VPN appliance in under 5 minutes.

It features a unique Dual-Control Plane architecture:

  • High-Performance TUI: A beautiful, flicker-free terminal interface for zero-latency management.
  • Modern Web Dashboard: A synced, React-based web UI for remote administration.
Unlike standard scripts, SamNet-WG includes a bi-directional sync engine, ensuring that changes made in the terminal (CLI) are instantly reflected in the API/Web UI, and vice versa.


๐Ÿ“ธ Screenshots


๐ŸŒ Web User Interface

Modern React-based dashboard for remote administration

SamNet-WG Web UI


โœจ Features

๐Ÿ›ก๏ธ Security First

  • Zero-Trust Architecture: Strict IP validation and "Ghost Peer" prevention.
  • Scoped Uninstall: Only project=samnet-wg labeled containers/images are removed.
  • Non-Root Services: API and UI run as unprivileged users in Docker.

๐ŸŽฎ Interactive CLI (TUI)

  • Smart Refresh: Flicker-free interface updates using tput and SIGWINCH handling.
  • System Transparency: "About" screen explicitly lists all file paths.
  • Auto-Init: Bandwidth tracking and databases initialize automatically.
  • Context Preservation: Deep navigation menus that don't reset on refresh.

๐Ÿ”ฅ Firewall Management

  • Integrated Port Manager: Manage open ports directly from the TUI (TCP/UDP support).
  • Smart Detection: Automatically detects and whitelists existing services (Web, DB, Monitoring) during install.
  • Docker Compatible: Runs safely alongside other containers without interfering with Docker networking.
  • Mode Awareness: Detects existing firewalls (UFW/iptables) and adapts automatically.

๐ŸŒ Management

  • Sync Engine: Edit files manually, use the CLI, or use the Web UIโ€”it all stays in sync.
  • Bandwidth Limits: Enforce data caps per peer (e.g., "10GB/month").
  • Visualizations: ASCII graphs for bandwidth usage directly in the terminal.
  • QR Codes: Instant mobile client onboarding.

๐Ÿš€ Quick Start

One-Line Install (Recommended)

curl -sSL https://raw.githubusercontent.com/SamNet-dev/wg-orchestrator/main/install.sh | sudo bash

This downloads SamNet-WG and launches the interactive setup wizard where you can:

  • Configure your VPN subnet
  • Choose Web UI or CLI-only mode
  • Set up firewall rules
  • Create your first peer

Manual Install

git clone https://github.com/SamNet-dev/wg-orchestrator.git
cd wg-orchestrator
sudo ./samnet.sh

Zero-Touch Install (Scripted/Automated)

curl -sSL https://raw.githubusercontent.com/SamNet-dev/wg-orchestrator/main/install.sh | sudo bash -s -- --zero-touch

Web UI Default Login: admin / changeme


๐Ÿ’ป Usage

Terminal Interface

sudo samnet    # Launch main menu

| Key | Menu Option | Description | |:---:|-------------|-------------| | 1 | ๐Ÿ“Š Status Dashboard | System overview & health | | 2 | ๐Ÿ”ง Install / Repair | Zero-touch setup & self-healing | | 3 | ๐Ÿ‘ฅ Peer Management | Create, list, limit, & edit peers | | 4 | ๐Ÿ” Security & Access | Audit logs, user roles | | 5 | ๐Ÿ“ˆ Observability | Live stats, graphs, & logs | | 6 | โš™๏ธ Advanced Tools | Firewall diff, backup, dry-run | | 7 | ๐Ÿ“– About / Docs | System paths & project info | | 8 | ๐Ÿ—‘๏ธ Uninstall | Safe, scoped removal | | Q | ๐Ÿšช Quit | Exit the application |

Common Operations

# Add a new peer
sudo samnet โ†’ Peers โ†’ Add Peer โ†’ Enter name โ†’ Scan QR

Create temporary access (auto-expires)

sudo samnet โ†’ Peers โ†’ Add Peer โ†’ Temporary โ†’ Set days

View live traffic

sudo samnet โ†’ Observability โ†’ Traffic Stats

Uninstall securely

sudo samnet --uninstall

Update to latest version

sudo samnet --update

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                              SamNet-WG                                  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”               โ”‚
โ”‚  โ”‚   samnet.sh  โ”‚โ—„โ”€โ”€โ–บโ”‚   API (Go)   โ”‚โ—„โ”€โ”€โ–บโ”‚  UI (React)  โ”‚               โ”‚
โ”‚  โ”‚   CLI / TUI  โ”‚    โ”‚  Port 8766   โ”‚    โ”‚  Port 8080   โ”‚               โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜               โ”‚
โ”‚         โ”‚                   โ”‚                   โ”‚                       โ”‚
โ”‚         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                       โ”‚
โ”‚                   โ”‚         โ”‚ (Sync Engine)                             โ”‚
โ”‚          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                                  โ”‚
โ”‚          โ”‚    State (SQLite + FS)    โ”‚                                  โ”‚
โ”‚          โ”‚  /var/lib/samnet-wg/      โ”‚                                  โ”‚
โ”‚          โ”‚  /opt/samnet/clients/     โ”‚                                  โ”‚
โ”‚          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                  โ”‚
โ”‚                   โ”‚                                                     โ”‚
โ”‚          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                                            โ”‚
โ”‚          โ”‚   WireGuard     โ”‚                                            โ”‚
โ”‚          โ”‚   Kernel Mod    โ”‚                                            โ”‚
โ”‚          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                            โ”‚
โ”‚                                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“ File Locations

We believe in full system transparency. Here is exactly where SamNet-WG stores its data:

| Path | Description | |------|-------------| | /opt/samnet/ | Main installation directory (scripts, binaries). | | /opt/samnet/clients/ | Generated peer configuration files (.conf). | | /var/lib/samnet-wg/ | SQLite database and persistent application state. | | /var/log/samnet-wg/ | Application logs (rotated automatically). | | /etc/wireguard/ | WireGuard interface configuration (wg0.conf). | | /root/.samnet-wginitialcredentials | Initial admin credentials (delete after use). |


๐Ÿ”’ Security

  • Argon2id password hashing.
  • CSRF tokens on all state-changing API requests.
  • Strict Input Validation preventing "Ghost Peers" (0.0.0.0 IPs).
  • Constant-time auth comparisons.
  • Docker Pruning Scoped to project=samnet-wg labels to avoid touching your other containers.

๐Ÿ“‹ Requirements

  • OS: Debian 11+, Ubuntu 20.04+, Raspberry Pi OS
  • RAM: 512 MB minimum
  • Disk: 100 MB for CLI, 500 MB with Docker
  • Network: Public IP or port forwarding (UDP 51820)

๐Ÿ—บ๏ธ Roadmap

โœ… Recently Shipped (v1.0.4)

| Feature | Description | |---------|-------------| | ๐Ÿš€ One-Line Install | curl -sSL ... \| bash for instant deployment | | ๐Ÿ”„ Auto-Update | samnet --update to upgrade without reinstalling |

Stay tuned for updates!


๐Ÿค Contributing

Contributions welcome!

# Development setup
git clone https://github.com/SamNet-dev/wg-orchestrator.git
cd wg-orchestrator

Test changes in debug mode

sudo ./samnet.sh --debug

๐Ÿ“„ License

MIT License - See LICENSE for details.


Built with โค๏ธ by [Sam]

๐Ÿ’– Support

If this project helps you, consider supporting continued development:

samnet.dev/donate

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท SamNet-dev/wg-orchestrator ยท Updated daily from GitHub